diff options
-rw-r--r-- | arch/x86/include/asm/apicdef.h | 6 | ||||
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 11 |
2 files changed, 11 insertions, 6 deletions
diff --git a/arch/x86/include/asm/apicdef.h b/arch/x86/include/asm/apicdef.h index 3b62da926de9..7fe3b3060f08 100644 --- a/arch/x86/include/asm/apicdef.h +++ b/arch/x86/include/asm/apicdef.h | |||
@@ -11,6 +11,12 @@ | |||
11 | #define IO_APIC_DEFAULT_PHYS_BASE 0xfec00000 | 11 | #define IO_APIC_DEFAULT_PHYS_BASE 0xfec00000 |
12 | #define APIC_DEFAULT_PHYS_BASE 0xfee00000 | 12 | #define APIC_DEFAULT_PHYS_BASE 0xfee00000 |
13 | 13 | ||
14 | /* | ||
15 | * This is the IO-APIC register space as specified | ||
16 | * by Intel docs: | ||
17 | */ | ||
18 | #define IO_APIC_SLOT_SIZE 1024 | ||
19 | |||
14 | #define APIC_ID 0x20 | 20 | #define APIC_ID 0x20 |
15 | 21 | ||
16 | #define APIC_LVR 0x30 | 22 | #define APIC_LVR 0x30 |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 20ea8392bc57..ff237199fa23 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -4100,18 +4100,17 @@ void __init ioapic_init_mappings(void) | |||
4100 | #ifdef CONFIG_X86_32 | 4100 | #ifdef CONFIG_X86_32 |
4101 | fake_ioapic_page: | 4101 | fake_ioapic_page: |
4102 | #endif | 4102 | #endif |
4103 | ioapic_phys = (unsigned long) | 4103 | ioapic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE); |
4104 | alloc_bootmem_pages(PAGE_SIZE); | ||
4105 | ioapic_phys = __pa(ioapic_phys); | 4104 | ioapic_phys = __pa(ioapic_phys); |
4106 | } | 4105 | } |
4107 | set_fixmap_nocache(idx, ioapic_phys); | 4106 | set_fixmap_nocache(idx, ioapic_phys); |
4108 | apic_printk(APIC_VERBOSE, | 4107 | apic_printk(APIC_VERBOSE, "mapped IOAPIC to %08lx (%08lx)\n", |
4109 | "mapped IOAPIC to %08lx (%08lx)\n", | 4108 | __fix_to_virt(idx) + (ioapic_phys & ~PAGE_MASK), |
4110 | __fix_to_virt(idx), ioapic_phys); | 4109 | ioapic_phys); |
4111 | idx++; | 4110 | idx++; |
4112 | 4111 | ||
4113 | ioapic_res->start = ioapic_phys; | 4112 | ioapic_res->start = ioapic_phys; |
4114 | ioapic_res->end = ioapic_phys + PAGE_SIZE-1; | 4113 | ioapic_res->end = ioapic_phys + IO_APIC_SLOT_SIZE - 1; |
4115 | ioapic_res++; | 4114 | ioapic_res++; |
4116 | } | 4115 | } |
4117 | } | 4116 | } |