paravirt.h (498495dba268b20e8eadd7fe93c140c68b6cc9d2) paravirt.h (5c83511bdb9832c86be20fb86b783356e2f58062)
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};
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};
13extern struct pv_time_ops pv_time_ops;
14
13
14struct paravirt_patch_template {
15 struct pv_time_ops time;
16};
17
18extern struct paravirt_patch_template pv_ops;
19
15static inline u64 paravirt_steal_clock(int cpu)
16{
20static inline u64 paravirt_steal_clock(int cpu)
21{
17 return pv_time_ops.steal_clock(cpu);
22 return pv_ops.time.steal_clock(cpu);
18}
19#endif
20
21#endif
23}
24#endif
25
26#endif