All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiaoyao Li <xiaoyao.li@intel.com>
To: Nikunj A Dadhania <nikunj@amd.com>,
	linux-kernel@vger.kernel.org, thomas.lendacky@amd.com,
	bp@alien8.de, x86@kernel.org, kvm@vger.kernel.org
Cc: mingo@redhat.com, tglx@linutronix.de,
	dave.hansen@linux.intel.com, pgonda@google.com,
	seanjc@google.com, pbonzini@redhat.com
Subject: Re: [PATCH v14 03/13] x86/sev: Add Secure TSC support for SNP guests
Date: Tue, 29 Oct 2024 16:41:50 +0800	[thread overview]
Message-ID: <3ea9cbf7-aea2-4d30-971e-d2ca5c00fb66@intel.com> (raw)
In-Reply-To: <20241028053431.3439593-4-nikunj@amd.com>

On 10/28/2024 1:34 PM, Nikunj A Dadhania wrote:
> Add support for Secure TSC in SNP-enabled guests. Secure TSC allows guests
> to securely use RDTSC/RDTSCP instructions, ensuring that the parameters
> used cannot be altered by the hypervisor once the guest is launched.
> 
> Secure TSC-enabled guests need to query TSC information from the AMD
> Security Processor. This communication channel is encrypted between the AMD
> Security Processor and the guest, with the hypervisor acting merely as a
> conduit to deliver the guest messages to the AMD Security Processor. Each
> message is protected with AEAD (AES-256 GCM). Use a minimal AES GCM library
> to encrypt and decrypt SNP guest messages for communication with the PSP.
> 
> Use mem_encrypt_init() to fetch SNP TSC information from the AMD Security
> Processor and initialize snp_tsc_scale and snp_tsc_offset.

Why do it inside mem_encrypt_init()?

It's better to introduce a snp_guest_init/setup() like tdx_early_init() 
to do all the SNP related setup stuff instead of scattering them all 
around the kernel code.

> During secondary
> CPU initialization, set the VMSA fields GUEST_TSC_SCALE (offset 2F0h) and
> GUEST_TSC_OFFSET (offset 2F8h) with snp_tsc_scale and snp_tsc_offset,
> respectively.
> 



  reply	other threads:[~2024-10-29  8:41 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-28  5:34 [PATCH v14 00/13] Add Secure TSC support for SNP guests Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 01/13] x86/sev: Carve out and export SNP guest messaging init routines Nikunj A Dadhania
2024-10-29 17:43   ` Borislav Petkov
2024-10-30  4:44     ` Nikunj A. Dadhania
2024-10-30 10:10       ` Borislav Petkov
2024-10-28  5:34 ` [PATCH v14 02/13] x86/sev: Relocate SNP guest messaging routines to common code Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 03/13] x86/sev: Add Secure TSC support for SNP guests Nikunj A Dadhania
2024-10-29  8:41   ` Xiaoyao Li [this message]
2024-10-29  8:46     ` Nikunj A. Dadhania
2024-10-29  9:19       ` Xiaoyao Li
2024-10-29 14:27         ` Borislav Petkov
2024-10-29 14:34           ` Tom Lendacky
2024-10-29 14:49             ` Borislav Petkov
2024-10-29 14:50           ` Xiaoyao Li
2024-10-29 15:03             ` Borislav Petkov
2024-10-29 15:14               ` Xiaoyao Li
2024-10-29 15:57                 ` Borislav Petkov
2024-10-29 16:50                 ` Dave Hansen
2024-10-29 17:05                   ` Borislav Petkov
2024-10-30 11:55   ` Nikunj A. Dadhania
2024-11-01 16:00   ` Borislav Petkov
2024-11-11  7:03     ` Nikunj A. Dadhania
2024-11-11  8:46       ` Nikunj A. Dadhania
2024-11-11 10:51         ` Borislav Petkov
2024-11-11 11:23           ` Nikunj A. Dadhania
2024-11-11 11:30             ` Borislav Petkov
2024-11-11 11:44               ` Nikunj A. Dadhania
2024-11-11 13:42                 ` Borislav Petkov
2024-11-12  8:43                   ` Nikunj A. Dadhania
2024-11-11 10:34       ` Borislav Petkov
2024-10-28  5:34 ` [PATCH v14 04/13] x86/sev: Change TSC MSR behavior for Secure TSC enabled guests Nikunj A Dadhania
2024-11-01 16:40   ` Borislav Petkov
2024-11-11  7:06     ` Nikunj A. Dadhania
2024-10-28  5:34 ` [PATCH v14 05/13] x86/sev: Prevent RDTSC/RDTSCP interception " Nikunj A Dadhania
2024-11-11 15:53   ` Borislav Petkov
2024-11-11 16:39     ` Nikunj A. Dadhania
2024-11-11 17:03       ` Borislav Petkov
2024-10-28  5:34 ` [PATCH v14 06/13] x86/sev: Prevent GUEST_TSC_FREQ MSR " Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 07/13] x86/sev: Mark Secure TSC as reliable clocksource Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 08/13] x86/cpu/amd: Do not print FW_BUG for Secure TSC Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 09/13] tsc: Use the GUEST_TSC_FREQ MSR for discovering TSC frequency Nikunj A Dadhania
2024-10-29  3:02   ` Xiaoyao Li
2024-10-29  3:56     ` Nikunj A. Dadhania
2024-10-29  9:15       ` Xiaoyao Li
2024-10-29  9:36         ` Nikunj A. Dadhania
2024-10-28  5:34 ` [PATCH v14 10/13] tsc: Upgrade TSC clocksource rating Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 11/13] tsc: Switch to native sched clock Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 12/13] x86/kvmclock: Abort SecureTSC enabled guest when kvmclock is selected Nikunj A Dadhania
2024-10-28  5:34 ` [PATCH v14 13/13] x86/sev: Allow Secure TSC feature for SNP guests Nikunj A Dadhania

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3ea9cbf7-aea2-4d30-971e-d2ca5c00fb66@intel.com \
    --to=xiaoyao.li@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nikunj@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=pgonda@google.com \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.