mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v4 0/2] x86/sev: Fix RMPOPT enablement on non-RMPOPT configs
@ 2026-10-28 19:48 Ashish Kalra
  2026-10-28 19:49 ` [PATCH v4 1/2] x86/sev: Clear RMPOPT when segmented RMP is disabled by firmware Ashish Kalra
  2026-10-28 19:49 ` [PATCH v4 2/2] x86/sev: Set up RMPOPT only on an active SNP host Ashish Kalra
  0 siblings, 2 replies; 6+ messages in thread
From: Ashish Kalra @ 2026-10-28 19:48 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, ackerleytng, jackyli, pgonda, rientjes,
	jacobhxu, xin, pawan.kumar.gupta, babu.moger, dyoung, nikunj,
	darwi, linux-kernel, linux-crypto, kvm, linux-coco

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

Two fixes for the RMPOPT series, both for configurations where the
RMPOPT CPUID bit is advertised but RMPOPT is not actually usable:

Patch 1 clears X86_FEATURE_RMPOPT when the platform advertises segmented
RMP but the firmware has it disabled (contiguous RMP) - otherwise
RMPOPT_BASE is programmed and RMPOPT issued, which #GP on a contiguous RMP.

Patch 2 sets up RMPOPT only on an active SNP host by moving the soft-init
(workqueue setup and the "optimizations enabled" message) into
snp_rmptable_init(), so it no longer runs on systems where SNP is not
enabled (e.g. disabled in the BIOS).

v4:
 - Patch 1: drop the inline comment on the common fall-through clear (the
   rationale is in the commit message), and reword the commit message so
   RMPOPT_BASE programming is no longer attributed to the "RMPOPT initcall".
   No functional change; Tom's Reviewed-by retained.
 - Patch 2: instead of gating rmpopt_init() on CC_ATTR_HOST_SEV_SNP, move
   the RMPOPT soft-init into snp_rmptable_init(), which runs only once the
   host RMP table is established (CC_ATTR_HOST_SEV_SNP guaranteed).
   rmpopt_init() keeps its X86_FEATURE_RMPOPT-only gate and drops the
   device_initcall.

v3:
 - Patch 2: gate rmpopt_init() on cc_platform_has(CC_ATTR_HOST_SEV_SNP)
   instead of the X86_FEATURE_SEV_SNP CPUID bit.  SNP can be disabled after
   feature detection (e.g. when AMD IOMMU init fails to enable it), which
   clears CC_ATTR_HOST_SEV_SNP but leaves the CPUID bit set;
   CC_ATTR_HOST_SEV_SNP reflects the final host state and matches the gate
   in snp_enable_rmpopt().

v2:
 - Patch 1: expand the commit message to spell out the CPUID-advertise vs
   firmware-enable distinction and how the configuration arises; drop the
   trailing sentence; add Tom's Reviewed-by.
 - Patch 2: rather than moving the announcement to snp_enable_rmpopt(),
   gate rmpopt_init() on an SNP host and keep the message there (Tom).

Ashish Kalra (2):
  x86/sev: Clear RMPOPT when segmented RMP is disabled by firmware
  x86/sev: Set up RMPOPT only on an active SNP host

 arch/x86/virt/svm/sev.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)


base-commit: 250ee734115bca1c1f7a38d838909aa83cce87ae
-- 
2.43.0


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

end of thread, other threads:[~2026-10-29 15:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-28 19:48 [PATCH v4 0/2] x86/sev: Fix RMPOPT enablement on non-RMPOPT configs Ashish Kalra
2026-10-28 19:49 ` [PATCH v4 1/2] x86/sev: Clear RMPOPT when segmented RMP is disabled by firmware Ashish Kalra
2026-10-28 21:51   ` Pankaj Gupta
2026-10-28 19:49 ` [PATCH v4 2/2] x86/sev: Set up RMPOPT only on an active SNP host Ashish Kalra
2026-10-28 22:00   ` Gupta, Pankaj
2026-10-29 15:33   ` Tom Lendacky

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

all inboxes | Powered by JetHome®