[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC][PATCH 08/13] tools: extend xc_assign_device() to support rdm reservation policy
On 2015/4/20 21:39, Jan Beulich wrote: On 10.04.15 at 11:21, <tiejun.chen@xxxxxxxxx> wrote:--- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -1654,13 +1654,15 @@ int xc_domain_setdebugging(xc_interface *xch, int xc_assign_device( xc_interface *xch, uint32_t domid, - uint32_t machine_sbdf) + uint32_t machine_sbdf, + uint32_t flag) { DECLARE_DOMCTL; domctl.cmd = XEN_DOMCTL_assign_device; domctl.domain = domid; domctl.u.assign_device.machine_sbdf = machine_sbdf; + domctl.u.assign_device.sbdf_flag = flag;The previous patch needs to initialize this field, in order to not pass random input to the hypervisor. Using the ..._TRY value here intermediately (until this patch gets applied) would seem the right approach. If I'm correct, looks I should introduce a little of change in previous patch, diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 250d1e4..0bcfd87 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -1513,7 +1513,7 @@ int iommu_do_pci_domctl( { u16 seg; u8 bus, devfn; - u32 flag; + u32 flag = XEN_DOMCTL_PCIDEV_RDM_TRY; int ret = 0; switch ( domctl->cmd ) @@ -1582,7 +1582,6 @@ int iommu_do_pci_domctl( seg = domctl->u.assign_device.machine_sbdf >> 16; bus = (domctl->u.assign_device.machine_sbdf >> 8) & 0xff; devfn = domctl->u.assign_device.machine_sbdf & 0xff; - flag = domctl->u.assign_device.flag; ret = device_assigned(seg, bus, devfn) ?: assign_device(d, seg, bus, devfn, flag); Then in this patch, @@ -1513,7 +1513,7 @@ int iommu_do_pci_domctl( { u16 seg; u8 bus, devfn; - u32 flag = XEN_DOMCTL_PCIDEV_RDM_TRY; + u32 flag; int ret = 0; switch ( domctl->cmd ) @@ -1582,6 +1582,7 @@ int iommu_do_pci_domctl( seg = domctl->u.assign_device.machine_sbdf >> 16; bus = (domctl->u.assign_device.machine_sbdf >> 8) & 0xff; devfn = domctl->u.assign_device.machine_sbdf & 0xff; + flag = domctl->u.assign_device.flag; ret = device_assigned(seg, bus, devfn) ?: assign_device(d, seg, bus, devfn, flag); Thanks Tiejun _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |