aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-05-13 14:36:06 +0200
committerJan Beulich <jbeulich@suse.com>2013-05-13 14:36:06 +0200
commit00c1c1f045b2051dde6b3bcb06b9570833859a45 (patch)
treef70ab7c99cae7dbf6b20a783197d1ab244d952a6
parentd0d7f4de85e70595b5b6a77a1f0105b930ca82bd (diff)
downloadxen-00c1c1f045b2051dde6b3bcb06b9570833859a45.tar.gz
xen-00c1c1f045b2051dde6b3bcb06b9570833859a45.tar.bz2
xen-00c1c1f045b2051dde6b3bcb06b9570833859a45.zip
also move compat mode VCPUOP_register_vcpu_info into common code
Otherwise, with arch_compat_vcpu_op() calling arch_do_vcpu_op() to handle it, it results in -ENOSYS after 6ff9e4f7 ("xen: move VCPUOP_register_vcpu_info to common code") for 32-bit x86 domains. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
-rw-r--r--xen/arch/x86/x86_64/domain.c9
-rw-r--r--xen/common/compat/domain.c9
2 files changed, 9 insertions, 9 deletions
diff --git a/xen/arch/x86/x86_64/domain.c b/xen/arch/x86/x86_64/domain.c
index d630ef4c14..2096b2c582 100644
--- a/xen/arch/x86/x86_64/domain.c
+++ b/xen/arch/x86/x86_64/domain.c
@@ -9,14 +9,6 @@
#include <xen/hypercall.h>
#include <compat/vcpu.h>
-#define xen_vcpu_info vcpu_info
-CHECK_SIZE_(struct, vcpu_info);
-#undef xen_vcpu_info
-
-#define xen_vcpu_register_vcpu_info vcpu_register_vcpu_info
-CHECK_vcpu_register_vcpu_info;
-#undef xen_vcpu_register_vcpu_info
-
#define xen_vcpu_get_physid vcpu_get_physid
CHECK_vcpu_get_physid;
#undef xen_vcpu_get_physid
@@ -63,7 +55,6 @@ arch_compat_vcpu_op(
break;
}
- case VCPUOP_register_vcpu_info:
case VCPUOP_get_physid:
rc = arch_do_vcpu_op(cmd, v, arg);
break;
diff --git a/xen/common/compat/domain.c b/xen/common/compat/domain.c
index 44ba78ddc7..e756f54c68 100644
--- a/xen/common/compat/domain.c
+++ b/xen/common/compat/domain.c
@@ -15,6 +15,14 @@
CHECK_vcpu_set_periodic_timer;
#undef xen_vcpu_set_periodic_timer
+#define xen_vcpu_info vcpu_info
+CHECK_SIZE_(struct, vcpu_info);
+#undef xen_vcpu_info
+
+#define xen_vcpu_register_vcpu_info vcpu_register_vcpu_info
+CHECK_vcpu_register_vcpu_info;
+#undef xen_vcpu_register_vcpu_info
+
int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct domain *d = current->domain;
@@ -64,6 +72,7 @@ int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
case VCPUOP_set_periodic_timer:
case VCPUOP_stop_periodic_timer:
case VCPUOP_stop_singleshot_timer:
+ case VCPUOP_register_vcpu_info:
case VCPUOP_send_nmi:
rc = do_vcpu_op(cmd, vcpuid, arg);
break;