diff options
author | Emmanuel Ackaouy <ack@xensource.com> | 2007-01-05 17:34:38 +0000 |
---|---|---|
committer | Emmanuel Ackaouy <ack@xensource.com> | 2007-01-05 17:34:38 +0000 |
commit | a6f33d81e1b8a2012ea6b34387ef59d6f4bec2b1 (patch) | |
tree | d79366472426928d50e0ec166355372b21ffc285 /xen/common/sysctl.c | |
parent | b0a4c24ddae72f424710456f054297153565222f (diff) | |
download | xen-a6f33d81e1b8a2012ea6b34387ef59d6f4bec2b1.tar.gz xen-a6f33d81e1b8a2012ea6b34387ef59d6f4bec2b1.tar.bz2 xen-a6f33d81e1b8a2012ea6b34387ef59d6f4bec2b1.zip |
Enable compatibility mode operation for HYPERVISOR_sysctl.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/common/sysctl.c')
-rw-r--r-- | xen/common/sysctl.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c index 9f991f39b3..33a5108079 100644 --- a/xen/common/sysctl.c +++ b/xen/common/sysctl.c @@ -21,14 +21,17 @@ #include <asm/current.h> #include <public/sysctl.h> -extern long arch_do_sysctl( +#ifndef COMPAT +typedef long ret_t; +#define copy_to_xxx_offset copy_to_guest_offset +#endif + +extern ret_t arch_do_sysctl( struct xen_sysctl *op, XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl); -extern void getdomaininfo( - struct domain *d, struct xen_domctl_getdomaininfo *info); -long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) +ret_t do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) { - long ret = 0; + ret_t ret = 0; struct xen_sysctl curop, *op = &curop; static DEFINE_SPINLOCK(sysctl_lock); @@ -98,8 +101,8 @@ long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) put_domain(d); - if ( copy_to_guest_offset(op->u.getdomaininfolist.buffer, - num_domains, &info, 1) ) + if ( copy_to_xxx_offset(op->u.getdomaininfolist.buffer, + num_domains, &info, 1) ) { ret = -EFAULT; break; @@ -123,7 +126,6 @@ long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) #ifdef PERF_COUNTERS case XEN_SYSCTL_perfc_op: { - extern int perfc_control(xen_sysctl_perfc_op_t *); ret = perfc_control(&op->u.perfc_op); if ( copy_to_guest(u_sysctl, op, 1) ) ret = -EFAULT; |