qdev scsi bus infrastructure

Signed-off-by: Paul Brook <paul@codesourcery.com>
This commit is contained in:
Paul Brook 2009-05-14 22:35:07 +01:00
parent 6b1b92d35b
commit 6f68ecb2c1
2 changed files with 23 additions and 0 deletions

View file

@ -265,3 +265,22 @@ void qdev_attach_child_bus(DeviceState *dev, const char *name, void *bus)
p->next = dev->child_bus;
dev->child_bus = p;
}
static int next_scsi_bus;
/* Create a scsi bus, and attach devices to it. */
/* TODO: Actually create a scsi bus for hotplug to use. */
void scsi_bus_new(DeviceState *host, SCSIAttachFn attach)
{
int bus = next_scsi_bus++;
int unit;
int index;
for (unit = 0; unit < MAX_SCSI_DEVS; unit++) {
index = drive_get_index(IF_SCSI, bus, unit);
if (index == -1) {
continue;
}
attach(host, drives_table[index].bdrv, unit);
}
}