x86/traps: Adjust paged-guest handling in the PV pagefault path
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 5 Dec 2016 11:29:12 +0000 (11:29 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 13 Dec 2016 17:23:42 +0000 (17:23 +0000)
commitd5c251c22b792e6a5dd2a7f4e97f9e67e77f89dd
treed7f3e5a2f44895099b86b4fab924f36b864f618c
parent590a287455e67c3c7b96c5ac6e5a60a7a7960302
x86/traps: Adjust paged-guest handling in the PV pagefault path

PV guests necessarily can't be external, as Xen must steal address space from
them.  Pagefaults for HVM guests are handled by {vmx,svm}_vmexit_handler() and
don't enter the PV fixup_page_fault() path.  Therefore, the first call to
paging_fault() is dead, and dropped.

Logdirty mode is now the only paging mode we should ever find a PV guest with,
so add a new predicate and assertion to this fact.

Drop the final reference to paging_mode_external().  It is more accurately now
only for logdirty guests.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/traps.c
xen/include/asm-x86/paging.h