arch/x86/include/asm/paravirt-base.h

Source file repositories/reference/linux-study-clean/arch/x86/include/asm/paravirt-base.h

File Facts

System
Linux kernel
Corpus path
arch/x86/include/asm/paravirt-base.h
Extension
.h
Size
861 bytes
Lines
42
Domain
Architecture Layer
Bucket
arch/x86
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

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 */

Annotation

Implementation Notes