aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-02 11:03:34 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-02 11:03:34 +0100
commite3045add081fb0fcf1b2c9be65027fdfbdd92d9e (patch)
tree775c958b77b960997fe8e0b4c4b5007bda41d7c7
parent5e167a1c0fb9141f4e0372dcc575993b85f1b433 (diff)
downloadxen-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.c3
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;