[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 20/28] xen/domctl: wrap arch-specific domain_set_time_offset() with CONFIG_MGMT_HYPERCALLS
Arch-specific domain_set_time_offset() is responisble for XEN_DOMCTL_settimeoffset domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable when MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1. Signed-off-by: Penny Zheng <Penny.Zheng@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> # x86 --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_settimeoffset-case transiently --- v2 -> v3: - add back stub wrapping for riscv - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_settimeoffset-case --- xen/arch/arm/time.c | 2 ++ xen/arch/riscv/stubs.c | 2 ++ xen/arch/x86/time.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c index e74d30d258..dfed0b0ab8 100644 --- a/xen/arch/arm/time.c +++ b/xen/arch/arm/time.c @@ -365,12 +365,14 @@ void force_update_vcpu_system_time(struct vcpu *v) update_vcpu_system_time(v); } +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { d->time_offset.seconds = time_offset_seconds; d->time_offset.set = true; /* XXX update guest visible wallclock time */ } +#endif /* CONFIG_MGMT_HYPERCALLS */ static int cpu_time_callback(struct notifier_block *nfb, unsigned long action, diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c index 3e4280dee1..be1cadc362 100644 --- a/xen/arch/riscv/stubs.c +++ b/xen/arch/riscv/stubs.c @@ -31,10 +31,12 @@ void send_timer_event(struct vcpu *v) BUG_ON("unimplemented"); } +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { BUG_ON("unimplemented"); } +#endif /* CONFIG_MGMT_HYPERCALLS */ /* domctl.c */ diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 59129f419d..e7394ce8cf 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -1841,6 +1841,7 @@ static void update_domain_rtc(void) rcu_read_unlock(&domlist_read_lock); } +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { d->time_offset.seconds = time_offset_seconds; @@ -1849,6 +1850,7 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) rtc_update_clock(d); update_domain_wallclock_time(d); } +#endif /* CONFIG_MGMT_HYPERCALLS */ int cpu_frequency_change(u64 freq) { -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |