patch QEMU for raspberry4
Go to file
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
audio qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
backends Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
block raw-posix: Introduce hdev_is_sg() 2015-06-23 15:08:52 +01:00
bsd-user target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
default-configs virtio-gpu: pci support bits and virtio-vga. 2015-06-16 10:35:43 +01:00
disas target-mips: add MTHC0 and MFHC0 instructions 2015-06-12 09:05:31 +01:00
docs qapi: Drop bogus command from docs 2015-06-18 14:12:33 +02:00
dtc@65cc4d2748 dtc: Update dtc / libfdt submodule to version 1.4.0 2015-06-03 23:56:49 +02:00
fpu target-s390x: define default NaN values 2015-06-05 01:37:58 +02:00
fsdev virtfs-proxy-helper: fail gracefully if socket path is too long 2015-06-16 20:32:29 +05:30
gdb-xml gdb-xml: Include XML for s390 vector registers 2015-05-27 17:52:03 +02:00
hw hw/arm/virt: Make block devices default to virtio 2015-06-26 14:22:37 +01:00
include hw/arm/virt-acpi-build: Add GICv2m description in ACPI MADT table 2015-06-26 14:22:36 +01:00
libcacard libcacard: pkgconfig: tidy dependent libs 2015-06-23 19:57:28 +03:00
libdecnumber remove libdecnumber/dpd/decimal128Local.h 2015-06-23 19:57:27 +03:00
linux-headers virtio, pci fixes, enhancements 2015-06-19 11:30:57 +01:00
linux-user linux-user: ioctl() command type is int 2015-06-16 09:37:17 +03:00
migration Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
net net: simplify net_client_init1() 2015-06-24 16:33:42 +01:00
pc-bios Update OpenBIOS images 2015-06-17 20:02:15 +01:00
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 2014-09-15 08:14:19 +02:00
po po: fix conflict with %.mo rule in rules.mak 2014-09-26 13:35:08 +02:00
qapi -----BEGIN PGP SIGNATURE----- 2015-06-25 11:19:46 +01:00
qga qerror: Clean up QERR_ macros to expand into a single string 2015-06-22 18:20:40 +02:00
qobject Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
qom qerror: Clean up QERR_ macros to expand into a single string 2015-06-22 18:20:40 +02:00
roms Update OpenBIOS images 2015-06-17 20:02:15 +01:00
scripts Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
slirp qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
stubs Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
target-alpha disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-arm target-arm: A64: Print ELR when taking exceptions 2015-06-26 14:22:36 +01:00
target-cris disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-i386 Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
target-lm32 disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-m68k Monitor patches 2015-06-23 10:38:00 +01:00
target-microblaze disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-mips target-mips: add mips32r6-generic CPU definition 2015-06-26 09:22:26 +01:00
target-moxie target-moxie: Fix warnings from Sparse (one-bit signed bitfield) 2015-03-19 11:11:55 +03:00
target-openrisc disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-ppc disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-s390x Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
target-sh4 disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-sparc disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-tricore disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-unicore32 disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
target-xtensa disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
tcg tcg/optimize: rename tcg_constant_folding 2015-06-09 07:00:56 -07:00
tests qemu-iotests: fix 051.out after qdev error message change 2015-06-24 15:23:20 +01:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
util -----BEGIN PGP SIGNATURE----- 2015-06-25 11:19:46 +01:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore gitignore: Ignore more .pod files. 2015-04-04 09:45:59 +03:00
.gitmodules PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: Add "--enable-modules" 2015-01-26 12:27:05 +01:00
accel.c accel: Create accel object when initializing machine 2014-10-09 15:36:14 +02:00
aio-posix.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
aio-win32.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
arch_init.c migration: reduce include files 2015-06-12 06:42:34 +02:00
async.c Revert "iothread: release iothread around aio_poll" 2015-06-12 13:58:33 +01:00
balloon.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
block.c block: Use bdrv_is_sg() everywhere 2015-06-23 15:08:52 +01:00
blockdev-nbd.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
blockdev.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
blockjob.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
bootdevice.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
configure configure: rearrange --help and consolidate enable/disable together 2015-06-23 20:23:33 +03:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
coroutine-gthread.c glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
coroutine-sigaltstack.c coroutine-sigaltstack: Change jmp_buf to sigjmp_buf 2014-11-11 11:07:55 +03:00
coroutine-ucontext.c coroutine-ucontext: use __thread 2015-01-13 13:43:28 +00:00
coroutine-win32.c coroutine-win32.c: Add noinline attribute to work around gcc bug 2014-06-26 14:08:14 +01:00
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
cputlb.c memory: replace cpu_physical_memory_reset_dirty() with test-and-clear 2015-06-05 17:10:00 +02:00
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
device_tree.c device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
disas.c disas: Remove uses of CPU env 2015-06-22 17:40:01 +02:00
dma-helpers.c range: remove useless inclusions 2015-04-30 16:05:48 +03:00
dump.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
exec.c exec: clamp accesses against the MemoryRegionSection 2015-06-19 12:27:14 +02:00
gdbstub.c semihosting: create SemihostingConfig structure and semihost.h 2015-06-19 14:17:45 +01:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx qmp/hmp: add rocker device support 2015-06-12 13:42:17 +01:00
hmp.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
hmp.h qmp/hmp: add rocker device support 2015-06-12 13:42:17 +01:00
iohandler.c iohandler: Change return type of qemu_set_fd_handler to "void" 2015-06-12 13:26:21 +01:00
ioport.c - miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan) 2015-04-30 12:04:11 +01:00
iothread.c qom: Add helper function for getting user objects root 2015-06-19 18:40:00 +02:00
kvm-all.c kvm: remove special handling of DIRTY_MEMORY_MIGRATION in the dirty log mask 2015-06-05 17:09:59 +02:00
kvm-stub.c pc: kvm: check if KVM has free memory slots to avoid abort() 2014-11-23 12:11:29 +02:00
LICENSE vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00
main-loop.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
MAINTAINERS Add MAINTAINERS entry for virtio-input 2015-06-23 10:32:35 +02:00
Makefile Makefile: Add "make ctags" 2015-06-23 20:23:39 +03:00
Makefile.objs device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
Makefile.target migration: move savevm.c inside migration/ 2015-06-12 06:42:30 +02:00
memory.c memory: use mr->ram_addr in "is this RAM?" assertions 2015-06-05 17:10:00 +02:00
memory_mapping.c Add skip_dump flag to ignore memory region during dump 2014-10-31 11:29:01 +01:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
nbd.c qemu-nbd: only send a limited number of errno codes on the wire 2015-05-08 14:45:11 +02:00
numa.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
os-posix.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
os-win32.c pidfile: stop making pidfile error a special case 2014-11-02 10:04:34 +03:00
page_cache.c xbzrle: rebuild the cache_is_cached function 2015-01-15 17:49:43 +05:30
qapi-schema.json s390x/kvm/watchdog 2015-06-15 13:24:51 +01:00
qdev-monitor.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
qdict-test-data.txt Introduce QDict test data file 2009-09-04 09:37:34 -05:00
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 2014-06-27 10:39:10 +02:00
qemu-char.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
qemu-coroutine-io.c coroutine-io: Return -errno in case of error 2015-03-18 12:07:21 +01:00
qemu-coroutine-lock.c coroutine: remove unnecessary parentheses in qemu_co_queue_empty 2015-04-30 16:05:49 +03:00
qemu-coroutine-sleep.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi raw-posix: Deprecate host floppy passthrough 2015-03-19 11:43:02 +01:00
qemu-img-cmds.hx qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-img.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
qemu-img.texi qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-io-cmds.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
qemu-io.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
qemu-log.c qemu-log: Correct help text of 'log cpu_reset' 2015-02-10 09:27:20 +03:00
qemu-nbd.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx target-mips: add Unified Hosting Interface (UHI) support 2015-06-26 09:08:50 +01:00
qemu-seccomp.c seccomp: add mlockall to whitelist 2015-01-23 14:07:08 +01:00
qemu-tech.texi qemu-tech.texi: update implemented xtensa features list 2012-11-29 13:00:52 -06:00
qemu-timer.c qemu-timer: Call clock reset notifiers on forward jumps 2015-06-19 12:27:14 +02:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qjson.c QJSON: Use OBJECT_CHECK 2015-05-11 08:59:07 -04:00
qmp-commands.hx Grammar: 'as to'->'as for' 2015-06-23 19:57:27 +03:00
qmp.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
qtest.c qtest: pre-buffer hex nibs 2015-05-22 15:58:22 -04:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak rules.mak: Force CFLAGS for all objects in DSO 2015-05-08 14:45:11 +02:00
softmmu_template.h softmmu: Add probe_write() 2015-06-11 10:13:28 +01:00
spice-qemu-char.c spice: fix spice_chr_add_watch() pre-condition 2015-05-29 09:56:01 +02:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c tcg: Mask TCGMemOp appropriately for indexing 2015-06-09 06:35:29 -07:00
thread-pool.c thread-pool: clean up thread_pool_completion_bh() 2015-04-28 15:36:09 +02:00
thunk.c linux-user: Allocate thunk size dynamically 2015-06-15 11:36:58 +03:00
tpm.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
trace-events ossaudio: use trace events instead of debug config flag 2015-06-15 12:42:48 +02:00
translate-all.c translate-all: fix watchpoints if retranslation not possible 2015-06-17 12:40:52 +02:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2015-06-05 17:09:59 +02:00
user-exec.c exec: move functions to translate-all.h 2015-06-05 17:09:59 +02:00
VERSION Open 2.4 development tree 2015-04-25 22:05:07 +01:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
xen-common-stub.c accel: Move Xen registration code to xen-common.c 2014-10-04 08:59:15 +02:00
xen-common.c accel: Pass MachineState object to accel init functions 2014-10-09 12:57:10 +02:00
xen-hvm-stub.c xen: Remove xen_cmos_set_s3_resume() 2015-03-10 08:15:33 +03:00
xen-hvm.c xen-220615, more SOB lines 2015-06-23 17:46:20 +01:00
xen-mapcache.c xen: add a lock for the mapcache 2015-01-20 14:24:17 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team