From: Glauber Costa <[EMAIL PROTECTED]>

apic is not acpi, although they are acronyms. Due to a confusion of
mine, those things were mixed, leading to a bug reported at
https://sourceforge.net/tracker/index.php?func=detail&aid=1903732&group_id=180599&atid=893831

This patch fixes it, by assigning smp_cpus instead of MAX_CPUS to
lapic_id in the MP APIC tables.

Signed-off-by: Glauber Costa <[EMAIL PROTECTED]>
Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/bios/rombios32.c b/bios/rombios32.c
index 9864961..210435d 100755
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -983,7 +983,7 @@ static void mptable_init(void)
     putstr(&q, "ISA   ");
 
     /* ioapic */
-    ioapic_id = MAX_CPUS;
+    ioapic_id = smp_cpus;
     putb(&q, 2); /* entry type = I/O APIC */
     putb(&q, ioapic_id); /* apic ID */
     putb(&q, 0x11); /* I/O APIC version number */
@@ -1426,7 +1426,7 @@ void acpi_bios_init(void)
         io_apic = (void *)apic;
         io_apic->type = APIC_IO;
         io_apic->length = sizeof(*io_apic);
-        io_apic->io_apic_id = MAX_CPUS;
+        io_apic->io_apic_id = smp_cpus;
         io_apic->address = cpu_to_le32(0xfec00000);
         io_apic->interrupt = cpu_to_le32(0);
 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to