summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/paravirt.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/include/asm/paravirt.h')
-rw-r--r--arch/arm64/include/asm/paravirt.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/paravirt.h b/arch/arm64/include/asm/paravirt.h
new file mode 100644
index 000000000..cf3a0fd7c
--- /dev/null
+++ b/arch/arm64/include/asm/paravirt.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#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);
+};
+
+struct paravirt_patch_template {
+ struct pv_time_ops time;
+};
+
+extern struct paravirt_patch_template pv_ops;
+
+static inline u64 paravirt_steal_clock(int cpu)
+{
+ return pv_ops.time.steal_clock(cpu);
+}
+
+int __init pv_time_init(void);
+
+#else
+
+#define pv_time_init() do {} while (0)
+
+#endif // CONFIG_PARAVIRT
+
+#endif