All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nikunj A. Dadhania" <nikunj@amd.com>
To: Sean Christopherson <seanjc@google.com>,
	Tom Lendacky <thomas.lendacky@amd.com>
Cc: pbonzini@redhat.com, kvm@vger.kernel.org, santosh.shukla@amd.com,
	bp@alien8.de, isaku.yamahata@intel.com
Subject: Re: [PATCH v4 5/5] KVM: SVM: Enable Secure TSC for SNP guests
Date: Tue, 11 Mar 2025 21:03:58 +0530	[thread overview]
Message-ID: <73c6c8ea-93a0-4e2b-b5fe-74ea972b1a2c@amd.com> (raw)
In-Reply-To: <Z9BOEtM6bm-ng68c@google.com>



On 3/11/2025 8:22 PM, Sean Christopherson wrote:
> On Tue, Mar 11, 2025, Tom Lendacky wrote:
>> On 3/11/25 06:05, Nikunj A. Dadhania wrote:
>>> On 3/11/2025 2:41 PM, Nikunj A. Dadhania wrote:
>>>> On 3/10/2025 9:09 PM, Tom Lendacky wrote:
>>>>> On 3/10/25 01:45, Nikunj A Dadhania wrote:
>>>>
>>>>>> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
>>>>>> index 50263b473f95..b61d6bd75b37 100644
>>>>>> --- a/arch/x86/kvm/svm/sev.c
>>>>>> +++ b/arch/x86/kvm/svm/sev.c
>>>>>> @@ -2205,6 +2205,20 @@ static int snp_launch_start(struct kvm *kvm, struct kvm_sev_cmd *argp)
>>>>>>  
>>>>>>  	start.gctx_paddr = __psp_pa(sev->snp_context);
>>>>>>  	start.policy = params.policy;
>>>>>> +
>>>>>> +	if (snp_secure_tsc_enabled(kvm)) {
>>>>>> +		u32 user_tsc_khz = params.desired_tsc_khz;
>>>>>> +
>>>>>> +		/* Use tsc_khz if the VMM has not provided the TSC frequency */
>>>>>> +		if (!user_tsc_khz)
>>>>>> +			user_tsc_khz = tsc_khz;
>>>>>> +
>>>>>> +		start.desired_tsc_khz = user_tsc_khz;
> 
> The code just below this clobbers kvm->arch.default_tsc_khz, which could already
> have been set by userspace.  Why?  Either require params.desired_tsc_khz to match
> kvm->arch.default_tsc_khz, or have KVM's ABI be that KVM stuffs desired_tsc_khz
> based on kvm->arch.default_tsc_khz.  I don't see any reason to add yet another
> way to control TSC.

Setting of the desired TSC frequency needs to be done during SNP_LAUNCH_START,
while parsing of the tsc-frequency happens as part of the cpu common class, 
and kvm->arch.default_tsc_khz is set pretty late.

Intially, I had planned using "-cpu model,tsc-frequency=<>", but couldn't
find a way to get this parsed early during SNP_LAUNCH_START.

Regards,
Nikunj

  reply	other threads:[~2025-03-11 15:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-10  6:39 [PATCH v4 0/5] Enable Secure TSC for SEV-SNP Nikunj A Dadhania
2025-03-10  6:43 ` [PATCH v4 1/5] x86/cpufeatures: Add SNP Secure TSC Nikunj A Dadhania
2025-03-10 15:03   ` Tom Lendacky
2025-03-13 15:15   ` Vaishali Thakkar
2025-03-13 15:38     ` Borislav Petkov
2025-03-10  6:45 ` [PATCH v4 2/5] KVM: SVM: Add missing member in SNP_LAUNCH_START command structure Nikunj A Dadhania
2025-03-10  6:45   ` [PATCH v4 3/5] KVM: SVM: Add GUEST_TSC_FREQ MSR for Secure TSC enabled guests Nikunj A Dadhania
2025-03-10 15:09     ` Tom Lendacky
2025-03-10  6:45   ` [PATCH v4 4/5] KVM: SVM: Prevent writes to TSC MSR when Secure TSC is enabled Nikunj A Dadhania
2025-03-10 15:23     ` Tom Lendacky
2025-03-11  6:49       ` Nikunj A. Dadhania
2025-03-10  6:45   ` [PATCH v4 5/5] KVM: SVM: Enable Secure TSC for SNP guests Nikunj A Dadhania
2025-03-10 15:39     ` Tom Lendacky
2025-03-11  9:11       ` Nikunj A. Dadhania
2025-03-11 11:05         ` Nikunj A. Dadhania
2025-03-11 14:33           ` Tom Lendacky
2025-03-11 14:52             ` Sean Christopherson
2025-03-11 15:33               ` Nikunj A. Dadhania [this message]
2025-03-11 15:53                 ` Sean Christopherson
2025-03-11 16:02                   ` 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=73c6c8ea-93a0-4e2b-b5fe-74ea972b1a2c@amd.com \
    --to=nikunj@amd.com \
    --cc=bp@alien8.de \
    --cc=isaku.yamahata@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=santosh.shukla@amd.com \
    --cc=seanjc@google.com \
    --cc=thomas.lendacky@amd.com \
    /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.