aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/xen/xen_pv_ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/xen/xen_pv_ops.c')
-rw-r--r--arch/ia64/xen/xen_pv_ops.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/ia64/xen/xen_pv_ops.c b/arch/ia64/xen/xen_pv_ops.c
index d91336114344..bdf1acbce81c 100644
--- a/arch/ia64/xen/xen_pv_ops.c
+++ b/arch/ia64/xen/xen_pv_ops.c
@@ -179,6 +179,37 @@ struct pv_fsys_data xen_fsys_data __initdata = {
179}; 179};
180 180
181/*************************************************************************** 181/***************************************************************************
182 * pv_patchdata
183 * patchdata addresses
184 */
185
186#define DECLARE(name) \
187 extern unsigned long __xen_start_gate_##name##_patchlist[]; \
188 extern unsigned long __xen_end_gate_##name##_patchlist[]
189
190DECLARE(fsyscall);
191DECLARE(brl_fsys_bubble_down);
192DECLARE(vtop);
193DECLARE(mckinley_e9);
194
195extern unsigned long __xen_start_gate_section[];
196
197#define ASSIGN(name) \
198 .start_##name##_patchlist = \
199 (unsigned long)__xen_start_gate_##name##_patchlist, \
200 .end_##name##_patchlist = \
201 (unsigned long)__xen_end_gate_##name##_patchlist
202
203static struct pv_patchdata xen_patchdata __initdata = {
204 ASSIGN(fsyscall),
205 ASSIGN(brl_fsys_bubble_down),
206 ASSIGN(vtop),
207 ASSIGN(mckinley_e9),
208
209 .gate_section = (void*)__xen_start_gate_section,
210};
211
212/***************************************************************************
182 * pv_cpu_ops 213 * pv_cpu_ops
183 * intrinsics hooks. 214 * intrinsics hooks.
184 */ 215 */
@@ -447,6 +478,7 @@ xen_setup_pv_ops(void)
447 pv_info = xen_info; 478 pv_info = xen_info;
448 pv_init_ops = xen_init_ops; 479 pv_init_ops = xen_init_ops;
449 pv_fsys_data = xen_fsys_data; 480 pv_fsys_data = xen_fsys_data;
481 pv_patchdata = xen_patchdata;
450 pv_cpu_ops = xen_cpu_ops; 482 pv_cpu_ops = xen_cpu_ops;
451 pv_iosapic_ops = xen_iosapic_ops; 483 pv_iosapic_ops = xen_iosapic_ops;
452 pv_irq_ops = xen_irq_ops; 484 pv_irq_ops = xen_irq_ops;