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

From: Joerg Roedel
Date: Tue Nov 30 2021 - 11:41:16 EST


On Wed, Nov 03, 2021 at 06:45:51PM +0300, Kirill A. Shutemov wrote:
> 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(-)

Testing looks good here:

Tested-by: Joerg Roedel <jroedel@xxxxxxx>

--
Jörg Rödel
jroedel@xxxxxxx

SUSE Software Solutions Germany GmbH
Maxfeldstr. 5
90409 Nürnberg
Germany

(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev