Loading arch/ia64/include/asm/xen/inst.h +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,14 @@ #define ia64_ivt xen_ivt #define DO_SAVE_MIN XEN_DO_SAVE_MIN #define __paravirt_switch_to xen_switch_to #define __paravirt_leave_syscall xen_leave_syscall #define __paravirt_work_processed_syscall xen_work_processed_syscall #define __paravirt_leave_kernel xen_leave_kernel #define __paravirt_pending_syscall_end xen_work_pending_syscall_end #define __paravirt_work_processed_syscall_target \ xen_work_processed_syscall #define MOV_FROM_IFA(reg) \ movl reg = XSI_IFA; \ ;; \ Loading arch/ia64/xen/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ obj-y := hypercall.o xenivt.o xensetup.o xen_pv_ops.o \ AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN # xen multi compile ASM_PARAVIRT_MULTI_COMPILE_SRCS = ivt.S ASM_PARAVIRT_MULTI_COMPILE_SRCS = ivt.S entry.S ASM_PARAVIRT_OBJS = $(addprefix xen-,$(ASM_PARAVIRT_MULTI_COMPILE_SRCS:.S=.o)) obj-y += $(ASM_PARAVIRT_OBJS) define paravirtualized_xen Loading arch/ia64/xen/xen_pv_ops.c +18 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,22 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = { = xen_intrin_local_irq_restore, }; /****************************************************************************** * replacement of hand written assembly codes. */ extern char xen_switch_to; extern char xen_leave_syscall; extern char xen_work_processed_syscall; extern char xen_leave_kernel; const struct pv_cpu_asm_switch xen_cpu_asm_switch = { .switch_to = (unsigned long)&xen_switch_to, .leave_syscall = (unsigned long)&xen_leave_syscall, .work_processed_syscall = (unsigned long)&xen_work_processed_syscall, .leave_kernel = (unsigned long)&xen_leave_kernel, }; /*************************************************************************** * pv_ops initialization */ Loading @@ -286,4 +302,6 @@ xen_setup_pv_ops(void) pv_info = xen_info; pv_init_ops = xen_init_ops; pv_cpu_ops = xen_cpu_ops; paravirt_cpu_asm_init(&xen_cpu_asm_switch); } Loading
arch/ia64/include/asm/xen/inst.h +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,14 @@ #define ia64_ivt xen_ivt #define DO_SAVE_MIN XEN_DO_SAVE_MIN #define __paravirt_switch_to xen_switch_to #define __paravirt_leave_syscall xen_leave_syscall #define __paravirt_work_processed_syscall xen_work_processed_syscall #define __paravirt_leave_kernel xen_leave_kernel #define __paravirt_pending_syscall_end xen_work_pending_syscall_end #define __paravirt_work_processed_syscall_target \ xen_work_processed_syscall #define MOV_FROM_IFA(reg) \ movl reg = XSI_IFA; \ ;; \ Loading
arch/ia64/xen/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ obj-y := hypercall.o xenivt.o xensetup.o xen_pv_ops.o \ AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN # xen multi compile ASM_PARAVIRT_MULTI_COMPILE_SRCS = ivt.S ASM_PARAVIRT_MULTI_COMPILE_SRCS = ivt.S entry.S ASM_PARAVIRT_OBJS = $(addprefix xen-,$(ASM_PARAVIRT_MULTI_COMPILE_SRCS:.S=.o)) obj-y += $(ASM_PARAVIRT_OBJS) define paravirtualized_xen Loading
arch/ia64/xen/xen_pv_ops.c +18 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,22 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = { = xen_intrin_local_irq_restore, }; /****************************************************************************** * replacement of hand written assembly codes. */ extern char xen_switch_to; extern char xen_leave_syscall; extern char xen_work_processed_syscall; extern char xen_leave_kernel; const struct pv_cpu_asm_switch xen_cpu_asm_switch = { .switch_to = (unsigned long)&xen_switch_to, .leave_syscall = (unsigned long)&xen_leave_syscall, .work_processed_syscall = (unsigned long)&xen_work_processed_syscall, .leave_kernel = (unsigned long)&xen_leave_kernel, }; /*************************************************************************** * pv_ops initialization */ Loading @@ -286,4 +302,6 @@ xen_setup_pv_ops(void) pv_info = xen_info; pv_init_ops = xen_init_ops; pv_cpu_ops = xen_cpu_ops; paravirt_cpu_asm_init(&xen_cpu_asm_switch); }