This series adds #VC exception processing from Linux to kvm-unit-tests. The rationale is to not rely on UEFI-provided #VC handler when running the testcases as SEV-ES guests. The series is based on the kvm-unit-tests uefi branch. Tree: https://github.com/varadgautam/kvm-unit-tests/tree/vc-handler-rfc1 Varad Gautam (12): x86: AMD SEV-ES Setup #VC exception handler for AMD SEV-ES x86: Move svm.h to lib/x86/ lib: x86: Import insn decoder from Linux x86: AMD SEV-ES: Pull related GHCB definitions and helpers from Linux x86: AMD SEV-ES: Prepare for #VC processing x86: AMD SEV-ES: Handle WBINVD #VC lib/x86: Move xsave helpers to lib/ x86: AMD SEV-ES: Handle CPUID #VC x86: AMD SEV-ES: Handle RDTSC/RDTSCP #VC x86: AMD SEV-ES: Handle MSR #VC x86: AMD SEV-ES: Handle IOIO #VC x86: AMD SEV-ES: Handle string IO for IOIO #VC lib/x86/amd_sev.c | 3 +- lib/x86/amd_sev.h | 107 +++ lib/x86/amd_sev_vc.c | 504 ++++++++++++ lib/x86/desc.c | 17 + lib/x86/desc.h | 1 + lib/x86/insn/inat-tables.c | 1566 ++++++++++++++++++++++++++++++++++++ lib/x86/insn/inat.c | 86 ++ lib/x86/insn/inat.h | 233 ++++++ lib/x86/insn/inat_types.h | 18 + lib/x86/insn/insn.c | 778 ++++++++++++++++++ lib/x86/insn/insn.h | 280 +++++++ lib/x86/setup.c | 8 + {x86 => lib/x86}/svm.h | 37 + lib/x86/xsave.c | 37 + lib/x86/xsave.h | 16 + x86/Makefile.common | 4 + x86/Makefile.x86_64 | 1 + x86/svm.c | 2 +- x86/svm_tests.c | 2 +- x86/xsave.c | 43 +- 20 files changed, 3698 insertions(+), 45 deletions(-) create mode 100644 lib/x86/amd_sev_vc.c create mode 100644 lib/x86/insn/inat-tables.c create mode 100644 lib/x86/insn/inat.c create mode 100644 lib/x86/insn/inat.h create mode 100644 lib/x86/insn/inat_types.h create mode 100644 lib/x86/insn/insn.c create mode 100644 lib/x86/insn/insn.h rename {x86 => lib/x86}/svm.h (93%) create mode 100644 lib/x86/xsave.c create mode 100644 lib/x86/xsave.h -- 2.32.0