Re: [PATCH v14 04/13] x86/sev: Change TSC MSR behavior for Secure TSC enabled guests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 11/1/2024 10:10 PM, Borislav Petkov wrote:
> On Mon, Oct 28, 2024 at 11:04:22AM +0530, Nikunj A Dadhania wrote:
>> +	/*
>> +	 * TSC related accesses should not exit to the hypervisor when a
>> +	 * guest is executing with SecureTSC enabled, so special handling
>> +	 * is required for accesses of MSR_IA32_TSC:
>> +	 *
>> +	 * Writes: Writing to MSR_IA32_TSC can cause subsequent reads
>> +	 *         of the TSC to return undefined values, so ignore all
>> +	 *         writes.
>> +	 * Reads:  Reads of MSR_IA32_TSC should return the current TSC
>> +	 *         value, use the value returned by RDTSC.
>> +	 */
>> +	if (regs->cx == MSR_IA32_TSC && (sev_status & MSR_AMD64_SNP_SECURE_TSC)) {
>> +		u64 tsc;
>> +
>> +		if (exit_info_1)
>> +			return ES_OK;
>> +
>> +		tsc = rdtsc();
> 
> rdtsc_ordered() I guess.

Yes, will update.

> 
>> +		regs->ax = UINT_MAX & tsc;
>> +		regs->dx = UINT_MAX & (tsc >> 32);
>> +
>> +		return ES_OK;
>> +	}
>> +
> 
> All that you're adding - put that in a __vc_handle_msr_tsc() helper so that it
> doesn't distract from the function's flow.

Sure, I noticed your patch adding __vc_handle_msr_caa().

Regards
Nikunj




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux