From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v1 2/4] xen-version: Add third parameter (len) to the do_version hypercall. Date: Thu, 8 Oct 2015 22:56:28 -0400 Message-ID: <1444359390-14153-3-git-send-email-konrad.wilk@oracle.com> References: <1444359390-14153-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZkNra-0001iQ-ON for xen-devel@lists.xenproject.org; Fri, 09 Oct 2015 02:56:54 +0000 In-Reply-To: <1444359390-14153-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: ian.campbell@citrix.com, xen-devel@lists.xenproject.org, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, andrew.cooper3@citrix.com, mpohlack@amazon.de, dgdegra@tycho.nsa.gov Cc: Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org All existing commands ignore the parameter so this does not break the ABI. This paves the way for expanding the XENVER_ hypercall with variable size structures, such as "XENVER_build_id: Provide ld-embedded build-ids" Suggested-by: Andrew Cooper Signed-off-by: Konrad Rzeszutek Wilk --- xen/arch/arm/traps.c | 2 +- xen/common/kernel.c | 3 ++- xen/include/xen/hypercall.h | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index 9d2bd6a..9d687c4 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -1223,7 +1223,7 @@ static arm_hypercall_t arm_hypercall_table[] = { HYPERCALL(sched_op, 2), HYPERCALL_DEPRECATED(sched_op_compat, 2), HYPERCALL(console_io, 3), - HYPERCALL(xen_version, 2), + HYPERCALL(xen_version, 3), HYPERCALL(xsm_op, 1), HYPERCALL(event_channel_op, 2), HYPERCALL_DEPRECATED(event_channel_op_compat, 1), diff --git a/xen/common/kernel.c b/xen/common/kernel.c index 210ec99..7bab8de 100644 --- a/xen/common/kernel.c +++ b/xen/common/kernel.c @@ -230,7 +230,8 @@ void __init do_initcalls(void) #define XENVER_CMD_XSM_CHECK ( (1U << XENVER_compile_info) | \ (1U << XENVER_changeset) | \ (1U << XENVER_commandline) ) -DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) +DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg, + unsigned int len) { if ( ( 1 << cmd ) & XENVER_CMD_XSM_CHECK ) { diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h index 26cb615..59b63ee 100644 --- a/xen/include/xen/hypercall.h +++ b/xen/include/xen/hypercall.h @@ -83,7 +83,8 @@ do_event_channel_op( extern long do_xen_version( int cmd, - XEN_GUEST_HANDLE_PARAM(void) arg); + XEN_GUEST_HANDLE_PARAM(void) arg, + unsigned int len); extern long do_console_io( @@ -168,7 +169,8 @@ compat_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg); extern int compat_xen_version( int cmd, - XEN_GUEST_HANDLE_PARAM(void) arg); + XEN_GUEST_HANDLE_PARAM(void) arg, + unsigned int len); extern int compat_sched_op( -- 2.1.0