]> xenbits.xensource.com Git - xen.git/commit
x86/EPT: don't walk page tables when changing types on a range
authorJan Beulich <jbeulich@suse.com>
Fri, 2 May 2014 09:51:46 +0000 (11:51 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 2 May 2014 09:51:46 +0000 (11:51 +0200)
commit437f54d3a33d3787a7cc485eb2b3451e8be49ca7
tree0e6b4b5063b2635e31440f9f8463a3a0e61986c6
parent90ac32559bfbd08127638ba13f99b5ed565cfc2b
x86/EPT: don't walk page tables when changing types on a range

This requires a new P2M backend hook and a little bit of extra care on
accounting in the generic function.

Note that even on leaf entries we must not immediately set the new
type (in an attempt to avoid the EPT_MISCONFIG VM exits), since the
global accounting in p2m_change_type_range() gets intentionally done
only after updating page tables (or else the update there would
conflict with the function's own use of p2m_is_logdirty_range()), and
the correct type can only be calculated with that in place.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm/p2m-ept.c
xen/arch/x86/mm/p2m.c
xen/include/asm-x86/p2m.h