x86emul: support INVPCID
authorJan Beulich <jbeulich@suse.com>
Tue, 3 Sep 2019 12:50:33 +0000 (14:50 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 3 Sep 2019 12:50:33 +0000 (14:50 +0200)
commit73dad9d966e871abc6b8bae05bd83e1ae3af52ae
treef43b625bcc16f0060a3cb21766960d7a0e82a531
parent749c6e3c0e733a3f18d9c7d9f903122b620157c3
x86emul: support INVPCID

Just like for INVLPGA the HVM hook only supports PCID 0 for the time
being for individual address invalidation. It also translates the other
types to a full flush, which is architecturally permitted and
performance-wise presumably not much worse because emulation is slow
anyway.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/fuzz/x86_instruction_emulator/fuzz-emul.c
tools/tests/x86_emulator/test_x86_emulator.c
tools/tests/x86_emulator/x86-emulate.c
xen/arch/x86/hvm/emulate.c
xen/arch/x86/x86_emulate/x86_emulate.c
xen/arch/x86/x86_emulate/x86_emulate.h