[SeaBIOS] [PATCH v2] boot: Fix boot order for SCSI target, lun > 9

Kevin O'Connor kevin at koconnor.net
Thu Aug 14 23:20:07 CEST 2014


On Thu, Aug 14, 2014 at 10:18:34PM +0200, Markus Armbruster wrote:
> We identify devices by their Open Firmware device paths.  The path
> component for the logical unit on a bus is incorrect:
> bootprio_find_pci_device() formats target (a.k.a. SCSI ID) and lun in
> decimal, while QEMU uses hexadecimal.  Bootorder list entries with
> target, lun > 9 aren't found (lucky case), or attributed to the wrong
> logical unit (unlucky case).
> 
> The relevant spec[*] agrees with QEMU (and OVMF, for that matter).
> Change %d to %x.
> 
> RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1096560
> 
> [*] Open Firmware Recommended Practice: SCSI-3 Parallel Interface,
> Version 1, section 3.1 Physical Address Formats and Representations
> http://www.openfirmware.org/1275/practice/spi/spi1_0.ps

Thanks.  The patch looks okay to me.  But, does bootprio_find_usb()
also need to change?

I also wonder if the ":rom%d" stuff in bootprio_find_*_rom() should
also be made hex just for consistency (though it seems unlikely a
single rom would ever have more than 10 drives on it).

-Kevin



More information about the SeaBIOS mailing list