This is to use another AMD SEV-ES hardware assisted register swap, more detail in 6/9. In the process it's been suggested to fix other things, here is the attempt, with the great help of amders. The previous conversation is here: https://lore.kernel.org/r/20230411125718.2297768-1-aik@xxxxxxx This is based on sha1 6e2e1e779912 Ingo Molnar "Merge branch into tip/master: 'x86/sgx'". The tree is here: https://github.com/aik/linux/tree/debugswap Please comment. Thanks. Alexey Kardashevskiy (6): KVM: SEV: move set_dr_intercepts/clr_dr_intercepts from the header KVM: SEV: Move SEV's GP_VECTOR intercept setup to SEV KVM: SEV-ES: explicitly disable debug KVM: SVM/SEV/SEV-ES: Rework intercepts KVM: SEV: Enable data breakpoints in SEV-ES KVM: SEV-ES: Eliminate #DB intercept when DebugSwap enabled Sean Christopherson (3): KVM: SVM: Rewrite sev_es_prepare_switch_to_guest()'s comment about swap types KVM: SVM: Don't defer NMI unblocking until next exit for SEV-ES guests KVM: SVM: Don't try to pointlessly single-step SEV-ES guests for NMI window arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/include/asm/svm.h | 1 + arch/x86/kvm/svm/svm.h | 42 ---------- tools/arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/kvm/svm/sev.c | 86 +++++++++++++++++--- arch/x86/kvm/svm/svm.c | 70 ++++++++++++++-- 6 files changed, 137 insertions(+), 64 deletions(-) -- 2.40.1