Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_ARM_PARAVIRT_H
3#define _ASM_ARM_PARAVIRT_H
4
5#ifdef CONFIG_PARAVIRT
6struct static_key;
7extern struct static_key paravirt_steal_enabled;
8extern struct static_key paravirt_steal_rq_enabled;
9
10struct pv_time_ops {
11 unsigned long long (*steal_clock)(int cpu);
12};
13
14struct paravirt_patch_template {
15 struct pv_time_ops time;
16};
17
18extern struct paravirt_patch_template pv_ops;
19
20static inline u64 paravirt_steal_clock(int cpu)
21{
22 return pv_ops.time.steal_clock(cpu);
23}
24#endif
25
26#endif
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_ARM_PARAVIRT_H
3#define _ASM_ARM_PARAVIRT_H
4
5#ifdef CONFIG_PARAVIRT
6#include <linux/static_call_types.h>
7
8struct static_key;
9extern struct static_key paravirt_steal_enabled;
10extern struct static_key paravirt_steal_rq_enabled;
11
12u64 dummy_steal_clock(int cpu);
13
14DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
15
16static inline u64 paravirt_steal_clock(int cpu)
17{
18 return static_call(pv_steal_clock)(cpu);
19}
20#endif
21
22#endif