qemu/hw/arm
Peter Maydell 4e2c0b2a4a hw/arm/virt: Make block devices default to virtio
Now we have virtio-pci, we can make the virt board's default block
device type be IF_VIRTIO. This allows users to use simplified
command lines that don't have to explicitly create virtio-pci-blk
devices; the -hda &c very short options now also work.

This means we also need to set no_cdrom to avoid getting a
default cdrom device -- this is needed because the virtio-blk
device will fail if it is connected to a block backend with
no media, which is what the default cdrom device typically is.
Providing a cdrom with media via -cdrom will succeed, but silently
create a device with non-removable medium. this is probably
not really what the user wants, but is the best we can do now.

Note that this change means that some command lines which used
to work (by accident) will stop working. Where a drive was connected
manually to a device but without 'if=none' being specified, we
used to treat this as an IDE drive, which we would then not autoplug
because the board doesn't support IDE. Now we will treat it as a
virtio disk and autoplug it, which means the attempt to use the
drive manually will fail:
  qemu-system-arm: -drive file=img.qcow2,id=foo: Drive 'foo' is already
  in use because it has been automatically connected to another device
  (did you need 'if=none' in the drive options?)
The command line will have to be changed to include 'if=none', as the
error message suggests.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1435068107-12594-4-git-send-email-peter.maydell@linaro.org
2015-06-26 14:22:37 +01:00
..
allwinner-a10.c hw: Mark device misusing nd_table[] FIXME 2015-04-02 15:30:32 +02:00
armv7m.c target_arm: Parameterise the irq lines for armv7m_init 2015-02-05 13:37:21 +00:00
boot.c hw/arm/boot: fix rom_reset notifier registration order 2015-06-15 18:06:11 +01:00
collie.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
cubieboard.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
digic_boards.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
digic.c hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
exynos4_boards.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
exynos4210.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
gumstix.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
highbank.c hw/arm/highbank.c: Wire FIQ between CPU <> GIC 2015-05-12 11:57:19 +01:00
integratorcp.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
kzm.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
mainstone.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
Makefile.objs hw/arm/sysbus-fdt: helpers for platform bus nodes addition 2015-06-02 15:44:28 +01:00
musicpal.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
netduino2.c netduino2: Add the Netduino 2 Machine 2015-03-11 13:21:06 +00:00
nseries.c hw/arm/nseries.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
omap1.c Convert ffs() != 0 callers to ctz32() 2015-04-28 15:36:08 +02:00
omap2.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
omap_sx1.c hw/arm/omap_sx1.c: Fix memory leak spotted by valgrind 2015-06-03 14:21:24 +03:00
palm.c memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
pxa2xx_gpio.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
pxa2xx_pic.c hw/arm/pxa2xx: Mark coprocessor registers as ARM_CP_IO 2015-06-15 18:06:09 +01:00
pxa2xx.c hw/arm/pxa2xx: Convert pxa2xx-ssp to VMState 2015-06-15 18:06:09 +01:00
realview.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
spitz.c sysbus: Make devices picking up backends unavailable with -device 2015-04-02 15:30:44 +02:00
stellaris.c target_arm: Parameterise the irq lines for armv7m_init 2015-02-05 13:37:21 +00:00
stm32f205_soc.c stm32f205: Add the stm32f205 SoC 2015-03-11 13:21:06 +00:00
strongarm.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
strongarm.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
sysbus-fdt.c hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
tosa.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
versatilepb.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
vexpress.c pflash_cfi01: change big-endian property to BIT type 2015-06-05 17:36:31 +02:00
virt-acpi-build.c hw/arm/virt-acpi-build: Add GICv2m description in ACPI MADT table 2015-06-26 14:22:36 +01:00
virt.c hw/arm/virt: Make block devices default to virtio 2015-06-26 14:22:37 +01:00
xilinx_zynq.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
xlnx-ep108.c arm: xlnx-zynqmp: Add boot-cpu property 2015-06-19 14:17:45 +01:00
xlnx-zynqmp.c arm: xlnx-zynqmp: Add 2xCortexR5 CPUs 2015-06-19 14:17:45 +01:00
z2.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00