On Tue, Dec 15, 2009 at 03:14:49PM +0000, Daniel P. Berrange wrote:
The old syntax is
-pcidevice host=BUS:SLOT:FUNCTION
The new syntax is
-device pci-assign,host=BUS:SLOT:FUNCTION
---
src/qemu/qemu_conf.c | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index ac322a7..f8c6ae6 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -2852,22 +2852,26 @@ int qemudBuildCommandLine(virConnectPtr conn,
/* PCI */
if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
- if (!(qemuCmdFlags & QEMUD_CMD_FLAG_PCIDEVICE)) {
+ if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) {
+ ADD_ARG_LIT("-device");
+ ret = virAsprintf(&pcidev,
"pci-assign,host=%.2x:%.2x.%.1x",
+ hostdev->source.subsys.u.pci.bus,
+ hostdev->source.subsys.u.pci.slot,
+ hostdev->source.subsys.u.pci.function);
+ } else if (qemuCmdFlags & QEMUD_CMD_FLAG_PCIDEVICE) {
+ ADD_ARG_LIT("-pcidevice");
+ ret = virAsprintf(&pcidev, "host=%.2x:%.2x.%.1x",
+ hostdev->source.subsys.u.pci.bus,
+ hostdev->source.subsys.u.pci.slot,
+ hostdev->source.subsys.u.pci.function);
+ } else {
qemudReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT, "%s",
_("PCI device assignment is not supported by this
version of qemu"));
goto error;
}
- ret = virAsprintf(&pcidev, "host=%.2x:%.2x.%.1x",
- hostdev->source.subsys.u.pci.bus,
- hostdev->source.subsys.u.pci.slot,
- hostdev->source.subsys.u.pci.function);
- if (ret < 0) {
- pcidev = NULL;
+ if (ret < 0)
goto no_memory;
- }
- ADD_ARG_LIT("-pcidevice");
- ADD_ARG_LIT(pcidev);
- VIR_FREE(pcidev);
+ ADD_ARG(pcidev);
}
}
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/