mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
libxl: do not ignore the per-device msitranslate and power_mgmt opts
Do not ignore the per-device msitranslate and power_mgmt options: they need to be appended to the bdf. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
1 parent
bcf2222520
commit
c9782bae2b
1 file changed
+7
-4
@@ -21,6 +21,7 @@
|
||||
#define PCI_BDF "%04x:%02x:%02x.%01x"
|
||||
#define PCI_BDF_SHORT "%02x:%02x.%01x"
|
||||
#define PCI_BDF_VDEVFN "%04x:%02x:%02x.%01x@%02x"
|
||||
#define PCI_OPTIONS "msitranslate=%d,power_mgmt=%d"
|
||||
#define PCI_BDF_XSPATH "%04x-%02x-%02x-%01x"
|
||||
|
||||
static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
|
||||
@@ -814,12 +815,14 @@ static int qemu_pci_add_xenstore(libxl__gc *gc, uint32_t domid,
|
||||
path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/parameter",
|
||||
domid);
|
||||
if (pcidev->vdevfn) {
|
||||
libxl__xs_write(gc, XBT_NULL, path, PCI_BDF_VDEVFN,
|
||||
libxl__xs_write(gc, XBT_NULL, path, PCI_BDF_VDEVFN","PCI_OPTIONS,
|
||||
pcidev->domain, pcidev->bus, pcidev->dev,
|
||||
pcidev->func, pcidev->vdevfn);
|
||||
pcidev->func, pcidev->vdevfn, pcidev->msitranslate,
|
||||
pcidev->power_mgmt);
|
||||
} else {
|
||||
libxl__xs_write(gc, XBT_NULL, path, PCI_BDF, pcidev->domain,
|
||||
pcidev->bus, pcidev->dev, pcidev->func);
|
||||
libxl__xs_write(gc, XBT_NULL, path, PCI_BDF","PCI_OPTIONS,
|
||||
pcidev->domain, pcidev->bus, pcidev->dev,
|
||||
pcidev->func, pcidev->msitranslate, pcidev->power_mgmt);
|
||||
}
|
||||
|
||||
libxl__qemu_traditional_cmd(gc, domid, "pci-ins");
|
||||
|
||||