|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 20/24] xen/passthrough: Extend XEN_DOMCTL_assign_device to support DT device
On Tue, 2015-01-13 at 14:25 +0000, Julien Grall wrote:
> TODO: Update the commit message
>
> A device node is described by a path. It will be used to retrieved the
> node in the device tree and assign the related device to the domain.
>
> Only device protected by an IOMMU can be assigned to a guest.
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
>
> ---
> Changes in v2:
> - Use a different number for XEN_DOMCTL_assign_dt_device
> ---
> tools/libxc/include/xenctrl.h | 10 ++++
> tools/libxc/xc_domain.c | 95 ++++++++++++++++++++++++++++++++--
These bits all look fine.
> +int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> + XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> +{
> + int ret;
> + struct dt_device_node *dev;
> +
> + /* TODO: How to deal with XSM? */
Adding Daniel.
It seems the PCI ones are protected by
xsm_test_assign_device(XSM_HOOK, domctl->u.assign_device.machine_sbdf);
So it seem that either this needs to become "test_assign_pci_device" and
a similar "test_assign_dt_device" needs to be added and plumbed through
or it needs to grow a type parameter and take the union for the
identifier.
The code to apply an XSM context to a DT node would need consideration
too I suppose?
> + /* TODO: Do we need to check is_dying? Mostly to protect against
> + * hypercall trying to passthrough a device while we are
> + * dying.
FWIW the PCI case appears not to care...
> + */
> +
> + switch ( domctl->cmd )
> + {
> + case XEN_DOMCTL_assign_device:
> + ret = -ENOSYS;
> + if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_DT )
> + break;
You added something similar to iommu_do_pci_domctl, would it not be
preferable for the caller to switch on domctl->u.assign_device.dev and
call the correct iommu_do_*_domctl?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |