From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v4 5/8] ioreq-server: add support for multiple servers Date: Thu, 3 Apr 2014 16:43:15 +0100 Message-ID: <533D8193.9090002@eu.citrix.com> References: <1396451496-5716-1-git-send-email-paul.durrant@citrix.com> <1396451496-5716-6-git-send-email-paul.durrant@citrix.com> <9AAE0902D5BC7E449B7C8E4E778ABCD02BBDAB@AMSPEX01CL01.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD02BBDAB@AMSPEX01CL01.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Paul Durrant , George Dunlap Cc: Ian Jackson , Stefano Stabellini , Ian Campbell , Jan Beulich , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 04/03/2014 04:39 PM, Paul Durrant wrote: >> -----Original Message----- >> From: dunlapg@gmail.com [mailto:dunlapg@gmail.com] On Behalf Of >> George Dunlap >> Sent: 03 April 2014 16:33 >> To: Paul Durrant >> Cc: xen-devel@lists.xen.org; Ian Jackson; Ian Campbell; Jan Beulich; Stefano >> Stabellini >> Subject: Re: [Xen-devel] [PATCH v4 5/8] ioreq-server: add support for >> multiple servers >> >> On Wed, Apr 2, 2014 at 4:11 PM, Paul Durrant >> wrote: >> +++++++++++++++++++++++++++++++++++--- >>> >>> diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c >>> index 369c3f3..8cec171 100644 >>> --- a/tools/libxc/xc_domain.c >>> +++ b/tools/libxc/xc_domain.c >>> @@ -1284,6 +1284,181 @@ int xc_get_hvm_param(xc_interface *handle, >> domid_t dom, int param, unsigned long >>> return rc; >>> } >>> >>> +int xc_hvm_create_ioreq_server(xc_interface *xch, >>> + domid_t domid, >>> + ioservid_t *id) >>> +{ >>> + DECLARE_HYPERCALL; >>> + DECLARE_HYPERCALL_BUFFER(xen_hvm_create_ioreq_server_t, arg); >>> + int rc; >>> + >>> + arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg)); >>> + if ( arg == NULL ) >>> + return -1; >>> + >>> + hypercall.op = __HYPERVISOR_hvm_op; >>> + hypercall.arg[0] = HVMOP_create_ioreq_server; >>> + hypercall.arg[1] = HYPERCALL_BUFFER_AS_ARG(arg); >>> + arg->domid = domid; >>> + rc = do_xen_hypercall(xch, &hypercall); >>> + *id = arg->id; >>> + xc_hypercall_buffer_free(xch, arg); >>> + return rc; >>> +} >> Sorry if I missed it, but was there anywhere the 8-server limit is >> checked? What happens if someone calls xc_hvm_create_ioreq_server() 9 >> times? Just checking -- did you miss this question, or are you going to come back to it later? :-) -George