[PATCHv3 0/4] Add generic MMIO instruction deconding to be used in SEV and TDX

Kirill A. Shutemov
2021-11-03T15:46:25Z

Both AMD SEV and Intel TDX has to decode MMIO instruction to be able to
handle MMIO.

Extract insn_decode_mmio() from SEV code. TDX will also use this helper.

v3:
- Handle insn_get_opcode() in is_string_insn()
v2:
- insn_get_modrm_reg_ptr() returns unsigned long pointer now (PeterZ);
- Handle insn_get_opcode() failure in insn_decode_mmio() (PeterZ);

Kirill A. Shutemov (4):
x86/insn-eval: Handle insn_get_opcode() failure
x86/insn-eval: Introduce insn_get_modrm_reg_ptr()
x86/insn-eval: Introduce insn_decode_mmio()
x86/sev-es: Use insn_decode_mmio() for MMIO implementation

arch/x86/include/asm/insn-eval.h | 13 +++
arch/x86/kernel/sev.c | 171 ++++++++-----------------------
arch/x86/lib/insn-eval.c | 109 +++++++++++++++++++-
3 files changed, 160 insertions(+), 133 deletions(-)

--
2.32.0