aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/paravirt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/paravirt.c')
-rw-r--r--arch/ia64/kernel/paravirt.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/ia64/kernel/paravirt.c b/arch/ia64/kernel/paravirt.c
index e5482bb6841e..7126ea8f7ecc 100644
--- a/arch/ia64/kernel/paravirt.c
+++ b/arch/ia64/kernel/paravirt.c
@@ -286,3 +286,22 @@ struct pv_cpu_ops pv_cpu_ops = {
286 = ia64_native_intrin_local_irq_restore_func, 286 = ia64_native_intrin_local_irq_restore_func,
287}; 287};
288EXPORT_SYMBOL(pv_cpu_ops); 288EXPORT_SYMBOL(pv_cpu_ops);
289
290/******************************************************************************
291 * replacement of hand written assembly codes.
292 */
293
294void
295paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch)
296{
297 extern unsigned long paravirt_switch_to_targ;
298 extern unsigned long paravirt_leave_syscall_targ;
299 extern unsigned long paravirt_work_processed_syscall_targ;
300 extern unsigned long paravirt_leave_kernel_targ;
301
302 paravirt_switch_to_targ = cpu_asm_switch->switch_to;
303 paravirt_leave_syscall_targ = cpu_asm_switch->leave_syscall;
304 paravirt_work_processed_syscall_targ =
305 cpu_asm_switch->work_processed_syscall;
306 paravirt_leave_kernel_targ = cpu_asm_switch->leave_kernel;
307}