aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/domain_build.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-06-18 10:05:23 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-06-18 10:05:23 +0100
commita5c98899b234c23f43dae0f7dd58649a666d070e (patch)
tree75fe5add75edd6aaceab635fd0a24442d3e642c5 /xen/arch/x86/domain_build.c
parentcffdda11c15bd98dc6db8f1c3d917fc7eb521431 (diff)
downloadxen-a5c98899b234c23f43dae0f7dd58649a666d070e.tar.gz
xen-a5c98899b234c23f43dae0f7dd58649a666d070e.tar.bz2
xen-a5c98899b234c23f43dae0f7dd58649a666d070e.zip
x86_64: don't allocate L1 per-domain page table pages in a single chunk
Instead, allocate them on demand, and adjust the consumer to no longer assume the allocated space is contiguous. This another prerequisite to extend to number of vCPU-s the hypervisor can support per guest. Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/domain_build.c')
-rw-r--r--xen/arch/x86/domain_build.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index f44e9e1ac2..8b14e77fe9 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -480,8 +480,7 @@ int __init construct_dom0(
for ( i = 0; i < PDPT_L2_ENTRIES; i++ )
l2tab[l2_linear_offset(PERDOMAIN_VIRT_START) + i] =
- l2e_from_page(virt_to_page(d->arch.mm_perdomain_pt) + i,
- __PAGE_HYPERVISOR);
+ l2e_from_page(perdomain_pt_page(d, i), __PAGE_HYPERVISOR);
l2tab += l2_linear_offset(v_start);
mfn = alloc_spfn;