blob: fe65afaea2092f789a0b23ce3bb3209ee09b18b1 [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02003
Furquan Shaikh76cedd22020-05-02 10:24:23 -07004#include <acpi/acpi.h>
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02005#include <arch/ioapic.h>
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02006#include <arch/smp/mpspec.h>
7
8unsigned long acpi_fill_madt(unsigned long current)
9{
10 /* Local APICs */
11 current = acpi_create_madt_lapics(current);
12
13 /* IOAPIC */
Elyes HAOUASc98f2ea2020-04-07 16:38:32 +020014 current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current, 2, IO_APIC_ADDR, 0);
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +020015
16 /* INT_SRC_OVR */
17 current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
18 current, 0, 0, 2, 0);
19 current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
20 current, 0, 9, 9, MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH);
21
22 return current;
23}