diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2009-03-04 07:05:42 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2009-03-26 13:51:02 -0400 |
commit | e4ff5b8f545811008123dd9556a51d814f562fcf (patch) | |
tree | 2c308a3b1cc002f0d345ed64dd94a395678543bb /arch/ia64/include/asm/paravirt.h | |
parent | 1aec1c558a797512e922581b21a178a05438bfc9 (diff) |
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>
Diffstat (limited to 'arch/ia64/include/asm/paravirt.h')
-rw-r--r-- | arch/ia64/include/asm/paravirt.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/paravirt.h b/arch/ia64/include/asm/paravirt.h index a73e77add7e2..fc433f6c3275 100644 --- a/arch/ia64/include/asm/paravirt.h +++ b/arch/ia64/include/asm/paravirt.h | |||
@@ -35,6 +35,41 @@ extern struct pv_fsys_data pv_fsys_data; | |||
35 | 35 | ||
36 | unsigned long *paravirt_get_fsyscall_table(void); | 36 | unsigned long *paravirt_get_fsyscall_table(void); |
37 | char *paravirt_get_fsys_bubble_down(void); | 37 | char *paravirt_get_fsys_bubble_down(void); |
38 | |||
39 | /****************************************************************************** | ||
40 | * patchlist addresses for gate page | ||
41 | */ | ||
42 | enum pv_gate_patchlist { | ||
43 | PV_GATE_START_FSYSCALL, | ||
44 | PV_GATE_END_FSYSCALL, | ||
45 | |||
46 | PV_GATE_START_BRL_FSYS_BUBBLE_DOWN, | ||
47 | PV_GATE_END_BRL_FSYS_BUBBLE_DOWN, | ||
48 | |||
49 | PV_GATE_START_VTOP, | ||
50 | PV_GATE_END_VTOP, | ||
51 | |||
52 | PV_GATE_START_MCKINLEY_E9, | ||
53 | PV_GATE_END_MCKINLEY_E9, | ||
54 | }; | ||
55 | |||
56 | struct pv_patchdata { | ||
57 | unsigned long start_fsyscall_patchlist; | ||
58 | unsigned long end_fsyscall_patchlist; | ||
59 | unsigned long start_brl_fsys_bubble_down_patchlist; | ||
60 | unsigned long end_brl_fsys_bubble_down_patchlist; | ||
61 | unsigned long start_vtop_patchlist; | ||
62 | unsigned long end_vtop_patchlist; | ||
63 | unsigned long start_mckinley_e9_patchlist; | ||
64 | unsigned long end_mckinley_e9_patchlist; | ||
65 | |||
66 | void *gate_section; | ||
67 | }; | ||
68 | |||
69 | extern struct pv_patchdata pv_patchdata; | ||
70 | |||
71 | unsigned long paravirt_get_gate_patchlist(enum pv_gate_patchlist type); | ||
72 | void *paravirt_get_gate_section(void); | ||
38 | #endif | 73 | #endif |
39 | 74 | ||
40 | #ifdef CONFIG_PARAVIRT_GUEST | 75 | #ifdef CONFIG_PARAVIRT_GUEST |