diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-03-02 11:03:34 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-03-02 11:03:34 +0100 |
commit | e3045add081fb0fcf1b2c9be65027fdfbdd92d9e (patch) | |
tree | 775c958b77b960997fe8e0b4c4b5007bda41d7c7 | |
parent | 5e167a1c0fb9141f4e0372dcc575993b85f1b433 (diff) | |
download | xen-e3045add081fb0fcf1b2c9be65027fdfbdd92d9e.tar.gz xen-e3045add081fb0fcf1b2c9be65027fdfbdd92d9e.tar.bz2 xen-e3045add081fb0fcf1b2c9be65027fdfbdd92d9e.zip |
Fix problems when creating HVM guest on PAE host with >4G physical memory.
Signed-off-by: Yunhong Jiang yunhong.jiang@intel.com
Signed-off-by: Jun Nakajima jun.nakajima@intel.com
-rw-r--r-- | xen/arch/x86/shadow_public.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/shadow_public.c b/xen/arch/x86/shadow_public.c index d84e707102..63a507c631 100644 --- a/xen/arch/x86/shadow_public.c +++ b/xen/arch/x86/shadow_public.c @@ -413,7 +413,8 @@ static void alloc_monitor_pagetable(struct vcpu *v) (l3e_get_flags(mpl3e[i]) & _PAGE_PRESENT) ? l2e_from_pfn(l3e_get_pfn(mpl3e[i]), __PAGE_HYPERVISOR) : l2e_empty(); - mpl2e[l2_table_offset(RO_MPT_VIRT_START)] = l2e_empty(); + for ( i = 0; i < (MACHPHYS_MBYTES >> (L2_PAGETABLE_SHIFT - 20)); i++ ) + mpl2e[l2_table_offset(RO_MPT_VIRT_START) + i] = l2e_empty(); v->arch.monitor_table = mk_pagetable(m3mfn << PAGE_SHIFT); /* < 4GB */ v->arch.monitor_vtable = (l2_pgentry_t *) mpl3e; |