diff options
Diffstat (limited to 'xen-2.4.16/arch/i386/mm.c')
-rw-r--r-- | xen-2.4.16/arch/i386/mm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xen-2.4.16/arch/i386/mm.c b/xen-2.4.16/arch/i386/mm.c index 29553a9c9b..2d4d8ddf52 100644 --- a/xen-2.4.16/arch/i386/mm.c +++ b/xen-2.4.16/arch/i386/mm.c @@ -73,8 +73,14 @@ void __init paging_init(void) /* Create page table for ioremap(). */ ioremap_pt = (void *)get_free_page(GFP_KERNEL); clear_page(ioremap_pt); - idle0_pg_table[MAPCACHE_VIRT_START >> L2_PAGETABLE_SHIFT] = + idle0_pg_table[IOREMAP_VIRT_START >> L2_PAGETABLE_SHIFT] = mk_l2_pgentry(__pa(ioremap_pt) | PAGE_HYPERVISOR); + + /* Create read-only mapping of MPT for guest-OS use. */ + idle0_pg_table[READONLY_MPT_VIRT_START >> L2_PAGETABLE_SHIFT] = + idle0_pg_table[RDWR_MPT_VIRT_START >> L2_PAGETABLE_SHIFT]; + mk_l2_readonly(idle0_pg_table + + (READONLY_MPT_VIRT_START >> L2_PAGETABLE_SHIFT)); } void __init zap_low_mappings (void) |