IOAPIC: fix bitmask
authorKyösti Mälkki <kyosti.malkki@gmail.com>
Wed, 19 Oct 2011 04:23:51 +0000 (07:23 +0300)
committerPeter Stuge <peter@stuge.se>
Wed, 19 Oct 2011 04:49:38 +0000 (06:49 +0200)
APIC ID is bits 27..24, not 19..16.

Change-Id: Ib53a480bf4328901094ca2c4713e8317321962a1
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/299
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
src/arch/x86/lib/ioapic.c

index 3f6420974611600aead91538220ff5efff809692..81d964cf94ee6dbc5318d8bfc52f002d63c103dc 100644 (file)
@@ -79,7 +79,7 @@ void setup_ioapic(u32 ioapic_base, u8 ioapic_id)
                printk(BIOS_DEBUG, "IOAPIC: ID = 0x%02x\n", ioapic_id);
                /* Set IOAPIC ID if it has been specified. */
                io_apic_write(ioapic_base, 0x00,
-                       (io_apic_read(ioapic_base, 0x00) & 0xfff0ffff) |
+                       (io_apic_read(ioapic_base, 0x00) & 0xf0ffffff) |
                        (ioapic_id << 24));
        }