OSDN Git Service

xen: adjust early dom0 p2m handling to xen hypervisor behavior
authorJuergen Gross <jgross@suse.com>
Wed, 10 May 2017 04:08:44 +0000 (06:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 May 2017 12:28:34 +0000 (14:28 +0200)
commitf2b8de98f737a1c9a1a1c58b4cbbcc139f917a35
tree2acceaeba33dc06b63150134d55573b03b98eda4
parent58cd97ff374b7c6c39c9a78595a5eb75a56a08ac
xen: adjust early dom0 p2m handling to xen hypervisor behavior

commit 69861e0a52f8733355ce246f0db15e1b240ad667 upstream.

When booted as pv-guest the p2m list presented by the Xen is already
mapped to virtual addresses. In dom0 case the hypervisor might make use
of 2M- or 1G-pages for this mapping. Unfortunately while being properly
aligned in virtual and machine address space, those pages might not be
aligned properly in guest physical address space.

So when trying to obtain the guest physical address of such a page
pud_pfn() and pmd_pfn() must be avoided as those will mask away guest
physical address bits not being zero in this special case.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/xen/mmu.c