mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
KVM: SVM: Remove remaining occurences of rdtscll
This patch replaces them with native_read_tsc() which can also be used in expressions and saves a variable on the stack in this case. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
33527ad7e1
commit
e935d48e1b
@ -763,14 +763,13 @@ static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (unlikely(cpu != vcpu->cpu)) {
|
if (unlikely(cpu != vcpu->cpu)) {
|
||||||
u64 tsc_this, delta;
|
u64 delta;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure that the guest sees a monotonically
|
* Make sure that the guest sees a monotonically
|
||||||
* increasing TSC.
|
* increasing TSC.
|
||||||
*/
|
*/
|
||||||
rdtscll(tsc_this);
|
delta = vcpu->arch.host_tsc - native_read_tsc();
|
||||||
delta = vcpu->arch.host_tsc - tsc_this;
|
|
||||||
svm->vmcb->control.tsc_offset += delta;
|
svm->vmcb->control.tsc_offset += delta;
|
||||||
if (is_nested(svm))
|
if (is_nested(svm))
|
||||||
svm->nested.hsave->control.tsc_offset += delta;
|
svm->nested.hsave->control.tsc_offset += delta;
|
||||||
@ -792,7 +791,7 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu)
|
|||||||
for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
|
for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
|
||||||
wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
|
wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
|
||||||
|
|
||||||
rdtscll(vcpu->arch.host_tsc);
|
vcpu->arch.host_tsc = native_read_tsc();
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu)
|
static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu)
|
||||||
|
Loading…
Reference in New Issue
Block a user