dfd57bc3a5
Introduce CONFIG_PARAVIRT and PARAVIRT_TIME_ACCOUNTING on ARM64. Necessary duplication of paravirt.h and paravirt.c with ARM. The only paravirt interface supported is pv_time_ops.steal_clock, so no runtime pvops patching needed. This allows us to make use of steal_account_process_tick for stolen ticks accounting. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
21 lines
419 B
C
21 lines
419 B
C
#ifndef _ASM_ARM64_PARAVIRT_H
|
|
#define _ASM_ARM64_PARAVIRT_H
|
|
|
|
#ifdef CONFIG_PARAVIRT
|
|
struct static_key;
|
|
extern struct static_key paravirt_steal_enabled;
|
|
extern struct static_key paravirt_steal_rq_enabled;
|
|
|
|
struct pv_time_ops {
|
|
unsigned long long (*steal_clock)(int cpu);
|
|
};
|
|
extern struct pv_time_ops pv_time_ops;
|
|
|
|
static inline u64 paravirt_steal_clock(int cpu)
|
|
{
|
|
return pv_time_ops.steal_clock(cpu);
|
|
}
|
|
#endif
|
|
|
|
#endif
|