From c2cc47a449c3e16f7dd4d19a536c649ec56a9ac9 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 18 Jun 2009 15:14:10 +0200 Subject: Support addr=... in option argument of -drive if=virtio Make drive_init() accept addr=, put the value into struct DriveInfo. Use it in all the places that create virtio-blk-pci devices: pc_init1(), bamboo_init(), mpc8544ds_init(). Don't support addr= in third argument of monitor command pci_add and second argument of drive_add, because that clashes with their first arguments. Admittedly unelegant. Signed-off-by: Markus Armbruster Signed-off-by: Anthony Liguori --- hw/pc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'hw/pc.c') diff --git a/hw/pc.c b/hw/pc.c index d5c8c3c3b0..19021eafb6 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -848,6 +848,7 @@ static void pc_init1(ram_addr_t ram_size, ram_addr_t below_4g_mem_size, above_4g_mem_size = 0; int bios_size, isa_bios_size, oprom_area_size; PCIBus *pci_bus; + PCIDevice *pci_dev; int piix3_devfn = -1; CPUState *env; qemu_irq *cpu_irq; @@ -1161,7 +1162,9 @@ static void pc_init1(ram_addr_t ram_size, int unit_id = 0; while ((index = drive_get_index(IF_VIRTIO, 0, unit_id)) != -1) { - pci_create_simple(pci_bus, -1, "virtio-blk-pci"); + pci_dev = pci_create("virtio-blk-pci", + drives_table[index].devaddr); + qdev_init(&pci_dev->qdev); unit_id++; } } -- cgit v1.2.1