diff options
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r-- | arch/i386/kernel/smpboot.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 4386e8dd0..85f439978 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c @@ -821,8 +821,9 @@ void __init init_smp_mappings(void) * could use the real zero-page, but it's safer * this way if some buggy code writes to this page ... */ - apic_phys = __pa(alloc_bootmem_pages(PAGE_SIZE)); + apic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE); memset((void *)apic_phys, 0, PAGE_SIZE); + apic_phys = __pa(apic_phys); } set_fixmap(FIX_APIC_BASE, apic_phys); dprintk("mapped APIC to %08lx (%08lx)\n", APIC_BASE, apic_phys); @@ -836,8 +837,9 @@ void __init init_smp_mappings(void) if (smp_found_config) { ioapic_phys = mp_ioapics[i].mpc_apicaddr; } else { - ioapic_phys = __pa(alloc_bootmem_pages(PAGE_SIZE)); + ioapic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE); memset((void *)ioapic_phys, 0, PAGE_SIZE); + ioapic_phys = __pa(ioapic_phys); } set_fixmap(idx,ioapic_phys); dprintk("mapped IOAPIC to %08lx (%08lx)\n", |