[PATCH v7 0/2] nosnp sev command line support

From: Pavan Kumar Paluri
Date: Mon Oct 14 2024 - 09:12:03 EST


Provide "nosnp" boot option via "sev=nosnp" kernel command line to
prevent SEV-SNP [1] capable host kernel from enabling SEV-SNP and
initializing Reverse Map Table (RMP)

Setting 'nosnp' avoids the RMP check overhead in memory accesses when
users do not want to run SEV-SNP guests.

On providing sev=nosnp via kernel command line:
cat /sys/module/kvm_amd/parameters/sev_snp should be "N".

The patchset is based on tip/master.

Reference:
[1] https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf

Changelog:
=========
v6:
* <linux/cache.h> was not included in virt/svm/cmdline.c, which was
breaking the progressive build. Fix this issue (Boris)
* Link: https://lore.kernel.org/all/20241010121455.15795-1-papaluri@xxxxxxx/

v5:
* Update cover-letter and Documentation to include information on why
nosnp command line option is required (Dave Hansen)
* Remove <asm/cache.h> stray header introduced in the previous
versions because of __read_mostly attribute that is now moved into
virt/svm/cmdline.c
* Link: https://lore.kernel.org/all/20240930231102.123403-1-papaluri@xxxxxxx/

v4:
* Move __read_mostly attribute to place where sev_cfg is declared (Tom)
* Link: https://lore.kernel.org/all/20240922033626.29038-1-papaluri@xxxxxxx/


Pavan Kumar Paluri (2):
x86, KVM:SVM: Move sev specific parsing into arch/x86/virt/svm
x86 KVM:SVM: Provide "nosnp" boot option for sev kernel command line

.../arch/x86/x86_64/boot-options.rst | 5 +++
arch/x86/coco/sev/core.c | 44 -------------------
arch/x86/include/asm/sev-common.h | 27 ++++++++++++
arch/x86/virt/svm/Makefile | 1 +
arch/x86/virt/svm/cmdline.c | 40 +++++++++++++++++
5 files changed, 73 insertions(+), 44 deletions(-)
create mode 100644 arch/x86/virt/svm/cmdline.c


base-commit: 00d91979d23c88d3f50870e22fc9cec3f5e26a2a
--
2.34.1