mbox

[PULL,v2,0/5] hw: Contain drive, serial, parallel, net misuse

Message ID 1427981717-7682-1-git-send-email-armbru@redhat.com
State New
Headers show

Pull-request

git://repo.or.cz/qemu/armbru.git tags/pull-hw-2015-04-02

Message

Markus Armbruster April 2, 2015, 1:35 p.m. UTC
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(+)

Comments

Peter Maydell April 2, 2015, 2:53 p.m. UTC | #1
On 2 April 2015 at 14:35, Markus Armbruster <armbru@redhat.com> wrote:
> 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
>

Applied, thanks.

-- PMM