[PATCH v3 0/2] Add wrapper to read GPR of INVPCID, INVVPID, and INVEPT

Vipin Sharma
2021-11-03T20:59:27Z

Hello,

v3 is similar to v2 except that the commit message of "PATCH v3 2/2" is now
clearer and detailed.

VMX code to handle INVPCID, INVVPID, and INVEPT read the same GPR index
in VM exit info. This patch series improves that handling by adding a
common wrapper function for them.

Patch 2 makes a sublte change in INVPCID type check. Unlike INVVPID and
INVEPT, INVPCID is not explicitly documented to check the type before
reading the operand from memory. So, this patch moves INVPCID type check
to the common switch statement instead of VMX and SVM validating it
individually.

Changes in v3:
- Patch 2's commit message is more detailed now.

Changes in v2:
- Keeping the register read visible in the functions.
- Removed INVPCID type check hardcoding and moved error condition to common
function.

[v2] https://lore.kernel.org/lkml/20211103183232.1213761-1-vipinsh@google.com/
[v1] https://lore.kernel.org/lkml/20211011194615.2955791-1-vipinsh@google.com/

Vipin Sharma (2):
KVM: VMX: Add a wrapper to read index of GPR for INVPCID, INVVPID, and
INVEPT
KVM: Move INVPCID type check from vmx and svm to the common
kvm_handle_invpcid()

arch/x86/kvm/svm/svm.c | 5 -----
arch/x86/kvm/vmx/nested.c | 10 ++++++----
arch/x86/kvm/vmx/vmx.c | 9 +++------
arch/x86/kvm/vmx/vmx.h | 5 +++++
arch/x86/kvm/x86.c | 3 ++-
5 files changed, 16 insertions(+), 16 deletions(-)

--
2.33.1.1089.g2158813163f-goog