|
@@ -1859,6 +1859,7 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
|
|
|
#endif /* CONFIG_X86_64 */
|
|
|
|
|
|
static unsigned char dummy_mapping[PAGE_SIZE] __page_aligned_bss;
|
|
|
+static unsigned char fake_ioapic_mapping[PAGE_SIZE] __page_aligned_bss;
|
|
|
|
|
|
static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
|
|
|
{
|
|
@@ -1899,7 +1900,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
|
|
|
* We just don't map the IO APIC - all access is via
|
|
|
* hypercalls. Keep the address in the pte for reference.
|
|
|
*/
|
|
|
- pte = pfn_pte(PFN_DOWN(__pa(dummy_mapping)), PAGE_KERNEL);
|
|
|
+ pte = pfn_pte(PFN_DOWN(__pa(fake_ioapic_mapping)), PAGE_KERNEL);
|
|
|
break;
|
|
|
#endif
|
|
|
|
|
@@ -2064,6 +2065,7 @@ void __init xen_init_mmu_ops(void)
|
|
|
pv_mmu_ops = xen_mmu_ops;
|
|
|
|
|
|
memset(dummy_mapping, 0xff, PAGE_SIZE);
|
|
|
+ memset(fake_ioapic_mapping, 0xfd, PAGE_SIZE);
|
|
|
}
|
|
|
|
|
|
/* Protected by xen_reservation_lock. */
|