Amit Shah wrote:
This patch adds support for hot-plugging host PCI devices into
guests
Instead of using assigned, it should probably be host.
Regards,
Anthony Liguori
Signed-off-by: Amit Shah [EMAIL PROTECTED]
---
qemu/hw/device-hotplug.c | 19 +++
qemu/monitor.c |2 +-
2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/qemu/hw/device-hotplug.c b/qemu/hw/device-hotplug.c
index 8e2bc35..6d2ab8e 100644
--- a/qemu/hw/device-hotplug.c
+++ b/qemu/hw/device-hotplug.c
@@ -6,6 +6,7 @@
#include pc.h
#include console.h
#include block_int.h
+#include device-assignment.h
#define PCI_BASE_CLASS_STORAGE 0x01
#define PCI_BASE_CLASS_NETWORK 0x02
@@ -27,6 +28,22 @@ static PCIDevice *qemu_system_hot_add_nic(const char *opts,
int bus_nr)
return pci_nic_init (pci_bus, nd_table[ret], -1);
}
+static PCIDevice *qemu_system_hot_assign_device(const char *opts, int bus_nr)
+{
+int index;
+PCIBus *pci_bus;
+
+pci_bus = pci_find_bus(bus_nr);
+if (!pci_bus) {
+term_printf (Can't find pci_bus %d\n, bus_nr);
+return NULL;
+}
+add_assigned_device(opts);
+
+index = -1;
+return init_assigned_device(pci_bus, index);
+}
+
static int add_init_drive(const char *opts)
{
int drive_opt_idx, drive_idx;
@@ -143,6 +160,8 @@ void device_hot_add(int pcibus, const char *type, const
char *opts)
dev = qemu_system_hot_add_nic(opts, pcibus);
else if (strcmp(type, storage) == 0)
dev = qemu_system_hot_add_storage(opts, pcibus);
+else if (strcmp(type, assigned) == 0)
+dev = qemu_system_hot_assign_device(opts, pcibus);
else
term_printf(invalid type: %s\n, type);
diff --git a/qemu/monitor.c b/qemu/monitor.c
index 2619fdd..6cf5e8a 100644
--- a/qemu/monitor.c
+++ b/qemu/monitor.c
@@ -1516,7 +1516,7 @@ static term_cmd_t term_cmds[] = {
[,cyls=c,heads=h,secs=s[,trans=t]]\n
[snapshot=on|off][,cache=on|off],
add drive to PCI storage controller
},
-{ pci_add, iss, device_hot_add, bus nic|storage
[[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]..., hot-add PCI device },
+{ pci_add, iss, device_hot_add, bus nic|storage|assigned
[[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]... [host=02:00.0[,name=string][,dma=none]
hot-add PCI device },
{ pci_del, ii, device_hot_remove, bus slot-number, hot remove PCI
device },
#endif
{ balloon, i, do_balloon,
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html