public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Add RMPOPT support.
@ 2026-02-17 20:09 Ashish Kalra
  2026-02-17 20:09 ` [PATCH 1/6] x86/cpufeatures: Add X86_FEATURE_AMD_RMPOPT feature flag Ashish Kalra
                   ` (6 more replies)
  0 siblings, 7 replies; 29+ messages in thread
From: Ashish Kalra @ 2026-02-17 20:09 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen, x86, hpa, seanjc, peterz,
	thomas.lendacky, herbert, davem, ardb
  Cc: pbonzini, aik, Michael.Roth, KPrateek.Nayak, Tycho.Andersen,
	Nathan.Fontenot, jackyli, pgonda, rientjes, jacobhxu, xin,
	pawan.kumar.gupta, babu.moger, dyoung, nikunj, john.allen, darwi,
	linux-kernel, linux-crypto, kvm, linux-coco

From: Ashish Kalra <ashish.kalra@amd.com>

In the SEV-SNP architecture, hypervisor and non-SNP guests are subject
to RMP checks on writes to provide integrity of SEV-SNP guest memory.

The RMPOPT architecture enables optimizations whereby the RMP checks
can be skipped if 1GB regions of memory are known to not contain any
SNP guest memory.

RMPOPT is a new instruction designed to minimize the performance
overhead of RMP checks for the hypervisor and non-SNP guests. 

As SNP is enabled by default the hypervisor and non-SNP guests are
subject to RMP write checks to provide integrity of SNP guest memory.

This patch series add support to enable RMPOPT optimizations globally
for all system RAM, and allow RMPUPDATE to disable those optimizations
as SNP guests are launched.

Additionally add a configfs interface to re-enable RMP optimizations at
runtime and debugfs interface to report per-CPU RMPOPT status across
all system RAM.

Ashish Kalra (6):
  x86/cpufeatures: Add X86_FEATURE_AMD_RMPOPT feature flag
  x86/sev: add support for enabling RMPOPT
  x86/sev: add support for RMPOPT instruction
  x86/sev: Add interface to re-enable RMP optimizations.
  x86/sev: Use configfs to re-enable RMP optimizations.
  x86/sev: Add debugfs support for RMPOPT

 arch/x86/include/asm/cpufeatures.h |   2 +-
 arch/x86/include/asm/msr-index.h   |   3 +
 arch/x86/include/asm/sev.h         |   2 +
 arch/x86/kernel/cpu/scattered.c    |   1 +
 arch/x86/kvm/Kconfig               |   1 +
 arch/x86/virt/svm/sev.c            | 471 +++++++++++++++++++++++++++++
 drivers/crypto/ccp/sev-dev.c       |   4 +
 7 files changed, 483 insertions(+), 1 deletion(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2026-02-18 22:56 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-17 20:09 [PATCH 0/6] Add RMPOPT support Ashish Kalra
2026-02-17 20:09 ` [PATCH 1/6] x86/cpufeatures: Add X86_FEATURE_AMD_RMPOPT feature flag Ashish Kalra
2026-02-17 23:06   ` Ahmed S. Darwish
2026-02-17 20:10 ` [PATCH 2/6] x86/sev: add support for enabling RMPOPT Ashish Kalra
2026-02-17 22:06   ` Dave Hansen
2026-02-18  3:08     ` K Prateek Nayak
2026-02-18 14:59       ` Dave Hansen
2026-02-18 16:55         ` Kalra, Ashish
2026-02-18 17:01           ` Dave Hansen
2026-02-18 17:07             ` Kalra, Ashish
2026-02-18 17:17               ` Dave Hansen
2026-02-18 22:17     ` Kalra, Ashish
2026-02-18 22:56       ` Dave Hansen
2026-02-17 20:10 ` [PATCH 3/6] x86/sev: add support for RMPOPT instruction Ashish Kalra
2026-02-18 16:28   ` Uros Bizjak
2026-02-17 20:11 ` [PATCH 4/6] x86/sev: Add interface to re-enable RMP optimizations Ashish Kalra
2026-02-17 20:11 ` [PATCH 5/6] x86/sev: Use configfs " Ashish Kalra
2026-02-17 22:19   ` Dave Hansen
2026-02-18  3:34     ` Kalra, Ashish
2026-02-18  4:39       ` Kalra, Ashish
2026-02-18 15:10       ` Dave Hansen
2026-02-17 20:11 ` [PATCH 6/6] x86/sev: Add debugfs support for RMPOPT Ashish Kalra
2026-02-17 22:42   ` Ahmed S. Darwish
2026-02-17 22:11 ` [PATCH 0/6] Add RMPOPT support Dave Hansen
2026-02-18  4:12   ` Kalra, Ashish
2026-02-18 15:03     ` Dave Hansen
2026-02-18 17:03       ` Kalra, Ashish
2026-02-18 17:15         ` Dave Hansen
2026-02-18 21:09           ` Kalra, Ashish

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox