kill drives_table
First step cleaning up the drives handling. This one does nothing but
removing drives_table[], still it became seriously big.
drive_get_index() is gone and is replaced by drives_get() which hands
out DriveInfo pointers instead of a table index. This needs adaption in
*tons* of places all over.
The drives are now maintained as linked list.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 6ae5000..162f88d 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -40,7 +40,8 @@
const char *cpu_model)
{
CPUState *env;
- int i, index;
+ DriveInfo *dinfo;
+ int i;
/* Initialize a dummy CPU */
if (cpu_model == NULL) {
@@ -90,10 +91,10 @@
/* configure disks */
for (i = 0; i < 16; i++) {
- index = drive_get_index(IF_XEN, 0, i);
- if (index == -1)
+ dinfo = drive_get(IF_XEN, 0, i);
+ if (!dinfo)
continue;
- xen_config_dev_blk(drives_table + index);
+ xen_config_dev_blk(dinfo);
}
/* configure nics */