diff options
Diffstat (limited to 'tools/libxc/xc_csched2.c')
-rw-r--r-- | tools/libxc/xc_csched2.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tools/libxc/xc_csched2.c b/tools/libxc/xc_csched2.c new file mode 100644 index 0000000000..d25e59a9af --- /dev/null +++ b/tools/libxc/xc_csched2.c @@ -0,0 +1,50 @@ +/**************************************************************************** + * (C) 2006 - Emmanuel Ackaouy - XenSource Inc. + **************************************************************************** + * + * File: xc_csched.c + * Author: Emmanuel Ackaouy + * + * Description: XC Interface to the credit scheduler + * + */ +#include "xc_private.h" + + +int +xc_sched_credit2_domain_set( + int xc_handle, + uint32_t domid, + struct xen_domctl_sched_credit2 *sdom) +{ + DECLARE_DOMCTL; + + domctl.cmd = XEN_DOMCTL_scheduler_op; + domctl.domain = (domid_t) domid; + domctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2; + domctl.u.scheduler_op.cmd = XEN_DOMCTL_SCHEDOP_putinfo; + domctl.u.scheduler_op.u.credit2 = *sdom; + + return do_domctl(xc_handle, &domctl); +} + +int +xc_sched_credit2_domain_get( + int xc_handle, + uint32_t domid, + struct xen_domctl_sched_credit2 *sdom) +{ + DECLARE_DOMCTL; + int err; + + domctl.cmd = XEN_DOMCTL_scheduler_op; + domctl.domain = (domid_t) domid; + domctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2; + domctl.u.scheduler_op.cmd = XEN_DOMCTL_SCHEDOP_getinfo; + + err = do_domctl(xc_handle, &domctl); + if ( err == 0 ) + *sdom = domctl.u.scheduler_op.u.credit2; + + return err; +} |