coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
madt.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <acpi/acpi.h>
4 #include <arch/ioapic.h>
5 #include <arch/smp/mpspec.h>
6 
7 unsigned long acpi_fill_madt(unsigned long current)
8 {
9  /* Local APICs */
10  current = acpi_create_madt_lapics(current);
11 
12  /* IOAPIC */
13  current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current, 2, IO_APIC_ADDR, 0);
14 
15  /* INT_SRC_OVR */
17  current, 0, 0, 2, 0);
19  current, 0, 9, 9, MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH);
20 
21  return current;
22 }
unsigned long acpi_create_madt_lapics(unsigned long current)
Definition: acpi.c:144
int acpi_create_madt_irqoverride(acpi_madt_irqoverride_t *irqoverride, u8 bus, u8 source, u32 gsirq, u16 flags)
Definition: acpi.c:187
int acpi_create_madt_ioapic(acpi_madt_ioapic_t *ioapic, u8 id, u32 addr, u32 gsi_base)
Definition: acpi.c:174
#define IO_APIC_ADDR
Definition: ioapic.h:6
unsigned long acpi_fill_madt(unsigned long current)
Definition: madt.c:7
#define MP_IRQ_POLARITY_HIGH
Definition: mpspec.h:124
#define MP_IRQ_TRIGGER_LEVEL
Definition: mpspec.h:129