1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef _ASM_X86_PARAVIRT_BASE_H 4 #define _ASM_X86_PARAVIRT_BASE_H 5 6 /* 7 * Wrapper type for pointers to code which uses the non-standard 8 * calling convention. See PV_CALL_SAVE_REGS_THUNK below. 9 */ 10 struct paravirt_callee_save { 11 void *func; 12 }; 13 14 struct pv_info { 15 #ifdef CONFIG_PARAVIRT_XXL 16 u16 extra_user_64bit_cs; /* __USER_CS if none */ 17 #endif 18 const char *name; 19 }; 20 21 void default_banner(void); 22 extern struct pv_info pv_info; 23 unsigned long paravirt_ret0(void); 24 #ifdef CONFIG_PARAVIRT_XXL 25 u64 _paravirt_ident_64(u64); 26 #endif 27 #define paravirt_nop ((void *)nop_func) 28 29 #ifdef CONFIG_PARAVIRT_SPINLOCKS 30 void paravirt_set_cap(void); 31 #else 32 static inline void paravirt_set_cap(void) { } 33 #endif 34 35 #endif /* _ASM_X86_PARAVIRT_BASE_H */ 36