]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
Merge tag 'x86_sev_for_v6.14_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Jan 2025 17:00:31 +0000 (09:00 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Jan 2025 17:00:31 +0000 (09:00 -0800)
Pull x86 SEV updates from Borislav Petkov:

 - A segmented Reverse Map table (RMP) is a across-nodes distributed
   table of sorts which contains per-node descriptors of each node-local
   4K page, denoting its ownership (hypervisor, guest, etc) in the realm
   of confidential computing. Add support for such a table in order to
   improve referential locality when accessing or modifying RMP table
   entries

 - Add support for reading the TSC in SNP guests by removing any
   interference or influence the hypervisor might have, with the goal of
   making a confidential guest even more independent from the hypervisor

* tag 'x86_sev_for_v6.14_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/sev: Add the Secure TSC feature for SNP guests
  x86/tsc: Init the TSC for Secure TSC guests
  x86/sev: Mark the TSC in a secure TSC guest as reliable
  x86/sev: Prevent RDTSC/RDTSCP interception for Secure TSC enabled guests
  x86/sev: Prevent GUEST_TSC_FREQ MSR interception for Secure TSC enabled guests
  x86/sev: Change TSC MSR behavior for Secure TSC enabled guests
  x86/sev: Add Secure TSC support for SNP guests
  x86/sev: Relocate SNP guest messaging routines to common code
  x86/sev: Carve out and export SNP guest messaging init routines
  virt: sev-guest: Replace GFP_KERNEL_ACCOUNT with GFP_KERNEL
  virt: sev-guest: Remove is_vmpck_empty() helper
  x86/sev/docs: Document the SNP Reverse Map Table (RMP)
  x86/sev: Add full support for a segmented RMP table
  x86/sev: Treat the contiguous RMP table as a single RMP segment
  x86/sev: Map only the RMP table entries instead of the full RMP range
  x86/sev: Move the SNP probe routine out of the way
  x86/sev: Require the RMPREAD instruction after Zen4
  x86/sev: Add support for the RMPREAD instruction
  x86/sev: Prepare for using the RMPREAD instruction to access the RMP

1  2 
arch/x86/Kconfig
arch/x86/include/asm/cpufeatures.h

Simple merge
index 0e2d81763615e474c765257b7d1a0f88cd2ae854,6a6db7cd97cb3e47eae1277fe975a74f6fd58f6a..2cac4e18cf392ce13f6fe7680131d6611475a060
  #define X86_FEATURE_V_TSC_AUX         (19*32+ 9) /* Virtual TSC_AUX */
  #define X86_FEATURE_SME_COHERENT      (19*32+10) /* AMD hardware-enforced cache coherency */
  #define X86_FEATURE_DEBUG_SWAP                (19*32+14) /* "debug_swap" AMD SEV-ES full debug state swap support */
+ #define X86_FEATURE_RMPREAD           (19*32+21) /* RMPREAD instruction */
+ #define X86_FEATURE_SEGMENTED_RMP     (19*32+23) /* Segmented RMP support */
  #define X86_FEATURE_SVSM              (19*32+28) /* "svsm" SVSM present */
 +#define X86_FEATURE_HV_INUSE_WR_ALLOWED       (19*32+30) /* Allow Write to in-use hypervisor-owned pages */
  
  /* AMD-defined Extended Feature 2 EAX, CPUID level 0x80000021 (EAX), word 20 */
  #define X86_FEATURE_NO_NESTED_DATA_BP (20*32+ 0) /* No Nested Data Breakpoints */