ia64/xen-unstable

changeset 9566:99b2e765d643

Enable HYPERVISOR_sched_op() and HYPERVISOR_sched_opt_compat() for ia64.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author kaf24@firebug.cl.cam.ac.uk
date Sun Apr 02 09:49:17 2006 +0100 (2006-04-02)
parents b524714dfb66
children 4ad317429111
files xen/arch/ia64/xen/hypercall.c
line diff
     1.1 --- a/xen/arch/ia64/xen/hypercall.c	Sun Apr 02 09:48:04 2006 +0100
     1.2 +++ b/xen/arch/ia64/xen/hypercall.c	Sun Apr 02 09:49:17 2006 +0100
     1.3 @@ -38,7 +38,7 @@ hypercall_t ia64_hypercall_table[] =
     1.4  	(hypercall_t)do_ni_hypercall,		/* do_stack_switch */
     1.5  	(hypercall_t)do_ni_hypercall,		/* do_set_callbacks */
     1.6  	(hypercall_t)do_ni_hypercall,		/* do_fpu_taskswitch */		/*  5 */
     1.7 -	(hypercall_t)do_ni_hypercall,		/* do_sched_op_compat */
     1.8 +	(hypercall_t)do_sched_op_compat,
     1.9  	(hypercall_t)do_dom0_op,
    1.10  	(hypercall_t)do_ni_hypercall,		/* do_set_debugreg */
    1.11  	(hypercall_t)do_ni_hypercall,		/* do_get_debugreg */
    1.12 @@ -61,7 +61,7 @@ hypercall_t ia64_hypercall_table[] =
    1.13  	(hypercall_t)do_ni_hypercall,		/* do_mmuext_op */
    1.14  	(hypercall_t)do_ni_hypercall,		/* do_acm_op */
    1.15  	(hypercall_t)do_ni_hypercall,		/* do_nmi_op */
    1.16 -	(hypercall_t)do_ni_hypercall,		/*  */
    1.17 +	(hypercall_t)do_sched_op,
    1.18  	(hypercall_t)do_ni_hypercall,		/*  */				/* 30 */
    1.19  	(hypercall_t)do_ni_hypercall		/*  */
    1.20  	};
    1.21 @@ -70,6 +70,11 @@ static int
    1.22  xen_hypercall (struct pt_regs *regs)
    1.23  {
    1.24  	switch (regs->r2) {
    1.25 +	    case __HYPERVISOR_sched_op_compat:
    1.26 +		regs->r8 = do_sched_op_compat((int) regs->r14,
    1.27 +		                              (unsigned long) regs->r15);
    1.28 +		break;
    1.29 +
    1.30  	    case __HYPERVISOR_dom0_op:
    1.31  		regs->r8 = do_dom0_op(guest_handle_from_ptr(regs->r14,
    1.32  							    dom0_op_t));
    1.33 @@ -117,6 +122,11 @@ xen_hypercall (struct pt_regs *regs)
    1.34  		regs->r8 = do_multicall(guest_handle_from_ptr(regs->r14, multicall_entry_t), (unsigned int) regs->r15);
    1.35  		break;
    1.36  
    1.37 +	    case __HYPERVISOR_sched_op:
    1.38 +		regs->r8 = do_sched_op((int) regs->r14,
    1.39 +		                       guest_handle_from_ptr(regs->r15, void));
    1.40 +		break;
    1.41 +
    1.42  	    default:
    1.43  		printf("unknown xen hypercall %lx\n", regs->r2);
    1.44  		regs->r8 = do_ni_hypercall();