aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/sysctl.c
diff options
context:
space:
mode:
authorEmmanuel Ackaouy <ack@xensource.com>2007-01-05 17:34:38 +0000
committerEmmanuel Ackaouy <ack@xensource.com>2007-01-05 17:34:38 +0000
commita6f33d81e1b8a2012ea6b34387ef59d6f4bec2b1 (patch)
treed79366472426928d50e0ec166355372b21ffc285 /xen/common/sysctl.c
parentb0a4c24ddae72f424710456f054297153565222f (diff)
downloadxen-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.c18
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;