]> xenbits.xensource.com Git - people/pauldu/xen.git/commit
x86/PV: use generic emulator for privileged instruction handling
authorJan Beulich <jbeulich@suse.com>
Wed, 14 Dec 2016 08:54:03 +0000 (09:54 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 14 Dec 2016 08:54:03 +0000 (09:54 +0100)
commit4999bf3e8b4ced3fbdc4f64443a7fdab638322bb
treee30a517914003ba5c115908a5464c626ce944b8f
parent36a808eeb2b9d365ab7ab13a8659e66e49d049bf
x86/PV: use generic emulator for privileged instruction handling

There's a new emulator return code being added to allow bypassing
certain operations (see the code comment).

Another small tweak to the emulator is to single iteration handling
of INS and OUTS: Since we don't want to handle any other memory access
instructions, we want these to be handled by the rep_ins() / rep_outs()
hooks here too.

And then long-mode related bits now get hidden from the guest. This
should have been that way from the beginning, but becomes a requirement
now as the emulator's in_longmode() needs this to reflect guest view.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/traps.c
xen/arch/x86/x86_emulate/x86_emulate.c
xen/arch/x86/x86_emulate/x86_emulate.h