|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] x86/HVM: drop at_tsc parameter from ->set_tsc_offset() hook
commit b70825ee3a8a5b2c8f5c74da614e8d13905f80cc
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Jan 14 14:48:21 2026 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jan 14 14:48:21 2026 +0100
x86/HVM: drop at_tsc parameter from ->set_tsc_offset() hook
While the VMX hook never used the parameter, the SVM one lost its sole use
some time ago (while the original use of the parameter had gone away even
earlier).
Again modernize types while there.
Amends: 0cd50753eb40 ("nestedsvm: Disable TscRateMSR")
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/arch/x86/hvm/domain.c | 3 +--
xen/arch/x86/hvm/hvm.c | 7 +++----
xen/arch/x86/hvm/svm/svm.c | 2 +-
xen/arch/x86/hvm/vmx/vmx.c | 2 +-
xen/arch/x86/hvm/vmx/vvmx.c | 4 ++--
xen/arch/x86/include/asm/hvm/hvm.h | 9 ++++-----
xen/arch/x86/time.c | 3 +--
7 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
index 37092f31f3..155d61db13 100644
--- a/xen/arch/x86/hvm/domain.c
+++ b/xen/arch/x86/hvm/domain.c
@@ -312,8 +312,7 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct
vcpu_hvm_context *ctx)
/* Sync AP's TSC with BSP's. */
v->arch.hvm.cache_tsc_offset =
d->vcpu[0]->arch.hvm.cache_tsc_offset;
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset,
- d->arch.hvm.sync_tsc);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
paging_update_paging_modes(v);
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 4084b610fa..0eafa515bb 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -412,7 +412,7 @@ static void hvm_set_guest_tsc_fixed(struct vcpu *v, u64
guest_tsc, u64 at_tsc)
delta_tsc = guest_tsc - tsc;
v->arch.hvm.cache_tsc_offset = delta_tsc;
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, at_tsc);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
}
#define hvm_set_guest_tsc(v, t) hvm_set_guest_tsc_fixed(v, t, 0)
@@ -430,7 +430,7 @@ static void hvm_set_guest_tsc_msr(struct vcpu *v, u64
guest_tsc)
static void hvm_set_guest_tsc_adjust(struct vcpu *v, u64 tsc_adjust)
{
v->arch.hvm.cache_tsc_offset += tsc_adjust - v->arch.hvm.msr_tsc_adjust;
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
v->arch.hvm.msr_tsc_adjust = tsc_adjust;
if ( v == current )
update_vcpu_system_time(v);
@@ -4023,8 +4023,7 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs,
uint16_t ip)
/* Sync AP's TSC with BSP's. */
v->arch.hvm.cache_tsc_offset =
v->domain->vcpu[0]->arch.hvm.cache_tsc_offset;
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset,
- d->arch.hvm.sync_tsc);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
v->arch.hvm.msr_tsc_adjust = 0;
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index da113f488b..564337bb4e 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -778,7 +778,7 @@ static int cf_check svm_get_guest_pat(struct vcpu *v, u64
*gpat)
return 1;
}
-static void cf_check svm_set_tsc_offset(struct vcpu *v, u64 offset, u64 at_tsc)
+static void cf_check svm_set_tsc_offset(struct vcpu *v, uint64_t offset)
{
struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
struct vmcb_struct *n1vmcb, *n2vmcb;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b1c37268da..524bce8307 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1556,7 +1556,7 @@ static void cf_check vmx_handle_cd(struct vcpu *v,
unsigned long value)
}
}
-static void cf_check vmx_set_tsc_offset(struct vcpu *v, u64 offset, u64 at_tsc)
+static void cf_check vmx_set_tsc_offset(struct vcpu *v, uint64_t offset)
{
vmx_vmcs_enter(v);
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index e4f3a5fe4c..38952f0696 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1114,7 +1114,7 @@ static void load_shadow_guest_state(struct vcpu *v)
hvm_inject_hw_exception(X86_EXC_GP, 0);
}
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
vvmcs_to_shadow_bulk(v, ARRAY_SIZE(vmentry_fields), vmentry_fields);
@@ -1330,7 +1330,7 @@ static void load_vvmcs_host_state(struct vcpu *v)
hvm_inject_hw_exception(X86_EXC_GP, 0);
}
- hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0);
+ hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset);
set_vvmcs(v, VM_ENTRY_INTR_INFO, 0);
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h
b/xen/arch/x86/include/asm/hvm/hvm.h
index 7412256a2d..666fa402a8 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -165,7 +165,7 @@ struct hvm_function_table {
int (*get_guest_pat)(struct vcpu *v, uint64_t *gpat);
int (*set_guest_pat)(struct vcpu *v, uint64_t gpat);
- void (*set_tsc_offset)(struct vcpu *v, u64 offset, u64 at_tsc);
+ void (*set_tsc_offset)(struct vcpu *v, uint64_t offset);
void (*inject_event)(const struct x86_event *event);
@@ -482,10 +482,9 @@ static inline void hvm_cpuid_policy_changed(struct vcpu *v)
alternative_vcall(hvm_funcs.cpuid_policy_changed, v);
}
-static inline void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset,
- uint64_t at_tsc)
+static inline void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset)
{
- alternative_vcall(hvm_funcs.set_tsc_offset, v, offset, at_tsc);
+ alternative_vcall(hvm_funcs.set_tsc_offset, v, offset);
}
/*
@@ -847,7 +846,7 @@ static inline void hvm_sync_pir_to_irr(struct vcpu *v)
*/
int hvm_guest_x86_mode(struct vcpu *v);
void hvm_cpuid_policy_changed(struct vcpu *v);
-void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset, uint64_t at_tsc);
+void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset);
/* End of prototype list */
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 0664ffb806..0bfad0f634 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2982,8 +2982,7 @@ int tsc_set_info(struct domain *d,
*/
d->arch.hvm.sync_tsc = rdtsc();
hvm_set_tsc_offset(d->vcpu[0],
- d->vcpu[0]->arch.hvm.cache_tsc_offset,
- d->arch.hvm.sync_tsc);
+ d->vcpu[0]->arch.hvm.cache_tsc_offset);
}
}
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |