On Wed, Oct 01, 2014 at 02:19:23PM -0400, John Snow wrote: > The Q35 board initialization does not currently bother to look > for any drives added by the various syntactical sugar shorthands > to be added to the AHCI HBA. These include -hda through -hdd, > -cdrom, and -drive if=ide shorthands. > > An obstacle to having implemented this sooner is debate over > whether or not to add an additional interface type, and how to > manage the different units-per-bus mappings of various HBA > implementations. > > This patch series: > (1) Does not add IF_AHCI, but reuses IF_IDE > (2) Allows the if_max_devs table to be overridden > (3) Adds this override to the Q35 board type. > (4) Finally, adds implementation to Q35 initialization. > > History: > > V3: > > - renamed a variable for consistency ("tab" to "hd") > - Now uses ARRAY_SIZE() for calls to ide_drive_get where applicable > - Re-added a call to exit() for the error pathway of ide_drive_get > - Adjusted drive_get_max_devs semantics to be similar to drive_get_max_bus > and added documentation > - Removed any possibility of a divide-by-zero in ide_drive_get > > V2: > - Adjusted language in patch #1's commit message. > (drive if=none will NOT trigger warnings) > - Removed superfluous warning with bad phrasing in patch #1 > - Removed if_get_max_devs from patch #2 and added to patch #4 > - Added an assertion to patch #2 > - Added more detail to patch #3's commit message > - Specified that Patch #3 will affect old Q35 machine types > - Changed fprintf to error_report in patch #4 > - Replaced max_bus parameter in ide_drive_get with 'n', size of array > - Updated calls to ide_drive_get in other boards > - Adjusted language in patch #6's commit message. > (Removed reference to patch #5.) > > V1: > - Re-uses ide_drive_get instead of ahci_drive_get > - Adds units-per-bus property to all Q35 machines > - Changes orphan scanning to exclude IF_NONE and > automatically added drives > - Renames 'units-per-idebus' to 'units-per-default-bus' > And allows override of any one IF type (block_default) > > RFC2: > - Rewrote series to avoid the creation of IF_AHCI. > > John Snow (6): > blockdev: Orphaned drive search > blockdev: Allow overriding if_max_dev property > pc/vl: Add units-per-default-bus property > ide: Update ide_drive_get to be HBA agnostic > qtest/bios-tables: Correct Q35 command line > q35/ahci: Pick up -cdrom and -hda options > > blockdev.c | 64 > ++++++++++++++++++++++++++++++++++++++++++++++- > hw/alpha/dp264.c | 2 +- > hw/i386/pc.c | 1 + > hw/i386/pc_piix.c | 2 +- > hw/i386/pc_q35.c | 7 +++++- > hw/ide/ahci.c | 15 +++++++++++ > hw/ide/ahci.h | 2 ++ > hw/ide/core.c | 22 ++++++++++++---- > hw/mips/mips_fulong2e.c | 2 +- > hw/mips/mips_malta.c | 2 +- > hw/mips/mips_r4k.c | 2 +- > hw/ppc/mac_newworld.c | 2 +- > hw/ppc/mac_oldworld.c | 2 +- > hw/ppc/prep.c | 2 +- > hw/sparc64/sun4u.c | 2 +- > include/hw/boards.h | 2 ++ > include/sysemu/blockdev.h | 5 ++++ > tests/bios-tables-test.c | 10 +++----- > vl.c | 18 ++++++++++++- > 19 files changed, 141 insertions(+), 23 deletions(-) > > -- > 1.9.3 > >
Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
pgpXp9xe400od.pgp
Description: PGP signature