summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/paravirt-base.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/paravirt-base.h')
-rw-r--r--arch/x86/include/asm/paravirt-base.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/x86/include/asm/paravirt-base.h b/arch/x86/include/asm/paravirt-base.h
new file mode 100644
index 000000000000..982a0b93bc76
--- /dev/null
+++ b/arch/x86/include/asm/paravirt-base.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _ASM_X86_PARAVIRT_BASE_H
+#define _ASM_X86_PARAVIRT_BASE_H
+
+/*
+ * Wrapper type for pointers to code which uses the non-standard
+ * calling convention. See PV_CALL_SAVE_REGS_THUNK below.
+ */
+struct paravirt_callee_save {
+ void *func;
+};
+
+struct pv_info {
+#ifdef CONFIG_PARAVIRT_XXL
+ u16 extra_user_64bit_cs; /* __USER_CS if none */
+#endif
+ const char *name;
+};
+
+void default_banner(void);
+extern struct pv_info pv_info;
+unsigned long paravirt_ret0(void);
+#ifdef CONFIG_PARAVIRT_XXL
+u64 _paravirt_ident_64(u64);
+#endif
+#define paravirt_nop ((void *)nop_func)
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+void paravirt_set_cap(void);
+#else
+static inline void paravirt_set_cap(void) { }
+#endif
+
+#endif /* _ASM_X86_PARAVIRT_BASE_H */