[SeaBIOS] [seabios PATCH 1/2] acpi: set I/O APIC ID to 0 by default

Eduardo Habkost ehabkost at redhat.com
Thu Jul 19 22:52:41 CEST 2012


When resetting an I/O APIC, its ID is set to 0, so set it to 0 on the
MADT table too.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 src/acpi.c   |    2 +-
 src/config.h |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/acpi.c b/src/acpi.c
index 55e4607..3f55de9 100644
--- a/src/acpi.c
+++ b/src/acpi.c
@@ -335,7 +335,7 @@ build_madt(void)
     struct madt_io_apic *io_apic = (void*)apic;
     io_apic->type = APIC_IO;
     io_apic->length = sizeof(*io_apic);
-    io_apic->io_apic_id = CountCPUs;
+    io_apic->io_apic_id = BUILD_IOAPIC_ID;
     io_apic->address = cpu_to_le32(BUILD_IOAPIC_ADDR);
     io_apic->interrupt = cpu_to_le32(0);
 
diff --git a/src/config.h b/src/config.h
index 3a70867..878c691 100644
--- a/src/config.h
+++ b/src/config.h
@@ -52,9 +52,11 @@
 #define BUILD_PCIMEM64_END        0x10000000000ULL
 
 #define BUILD_IOAPIC_ADDR         0xfec00000
+#define BUILD_IOAPIC_ID           0
 #define BUILD_HPET_ADDRESS        0xfed00000
 #define BUILD_APIC_ADDR           0xfee00000
 
+
 // Important real-mode segments
 #define SEG_IVT      0x0000
 #define SEG_BDA      0x0040
-- 
1.7.10.4




More information about the SeaBIOS mailing list