# Conflicting (-fdX wins)
check_floppy_qtree -fda "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveA=none0
check_floppy_qtree -fdb "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveB=none0
+check_floppy_qtree -fda "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global floppy.drive=none0
echo
echo
-global isa-fdc.driveB=none0 -device floppy,drive=none1
check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=0
+check_floppy_qtree -drive if=none,file="$TEST_IMG" \
+ -global floppy.drive=none0 -device floppy,unit=0
# Conflicting
check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-global isa-fdc.driveA=none0 -device floppy,drive=none1,unit=0
check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=1
+check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
+ -global floppy.drive=none0 -device floppy,drive=none1,unit=0
echo
echo
# if=none
check_floppy_qtree -drive if=none -device floppy,drive=none0 -device floppy -device floppy,drive=none0
+check_floppy_qtree -drive if=none -global floppy.drive=none0 -device floppy -device floppy
# if=floppy
check_floppy_qtree -fda "" -device floppy,drive=floppy0
+check_floppy_qtree -fda "" -global floppy.drive=floppy0
# default if=floppy (not found, because it's created later)
check_floppy_qtree -device floppy,drive=floppy0
(qemu) quit
+Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0
+
+ dev: isa-fdc, id ""
+ iobase = 1008 (0x3f0)
+ irq = 6 (0x6)
+ dma = 2 (0x2)
+ driveA = ""
+ driveB = ""
+ check_media_rate = true
+ fdtypeA = "auto"
+ fdtypeB = "auto"
+ fallback = "288"
+ isa irq 6
+ bus: floppy-bus.0
+ type floppy-bus
+ dev: floppy, id ""
+ unit = 0 (0x0)
+ drive = "floppy0"
+ logical_block_size = 512 (0x200)
+ physical_block_size = 512 (0x200)
+ min_io_size = 0 (0x0)
+ opt_io_size = 0 (0x0)
+ discard_granularity = 4294967295 (0xffffffff)
+ write-cache = "auto"
+ share-rw = false
+ drive-type = "144"
+floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Attached to: /machine/unattached/device[15]
+ Removable device: not locked, tray closed
+ Cache mode: writeback
+
+none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
+ Attached to: /machine/unattached/device[15]
+ Cache mode: writeback
+
+ide1-cd0: [not inserted]
+ Attached to: /machine/unattached/device[22]
+ Removable device: not locked, tray closed
+
+sd0: [not inserted]
+ Removable device: not locked, tray closed
+(qemu) quit
+
+
=== Mixing -fdX and -device ===
(qemu) quit
+Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global floppy.drive=none0 -device floppy,unit=0
+
+ dev: isa-fdc, id ""
+ iobase = 1008 (0x3f0)
+ irq = 6 (0x6)
+ dma = 2 (0x2)
+ driveA = ""
+ driveB = ""
+ check_media_rate = true
+ fdtypeA = "auto"
+ fdtypeB = "auto"
+ fallback = "288"
+ isa irq 6
+ bus: floppy-bus.0
+ type floppy-bus
+ dev: floppy, id ""
+ unit = 0 (0x0)
+ drive = "none0"
+ logical_block_size = 512 (0x200)
+ physical_block_size = 512 (0x200)
+ min_io_size = 0 (0x0)
+ opt_io_size = 0 (0x0)
+ discard_granularity = 4294967295 (0xffffffff)
+ write-cache = "auto"
+ share-rw = false
+ drive-type = "144"
+none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Attached to: /machine/peripheral-anon/device[0]
+ Removable device: not locked, tray closed
+ Cache mode: writeback
+
+ide1-cd0: [not inserted]
+ Attached to: /machine/unattached/device[21]
+ Removable device: not locked, tray closed
+
+sd0: [not inserted]
+ Removable device: not locked, tray closed
+(qemu) quit
+
+
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0 -device floppy,drive=none1,unit=0
QEMU_PROG: -device floppy,drive=none1,unit=0: Floppy unit 0 is in use
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=1
QEMU_PROG: -device floppy,drive=none1,unit=1: Floppy unit 1 is in use
+Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
+
+ dev: isa-fdc, id ""
+ iobase = 1008 (0x3f0)
+ irq = 6 (0x6)
+ dma = 2 (0x2)
+ driveA = ""
+ driveB = ""
+ check_media_rate = true
+ fdtypeA = "auto"
+ fdtypeB = "auto"
+ fallback = "288"
+ isa irq 6
+ bus: floppy-bus.0
+ type floppy-bus
+ dev: floppy, id ""
+ unit = 0 (0x0)
+ drive = "none1"
+ logical_block_size = 512 (0x200)
+ physical_block_size = 512 (0x200)
+ min_io_size = 0 (0x0)
+ opt_io_size = 0 (0x0)
+ discard_granularity = 4294967295 (0xffffffff)
+ write-cache = "auto"
+ share-rw = false
+ drive-type = "144"
+none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Attached to: /machine/peripheral-anon/device[0]
+ Cache mode: writeback
+
+none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
+ Attached to: /machine/peripheral-anon/device[0]
+ Removable device: not locked, tray closed
+ Cache mode: writeback
+
+ide1-cd0: [not inserted]
+ Attached to: /machine/unattached/device[21]
+ Removable device: not locked, tray closed
+
+sd0: [not inserted]
+ Removable device: not locked, tray closed
+(qemu) quit
+
+
=== Attempt to use drive twice ===
Testing: -drive if=none -device floppy,drive=none0 -device floppy -device floppy,drive=none0
QEMU_PROG: -device floppy,drive=none0: Drive 'none0' is already in use by another device
+Testing: -drive if=none -global floppy.drive=none0 -device floppy -device floppy
+QEMU_PROG: -device floppy: can't apply global floppy.drive=none0: Drive 'none0' is already in use by another device
+
Testing: -fda -device floppy,drive=floppy0
QEMU_PROG: -device floppy,drive=floppy0: Drive 'floppy0' is already in use because it has been automatically connected to another device (did you need 'if=none' in the drive options?)
+Testing: -fda -global floppy.drive=floppy0
+QEMU_PROG: can't apply global floppy.drive=floppy0: Drive 'floppy0' is already in use because it has been automatically connected to another device (did you need 'if=none' in the drive options?)
+
Testing: -device floppy,drive=floppy0
QEMU_PROG: -device floppy,drive=floppy0: Property 'floppy.drive' can't find value 'floppy0'