user-level: 0.733 virtual: 0.707 semantic: 0.698 PID: 0.697 ppc: 0.692 mistranslation: 0.688 performance: 0.686 arm: 0.683 hypervisor: 0.679 vnc: 0.669 permissions: 0.664 graphic: 0.659 KVM: 0.656 device: 0.654 register: 0.641 assembly: 0.638 VMM: 0.632 peripherals: 0.620 x86: 0.616 TCG: 0.613 debug: 0.610 architecture: 0.604 risc-v: 0.593 boot: 0.585 files: 0.584 kernel: 0.577 network: 0.572 socket: 0.520 i386: 0.497 Can't(?) disable default floppy drive any more in qemu 6.0 There's a documented change in qemu 6.0: https://qemu-project.gitlab.io/qemu/system/removed-features.html#floppy-controllers-drive-properties-removed-in-6-0 where you can't configure floppy controller device properties with -global any more. However, there's a thing you could do with the old parameter which I can't figure out a way to do with the documented replacement. openQA passed exactly this argument: -global isa-fdc.driveA= and that has the effect of removing/disabling the default floppy drive/controller. If you just run `qemu-system-i686` (no other args) you'll see the VM briefly try to boot from a floppy drive; if you run `qemu-system-i686 -global isa-fdc.driveA=` (with an earlier version of qemu, obviously) you'll see it does not do so. I can't see a way to do this with `-device floppy`. Going by the docs, the equivalent should be: -device floppy,unit=0,drive= but that does not seem to have the same effect. If you run `qemu-system-i686 -device floppy,unit=0,drive=`, it still tries to boot from a floppy drive. I see there's a -nodefaults option that disables *all* default devices, but I don't think that's what we want here either. We might want the other default devices, we just don't want the floppy drive. I see that Markus Armbruster has responded to the bug on 'qemu-devel' list here: https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02177.html Not sure if you (Adam) have noticed, as I don't expect you to subscribe to 'qemu-devel'. So I'm copy/pasting the full comment from Markus here: -------------------------------------------------------------------------- = Short answer = In my opinion, management applications are better off with -nodefaults. It's easier to understand than the complicated mess I'm going to describe under "Long answer" below. If you'd prefer not to, try -global isa-fdc.fdtypeA=none. = Long answer = -global isa-fdc.driveA= worked. Whether it was supported usage or accidental dirt effect is unclear. Doesn't matter now. -nodefaults suppresses a number of backends: * Character device backend for a serial device Also suppressed when -serial ... or -device isa-serial,... or -global isa-serial.PROP=VAL is given, or the machine type opts out of this backend. Backend configuration depends on other options; too complicated to explain here. * Character device backend for a parallel device Also suppressed when -parallel ... or -device isa-parallel,... or -global isa-parallel.PROP=VAL is given, or the machine type opts out of this backend. Backend configuration depends on other options; too complicated to explain here. * Block device backend a floppy device Also suppressed when -device isa-fdc,... or -global isa-fdc.PROP=VAL or -device floppy or -global floppy.PROP=VAL is given, or the machine type opts out of this backend. * Block device backend a CD-ROM device Also suppressed when -device {ide,scsi}-{cd,hd},... or -global {ide,scsi}-{cd,hd}.PROP=VAL is given, or the machine type opts out of this backend. * SD card Also suppressed when the machine type opts out of this backend. When a backend exists, the machine type may * Create a frontend (a.k.a. device model) connected to the backend * Ignore the backend silently * Complain about the useless backend -nodefaults additionally suppresses: * Default HMP monitor Also suppressed when -monitor or -qmp or -qmp-pretty or -mon or -serial mon:... or -parallel mon:... is given. Monitor configuration depends on other options; too complicated to explain here. * Default network frontend (-net nic) and backend (-net user) Also suppressed when -netdev or -nic or -net is given. Default backend is only done when we have SLIRP. * Default VGA type, if any Actual type depends on the machine machine type. Set to "none" when -vga or -device DRV,... or -global DRV.PROP=VAL is given, where DRV is a VGA device model. When the type is not "none", the machine type may: * Create a device of that type * Ignore the type silently * Complain about the type * Additional stuff depending on the machine type Questions? -------------------------------------------------------------------------- On Wed, 14 Apr 2021 at 08:07, Markus Armbruster