[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 1/3] ioreq-server: add support for multiple servers
> -----Original Message----- > From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > Sent: 22 May 2014 14:26 > To: Paul Durrant > Cc: Ian Jackson; Stefano Stabellini; xen-devel@xxxxxxxxxxxxx; > dgdegra@xxxxxxxxxxxxx > Subject: Re: [Xen-devel] [PATCH v10 1/3] ioreq-server: add support for > multiple servers > > >>> On 22.05.14 at 12:38, <paul.durrant@xxxxxxxxxx> wrote: > > The previous single ioreq server that was created on demand now > > becomes the default server and an API is created to allow secondary > > servers, which handle specific IO ranges or PCI devices, to be added. > > > > When the guest issues an IO the list of secondary servers is checked > > for a matching IO range or PCI device. If none is found then the IO > > is passed to the default server. > > > > Secondary servers use guest pages to communicate with emulators, in > > the same way as the default server. These pages need to be in the > > guest physmap otherwise there is no suitable reference that can be > > queried by an emulator in order to map them. Therefore a pool of > > pages in the current E820 reserved region, just below the special > > pages is used. Secondary servers allocate from and free to this pool > > as they are created and destroyed. > > > > The size of the pool is currently hardcoded in the domain build at a > > value of 8. This should be sufficient for now and both the location and > > size of the pool can be modified in future without any need to change the > > API. > > > > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > > Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > > Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > Cc: Jan Beulich <jbeulich@xxxxxxxx> > > --- > > tools/libxc/xc_domain.c | 224 ++++++++++ > > tools/libxc/xc_domain_restore.c | 48 ++ > > tools/libxc/xc_domain_save.c | 24 + > > tools/libxc/xc_hvm_build_x86.c | 50 ++- > > tools/libxc/xc_private.c | 16 +- > > tools/libxc/xenctrl.h | 143 +++++- > > tools/libxc/xg_save_restore.h | 3 + > > xen/arch/x86/hvm/hvm.c | 908 > ++++++++++++++++++++++++++++++++++---- > > xen/arch/x86/hvm/io.c | 2 +- > > xen/include/asm-x86/hvm/domain.h | 26 +- > > xen/include/asm-x86/hvm/hvm.h | 1 + > > xen/include/public/hvm/hvm_op.h | 120 +++++ > > xen/include/public/hvm/ioreq.h | 9 +- > > xen/include/public/hvm/params.h | 5 +- > > xen/include/xen/list.h | 9 + > > xen/include/xsm/dummy.h | 6 + > > xen/include/xsm/xsm.h | 6 + > > xen/xsm/flask/hooks.c | 6 + > > 18 files changed, 1497 insertions(+), 109 deletions(-) > > So I was about to apply this when I noticed the still missing ack from > Daniel on the XSM changes - you didn't even Cc him (now done). > Ah, I forgot to re-run get_maintainer after adding that code. Sorry. Paul > Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |