aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/mm.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-01-23 14:10:40 +0100
committerJan Beulich <jbeulich@suse.com>2013-01-23 14:10:40 +0100
commitb52f69ab85a35d6140ca5e8ec74240fb1e0a5e7e (patch)
tree9e73a87f33a1124851985a29c7c1bbb8f4e8264c /xen/arch/x86/mm.c
parent02955ee2d15a43ec18f60146064ccb8841909779 (diff)
downloadxen-b52f69ab85a35d6140ca5e8ec74240fb1e0a5e7e.tar.gz
xen-b52f69ab85a35d6140ca5e8ec74240fb1e0a5e7e.tar.bz2
xen-b52f69ab85a35d6140ca5e8ec74240fb1e0a5e7e.zip
x86: properly use map_domain_page() during domain creation/destruction
This involves no longer storing virtual addresses of the per-domain mapping L2 and L3 page tables. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/mm.c')
-rw-r--r--xen/arch/x86/mm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index d63ea250f5..c270c1cd29 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1322,9 +1322,9 @@ void init_guest_l4_table(l4_pgentry_t l4tab[], const struct domain *d)
&idle_pg_table[ROOT_PAGETABLE_FIRST_XEN_SLOT],
ROOT_PAGETABLE_XEN_SLOTS * sizeof(l4_pgentry_t));
l4tab[l4_table_offset(LINEAR_PT_VIRT_START)] =
- l4e_from_pfn(virt_to_mfn(l4tab), __PAGE_HYPERVISOR);
+ l4e_from_pfn(domain_page_map_to_mfn(l4tab), __PAGE_HYPERVISOR);
l4tab[l4_table_offset(PERDOMAIN_VIRT_START)] =
- l4e_from_pfn(virt_to_mfn(d->arch.mm_perdomain_l3), __PAGE_HYPERVISOR);
+ l4e_from_page(d->arch.perdomain_l3_pg, __PAGE_HYPERVISOR);
}
static int alloc_l4_table(struct page_info *page, int preemptible)