ia64/pv_ops: gate page paravirtualization.
paravirtualize gate page by allowing each pv_ops instances to define its own gate page. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
committed by
Tony Luck
parent
1aec1c558a
commit
e4ff5b8f54
@ -35,6 +35,41 @@ extern struct pv_fsys_data pv_fsys_data;
|
||||
|
||||
unsigned long *paravirt_get_fsyscall_table(void);
|
||||
char *paravirt_get_fsys_bubble_down(void);
|
||||
|
||||
/******************************************************************************
|
||||
* patchlist addresses for gate page
|
||||
*/
|
||||
enum pv_gate_patchlist {
|
||||
PV_GATE_START_FSYSCALL,
|
||||
PV_GATE_END_FSYSCALL,
|
||||
|
||||
PV_GATE_START_BRL_FSYS_BUBBLE_DOWN,
|
||||
PV_GATE_END_BRL_FSYS_BUBBLE_DOWN,
|
||||
|
||||
PV_GATE_START_VTOP,
|
||||
PV_GATE_END_VTOP,
|
||||
|
||||
PV_GATE_START_MCKINLEY_E9,
|
||||
PV_GATE_END_MCKINLEY_E9,
|
||||
};
|
||||
|
||||
struct pv_patchdata {
|
||||
unsigned long start_fsyscall_patchlist;
|
||||
unsigned long end_fsyscall_patchlist;
|
||||
unsigned long start_brl_fsys_bubble_down_patchlist;
|
||||
unsigned long end_brl_fsys_bubble_down_patchlist;
|
||||
unsigned long start_vtop_patchlist;
|
||||
unsigned long end_vtop_patchlist;
|
||||
unsigned long start_mckinley_e9_patchlist;
|
||||
unsigned long end_mckinley_e9_patchlist;
|
||||
|
||||
void *gate_section;
|
||||
};
|
||||
|
||||
extern struct pv_patchdata pv_patchdata;
|
||||
|
||||
unsigned long paravirt_get_gate_patchlist(enum pv_gate_patchlist type);
|
||||
void *paravirt_get_gate_section(void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PARAVIRT_GUEST
|
||||
|
Reference in New Issue
Block a user