42 lines
861 B
C
42 lines
861 B
C
/* 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
|
|
bool io_delay;
|
|
|
|
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
|
|
#define call_io_delay() pv_info.io_delay
|
|
#endif
|
|
|
|
#ifdef CONFIG_PARAVIRT_SPINLOCKS
|
|
void paravirt_set_cap(void);
|
|
#else
|
|
static inline void paravirt_set_cap(void) { }
|
|
#endif
|
|
|
|
#endif /* _ASM_X86_PARAVIRT_BASE_H */
|