diff options
| author | Markus Armbruster | 2020-06-22 11:42:19 +0200 |
|---|---|---|
| committer | Markus Armbruster | 2020-06-23 16:07:07 +0200 |
| commit | a1b40bda089e39b4dfad3cea72a696eb7bdef58e (patch) | |
| tree | 2f4a040e56c23045dab82ddbe047d2564a1c29c0 /include | |
| parent | docs/qdev-device-use.txt: Update section "Default Devices" (diff) | |
| download | qemu-a1b40bda089e39b4dfad3cea72a696eb7bdef58e.tar.gz qemu-a1b40bda089e39b4dfad3cea72a696eb7bdef58e.tar.xz qemu-a1b40bda089e39b4dfad3cea72a696eb7bdef58e.zip | |
blockdev: Deprecate -drive with bogus interface type
Drives with interface types other than if=none are for onboard
devices. Unfortunately, any such drives the board doesn't pick up can
still be used with -device, like this:
$ qemu-system-x86_64 -nodefaults -display none -S -drive if=floppy,id=bogus,unit=7 -device ide-cd,drive=bogus -monitor stdio
QEMU 5.0.50 monitor - type 'help' for more information
(qemu) info block
bogus: [not inserted]
Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
(qemu) info qtree
bus: main-system-bus
type System
[...]
bus: ide.1
type IDE
dev: ide-cd, id ""
---> drive = "bogus"
[...]
unit = 0 (0x0)
[...]
This kind of abuse has always worked. Deprecate it:
qemu-system-x86_64: -drive if=floppy,id=bogus,unit=7: warning: bogus if=floppy is deprecated, use if=none
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-9-armbru@redhat.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/sysemu/blockdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index a86d99b3d8..3b5fcda08d 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -35,6 +35,7 @@ struct DriveInfo { bool is_default; /* Added by default_drive() ? */ int media_cd; QemuOpts *opts; + bool claimed_by_board; QTAILQ_ENTRY(DriveInfo) next; }; @@ -45,6 +46,7 @@ BlockBackend *blk_by_legacy_dinfo(DriveInfo *dinfo); void override_max_devs(BlockInterfaceType type, int max_devs); DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit); +void drive_mark_claimed_by_board(void); void drive_check_orphaned(void); DriveInfo *drive_get_by_index(BlockInterfaceType type, int index); int drive_get_max_bus(BlockInterfaceType type); |
