• M
    sysbus: Make devices picking up backends unavailable with -device · 9f9bdf43
    Markus Armbruster 提交于
    Device models aren't supposed to go on fishing expeditions for
    backends.  They should expose suitable properties for the user to set.
    For onboard devices, board code sets them.
    
    A number of sysbus devices pick up block backends in their init() /
    instance_init() methods with drive_get_next() instead: sl-nand,
    milkymist-memcard, pl181, generic-sdhci.
    
    Likewise, a number of sysbus devices pick up character backends in
    their init() / realize() methods with qemu_char_get_next_serial():
    cadence_uart, digic-uart, etraxfs,serial, lm32-juart, lm32-uart,
    milkymist-uart, pl011, stm32f2xx-usart, xlnx.xps-uartlite.
    
    All these mistakes are already marked FIXME.  See the commit that
    added these FIXMEs for a more detailed explanation of what's wrong.
    
    Fortunately, only machines ppce500 and pseries-* support -device with
    sysbus devices, and none of the devices above is supported with these
    machines.
    
    Set cannot_instantiate_with_device_add_yet to preserve our luck.
    
    Cc: Andrzej Zaborowski <balrogg@gmail.com>
    Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
    Cc: Antony Pavlov <antonynpavlov@gmail.com>
    Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
    Cc: Michael Walle <michael@walle.cc>
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    9f9bdf43
xilinx_uartlite.c 6.4 KB