From 6f68ecb2c11d90212d6f7d06c857843d30abcfdc Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 14 May 2009 22:35:07 +0100 Subject: qdev scsi bus infrastructure Signed-off-by: Paul Brook --- hw/qdev.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'hw/qdev.c') diff --git a/hw/qdev.c b/hw/qdev.c index db6f696..a97f425 100644 --- a/hw/qdev.c +++ b/hw/qdev.c @@ -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); + } +} -- cgit v1.1