[SRU][N:intel][PATCH 0/4] Fix QEMU/KVM support for EPT paging level 4/5

Thibault Ferrante thibault.ferrante at canonical.com
Thu Jul 4 16:25:17 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2071628

[ Impact ]

 * Fix EPT paging level 4 using incorrectly memory range in specific configuration.
 * Expose support of EPT paging level 5 for compatible hardware (e.g. Sierra Forest).

[ Fix ]

Clean cherry pick upstream and associated self-tests.

[ Test Plan ]

On compatible hardware (e.g. Sierra forest):
 * Verify level 5 EPT capability flag
 * Execute self-tests

Already tested by intel.

[ Where problems could occur ]

 * Regression in KVM features.

[ Other info ]

Context:
https://lore.kernel.org/all/170864656017.3080257.14048100709856204250.b4-ty@google.com/
https://lore.kernel.org/all/171754268137.2777430.1222935014468693201.b4-ty@google.com/


Peter Gonda (2):
  KVM: selftests: Allow tagging protected memory in guest page tables
  KVM: selftests: Add library for creating and interacting with SEV
    guests

Sean Christopherson (1):
  x86/cpu: Add a VMX flag to enumerate 5-level EPT support to userspace

Tao Su (1):
  KVM: selftests: x86: Prioritize getting max_gfn from GuestPhysBits

 arch/x86/include/asm/vmxfeatures.h            |   1 +
 arch/x86/kernel/cpu/feat_ctl.c                |   2 +
 tools/testing/selftests/kvm/Makefile          |   1 +
 .../kvm/include/aarch64/kvm_util_arch.h       |   7 ++
 .../selftests/kvm/include/kvm_util_base.h     |  13 +++
 .../kvm/include/riscv/kvm_util_arch.h         |   7 ++
 .../kvm/include/s390x/kvm_util_arch.h         |   7 ++
 .../kvm/include/x86_64/kvm_util_arch.h        |  23 ++++
 .../selftests/kvm/include/x86_64/processor.h  |   9 ++
 .../selftests/kvm/include/x86_64/sev.h        | 105 +++++++++++++++++
 tools/testing/selftests/kvm/lib/kvm_util.c    |  18 +++
 .../selftests/kvm/lib/x86_64/processor.c      |  47 +++++++-
 tools/testing/selftests/kvm/lib/x86_64/sev.c  | 110 ++++++++++++++++++
 13 files changed, 347 insertions(+), 3 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/include/aarch64/kvm_util_arch.h
 create mode 100644 tools/testing/selftests/kvm/include/riscv/kvm_util_arch.h
 create mode 100644 tools/testing/selftests/kvm/include/s390x/kvm_util_arch.h
 create mode 100644 tools/testing/selftests/kvm/include/x86_64/kvm_util_arch.h
 create mode 100644 tools/testing/selftests/kvm/include/x86_64/sev.h
 create mode 100644 tools/testing/selftests/kvm/lib/x86_64/sev.c

-- 
2.43.0




More information about the kernel-team mailing list