coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
acpi_tables.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 
6 unsigned long acpi_fill_madt(unsigned long current)
7 {
8  /* create all subtables for processors */
9  current = acpi_create_madt_lapics(current);
10 
11  /* Write Hudson IOAPIC, only one */
12  current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current, CONFIG_MAX_CPUS,
13  IO_APIC_ADDR, 0);
14 
16  current, 0, 0, 2, 0);
18  current, 0, 9, 9, 0xF);
19  /* 0: mean bus 0--->ISA */
20  /* 0: PIC 0 */
21  /* 2: APIC 2 */
22  /* 5 mean: 0101 --> Edge-triggered, Active high */
23 
24  /* create all subtables for processors */
25  current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current, 0xff, 5, 1);
26  /* 1: LINT1 connect to NMI */
27 
28  return current;
29 }
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
int acpi_create_madt_lapic_nmi(acpi_madt_lapic_nmi_t *lapic_nmi, u8 cpu, u16 flags, u8 lint)
Definition: acpi.c:200
#define IO_APIC_ADDR
Definition: ioapic.h:6
unsigned long acpi_fill_madt(unsigned long current)
Definition: acpi_tables.c:17