[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/4] scsi: fix fw path
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 3/4] scsi: fix fw path |
Date: |
Fri, 18 Nov 2011 16:32:01 +0100 |
The pre-1.0 firmware path for SCSI devices already included the LUN
using the suffix argument to add_boot_device_path. Avoid that it is
included twice, and, for consistency with the OpenFirmware spec:
1) move the "channel" to a separate device path; 2) convert the colons
to commas; 3) use hex for the numbers.
This is compatible with SeaBIOS USB boot, which only looks at the
prefix for the usb-storage device (e.g.
/address@hidden/address@hidden,2/address@hidden),
and never at the SCSI part.
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/scsi-bus.c | 4 ++--
hw/scsi-disk.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index 61c883f..07d6a7d 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi-bus.c
@@ -1307,8 +1307,8 @@ static char *scsibus_get_fw_dev_path(DeviceState *dev)
SCSIDevice *d = DO_UPCAST(SCSIDevice, qdev, dev);
char path[100];
- snprintf(path, sizeof(path), "address@hidden:%d:%d", qdev_fw_name(dev),
- d->channel, d->id, d->lun);
+ snprintf(path, sizeof(path), "address@hidden/address@hidden,%x",
d->channel,
+ qdev_fw_name(dev), d->id, d->lun);
return strdup(path);
}
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index 9da6d36..16a4714 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -1581,7 +1581,7 @@ static int scsi_initfn(SCSIDevice *dev)
bdrv_set_buffer_alignment(s->qdev.conf.bs, s->qdev.blocksize);
bdrv_iostatus_enable(s->qdev.conf.bs);
- add_boot_device_path(s->qdev.conf.bootindex, &dev->qdev, ",0");
+ add_boot_device_path(s->qdev.conf.bootindex, &dev->qdev, NULL);
return 0;
}
--
1.7.7.1