|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH 5/23] Tools/libxc: Add viommu operations in libxc
Hi Paul:
Sorry for later response.
On 3/31/2017 3:57 AM, Chao Gao wrote:
On Wed, Mar 29, 2017 at 09:08:06AM +0000, Paul Durrant wrote:-----Original Message----- From: Xen-devel [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Chao Gao Sent: 29 March 2017 01:40 To: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Lan Tianyu <tianyu.lan@xxxxxxxxx>; Kevin Tian <kevin.tian@xxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxx Subject: Re: [Xen-devel] [RFC PATCH 5/23] Tools/libxc: Add viommu operations in libxc Tianyu is on vacation this two weeks, so I will try to address some comments on this series. On Tue, Mar 28, 2017 at 05:24:03PM +0100, Wei Liu wrote:On Fri, Mar 17, 2017 at 07:27:05PM +0800, Lan Tianyu wrote:From: Chao Gao <chao.gao@xxxxxxxxx> In previous patch, we introduce a common vIOMMU layer. In our design, we create/destroy vIOMMU through DMOP interface instead of creatingitaccording to a config flag of domain. It makes it is possible to create vIOMMU in device model or in tool stack.I've not been following this closely so apologies if this has already been asked... Why would you need to create a vIOMMU instance in an external device model. Since the toolstack should be in control of the device model configuration why would it not know in advance that one was required?I assume your question is why we don't create a vIOMMU instance via hypercall in toolstack. I think creating in toolstack is also ok and is easier to be reused by pvh. If Tianyu has no concern about this, will move this part to toolstack. We can move create/destroy vIOMMU in the tool stack but we still need to add such dummy vIOMMU device model in Qemu to pass virtual device's DMA request into Xen hypervisor. Qemu is required to use DMOP hypercall and tool stack may use domctl hyercall. vIOMMU hypercalls will be divided into two part.
Domctl:
create, destroy and query.
DMOP:
vDev's DMA related operations.
Is this OK?
Thanks, ChaoPaulThe following toolstack code is to add XEN_DMOP_viommu_XXX syscalls:Hypercalls, not syscalls.- query capabilities of vIOMMU emulated by Xen - create vIOMMU in Xen hypervisor with base address, capability - destroy vIOMMU specified by viommu_id Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> --- tools/libs/devicemodel/core.c | 69+++++++++++++++++++++++++tools/libs/devicemodel/include/xendevicemodel.h | 35 +++++++++++++ tools/libs/devicemodel/libxendevicemodel.map | 3 ++ tools/libxc/include/xenctrl_compat.h | 5 ++ tools/libxc/xc_devicemodel_compat.c | 18 +++++++ 5 files changed, 130 insertions(+) diff --git a/tools/libs/devicemodel/core.c b/tools/libs/devicemodel/core.c index a85cb49..aee1150 100644 --- a/tools/libs/devicemodel/core.c +++ b/tools/libs/devicemodel/core.cBear in mind that this library is stable, so whatever ends up here can change in the future. This is not saying the following code is problematic. It is just a general FYI. Obviously the toolstack side is going to follow the hypervisor interface, so I will do a detailed review later.Sure. If the hypervisor interface settles down, we can inform you.+int xendevicemodel_viommu_destroy( + xendevicemodel_handle *dmod, domid_t dom, uint32_t viommu_id); #endif /* __XEN_TOOLS__ */ #endif /* XENDEVICEMODEL_H */ diff --git a/tools/libs/devicemodel/libxendevicemodel.mapb/tools/libs/devicemodel/libxendevicemodel.map _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |