x86/sev: Do not handle #VC for DR7 read/write
authorAlexey Kardashevskiy <aik@amd.com>
Wed, 16 Aug 2023 02:21:22 +0000 (12:21 +1000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 16 Aug 2023 08:13:42 +0000 (10:13 +0200)
commite221804dad4e6fe3a0cf192ba3c42cd2f328bdac
tree4df33e1361e3a024c6e3a99db4d75646a8fb09f5
parent2ccdd1b13c591d306f0401d98dedc4bdcd02b421
x86/sev: Do not handle #VC for DR7 read/write

With MSR_AMD64_SEV_DEBUG_SWAP enabled, the guest is not expected to
receive a #VC for reads or writes of DR7.

Update the SNP_FEATURES_PRESENT mask with MSR_AMD64_SNP_DEBUG_SWAP so
an SNP guest doesn't gracefully terminate during SNP feature negotiation
if MSR_AMD64_SEV_DEBUG_SWAP is enabled.

Since a guest is not expected to receive a #VC on DR7 accesses when
MSR_AMD64_SEV_DEBUG_SWAP is enabled, return an error from the #VC
handler in this situation.

Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Carlos Bilbao <carlos.bilbao@amd.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com>
Link: https://lore.kernel.org/r/20230816022122.981998-1-aik@amd.com
arch/x86/boot/compressed/sev.c
arch/x86/kernel/sev.c