From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53933) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZOV6-0004Ow-KV for qemu-devel@nongnu.org; Wed, 01 Oct 2014 14:19:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XZOUz-00041j-RU for qemu-devel@nongnu.org; Wed, 01 Oct 2014 14:19:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZOUz-00041c-K0 for qemu-devel@nongnu.org; Wed, 01 Oct 2014 14:19:37 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s91IJa9Z012212 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 1 Oct 2014 14:19:36 -0400 From: John Snow Date: Wed, 1 Oct 2014 14:19:23 -0400 Message-Id: <1412187569-23452-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/6] Q35: Implement -cdrom/-hda sugar List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, John Snow , armbru@redhat.com, stefanha@redhat.com, mst@redhat.com 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