From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YdfHL-0001vR-Rl for qemu-devel@nongnu.org; Thu, 02 Apr 2015 09:35:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YdfHG-0002HQ-Du for qemu-devel@nongnu.org; Thu, 02 Apr 2015 09:35:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44342) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YdfHG-0002HL-5F for qemu-devel@nongnu.org; Thu, 02 Apr 2015 09:35:22 -0400 From: Markus Armbruster Date: Thu, 2 Apr 2015 15:35:12 +0200 Message-Id: <1427981717-7682-1-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PULL v2 0/5] hw: Contain drive, serial, parallel, net misuse List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, peter.maydell@linaro.org Drives defined with if!=none, character devices defined with -serial and -parallel, network devices defined with -net nic are all for board initialization to wire up. Board code calls drive_get() or similar to find them, and creates devices with their qdev properties set accordingly. Except a few devices go on fishing expeditions on their own instead of exposing a drive property for board code to set. We can't fix this in time for the release, so do the next best thing: contain the mistakes as far as possible so they don't become ABI: * Mark them all with suitable FIXME comments [PATCH 1-3]. * sdhci-pci is new, set cannot_instantiate_with_device_add_yet to make it unavailable with -device [PATCH 4]. * A few more aren't currently available with -device, set cannot_instantiate_with_device_add_yet to ensure they stay unavailable [PATCH 5]. * Left alone: m25p80-generic and its derivatives[*], ssi-sd, pc87312. I suspect these can't be used sanely with -device / device_add, and cannot_instantiate_with_device_add_yet for them would be just fine, but I feel we're too close to the release to argue this now. The following changes since commit b8a86c4ac4d04c106ba38fbd707041cba334a155: Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2015-04-01 11:31:31 +0100) are available in the git repository at: git://repo.or.cz/qemu/armbru.git tags/pull-hw-2015-04-02 for you to fetch changes up to 9f9bdf43cac28251f8cb33b77fed5e19225375c4: sysbus: Make devices picking up backends unavailable with -device (2015-04-02 15:30:44 +0200) ---------------------------------------------------------------- hw: Contain drive, serial, parallel, net misuse ---------------------------------------------------------------- Markus Armbruster (5): hw: Mark devices picking up block backends actively FIXME hw: Mark devices picking up char backends actively FIXME hw: Mark device misusing nd_table[] FIXME sdhci: Make device "sdhci-pci" unavailable with -device sysbus: Make devices picking up backends unavailable with -device hw/arm/allwinner-a10.c | 2 ++ hw/arm/spitz.c | 3 +++ hw/block/m25p80.c | 1 + hw/char/cadence_uart.c | 3 +++ hw/char/digic-uart.c | 3 +++ hw/char/etraxfs_ser.c | 3 +++ hw/char/lm32_juart.c | 3 +++ hw/char/lm32_uart.c | 3 +++ hw/char/milkymist-uart.c | 3 +++ hw/char/pl011.c | 3 +++ hw/char/stm32f2xx_usart.c | 3 +++ hw/char/xilinx_uartlite.c | 3 +++ hw/isa/pc87312.c | 4 ++++ hw/sd/milkymist-memcard.c | 3 +++ hw/sd/pl181.c | 3 +++ hw/sd/sdhci.c | 5 +++++ hw/sd/ssi-sd.c | 1 + 17 files changed, 49 insertions(+) -- 1.9.3