|
@@ -4100,18 +4100,17 @@ void __init ioapic_init_mappings(void)
|
|
#ifdef CONFIG_X86_32
|
|
#ifdef CONFIG_X86_32
|
|
fake_ioapic_page:
|
|
fake_ioapic_page:
|
|
#endif
|
|
#endif
|
|
- ioapic_phys = (unsigned long)
|
|
|
|
- alloc_bootmem_pages(PAGE_SIZE);
|
|
|
|
|
|
+ ioapic_phys = (unsigned long)alloc_bootmem_pages(PAGE_SIZE);
|
|
ioapic_phys = __pa(ioapic_phys);
|
|
ioapic_phys = __pa(ioapic_phys);
|
|
}
|
|
}
|
|
set_fixmap_nocache(idx, ioapic_phys);
|
|
set_fixmap_nocache(idx, ioapic_phys);
|
|
- apic_printk(APIC_VERBOSE,
|
|
|
|
- "mapped IOAPIC to %08lx (%08lx)\n",
|
|
|
|
- __fix_to_virt(idx), ioapic_phys);
|
|
|
|
|
|
+ apic_printk(APIC_VERBOSE, "mapped IOAPIC to %08lx (%08lx)\n",
|
|
|
|
+ __fix_to_virt(idx) + (ioapic_phys & ~PAGE_MASK),
|
|
|
|
+ ioapic_phys);
|
|
idx++;
|
|
idx++;
|
|
|
|
|
|
ioapic_res->start = ioapic_phys;
|
|
ioapic_res->start = ioapic_phys;
|
|
- ioapic_res->end = ioapic_phys + PAGE_SIZE-1;
|
|
|
|
|
|
+ ioapic_res->end = ioapic_phys + IO_APIC_SLOT_SIZE - 1;
|
|
ioapic_res++;
|
|
ioapic_res++;
|
|
}
|
|
}
|
|
}
|
|
}
|