On 2015/4/20 21:39, Jan Beulich wrote:
On 10.04.15 at 11:21, <tiejun.c...@intel.com> 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@lists.xen.org
http://lists.xen.org/xen-devel