blob: eb11c217708c87cbfca67b2a795daed01dee1aa2 [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02002
Furquan Shaikh76cedd22020-05-02 10:24:23 -07003#include <acpi/acpi.h>
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02004#include <arch/ioapic.h>
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +02005#include <arch/smp/mpspec.h>
6
7unsigned long acpi_fill_madt(unsigned long current)
8{
9 /* Local APICs */
10 current = acpi_create_madt_lapics(current);
11
12 /* IOAPIC */
Kyösti Mälkkic0457352021-06-08 06:12:25 +030013 current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
Vladimir Serbinenko33b535f2014-10-19 10:13:14 +020014
15 /* INT_SRC_OVR */
16 current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
17 current, 0, 0, 2, 0);
18 current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
19 current, 0, 9, 9, MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH);
20
21 return current;
22}