fdc: Deprecate configuring floppies with -global isa-fdc
Deprecate -global isa-fdc.driveA=... -global isa-fdc.driveB=... in favour of -device floppy,unit=0,drive=... -device floppy,unit=1,drive=... Same for the other floppy controller devices. Signed-off-by: Markus Armbruster <armbru@redhat.com> Acked-by: John Snow <jsnow@redhat.com> Message-Id: <20200622094227.1271650-7-armbru@redhat.com>
This commit is contained in:
parent
fed2c1731c
commit
4a27a638e7
@ -104,15 +104,10 @@ The -device argument differs in detail for each type of drive:
|
|||||||
|
|
||||||
* if=floppy
|
* if=floppy
|
||||||
|
|
||||||
-global isa-fdc.driveA=DRIVE-ID
|
-device floppy,unit=UNIT,drive=DRIVE-ID
|
||||||
-global isa-fdc.driveB=DRIVE-ID
|
|
||||||
|
|
||||||
This is -global instead of -device, because the floppy controller is
|
Without any -device floppy,... you get an empty unit 0 and no unit
|
||||||
created automatically, and we want to configure that one, not create
|
1. You can use -nodefaults to suppress the default unit 0, see
|
||||||
a second one (which isn't possible anyway).
|
|
||||||
|
|
||||||
Without any -global isa-fdc,... you get an empty driveA and no
|
|
||||||
driveB. You can use -nodefaults to suppress the default driveA, see
|
|
||||||
"Default Devices".
|
"Default Devices".
|
||||||
|
|
||||||
* if=virtio
|
* if=virtio
|
||||||
@ -385,7 +380,7 @@ some DEVNAMEs:
|
|||||||
|
|
||||||
default device suppressing DEVNAMEs
|
default device suppressing DEVNAMEs
|
||||||
CD-ROM ide-cd, ide-drive, ide-hd, scsi-cd, scsi-hd
|
CD-ROM ide-cd, ide-drive, ide-hd, scsi-cd, scsi-hd
|
||||||
isa-fdc's driveA floppy, isa-fdc
|
floppy floppy, isa-fdc
|
||||||
parallel isa-parallel
|
parallel isa-parallel
|
||||||
serial isa-serial
|
serial isa-serial
|
||||||
VGA VGA, cirrus-vga, isa-vga, isa-cirrus-vga,
|
VGA VGA, cirrus-vga, isa-vga, isa-cirrus-vga,
|
||||||
|
@ -164,6 +164,32 @@ previously available ``-tb-size`` option.
|
|||||||
Use ``-display sdl,show-cursor=on`` or
|
Use ``-display sdl,show-cursor=on`` or
|
||||||
``-display gtk,show-cursor=on`` instead.
|
``-display gtk,show-cursor=on`` instead.
|
||||||
|
|
||||||
|
``Configuring floppies with ``-global``
|
||||||
|
'''''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
Use ``-device floppy,...`` instead:
|
||||||
|
::
|
||||||
|
|
||||||
|
-global isa-fdc.driveA=...
|
||||||
|
-global sysbus-fdc.driveA=...
|
||||||
|
-global SUNW,fdtwo.drive=...
|
||||||
|
|
||||||
|
become
|
||||||
|
::
|
||||||
|
|
||||||
|
-device floppy,unit=0,drive=...
|
||||||
|
|
||||||
|
and
|
||||||
|
::
|
||||||
|
|
||||||
|
-global isa-fdc.driveB=...
|
||||||
|
-global sysbus-fdc.driveB=...
|
||||||
|
|
||||||
|
become
|
||||||
|
::
|
||||||
|
|
||||||
|
-device floppy,unit=1,drive=...
|
||||||
|
|
||||||
QEMU Machine Protocol (QMP) commands
|
QEMU Machine Protocol (QMP) commands
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
@ -2528,6 +2528,7 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, DeviceState *fdc_dev,
|
|||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
BlockBackend *blk;
|
BlockBackend *blk;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
|
const char *fdc_name, *drive_suffix;
|
||||||
|
|
||||||
for (i = 0; i < MAX_FD; i++) {
|
for (i = 0; i < MAX_FD; i++) {
|
||||||
drive = &fdctrl->drives[i];
|
drive = &fdctrl->drives[i];
|
||||||
@ -2542,10 +2543,26 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, DeviceState *fdc_dev,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fdc_name = object_get_typename(OBJECT(fdc_dev));
|
||||||
|
drive_suffix = !strcmp(fdc_name, "SUNW,fdtwo") ? "" : i ? "B" : "A";
|
||||||
|
warn_report("warning: property %s.drive%s is deprecated",
|
||||||
|
fdc_name, drive_suffix);
|
||||||
|
error_printf("Use -device floppy,unit=%d,drive=... instead.\n", i);
|
||||||
|
|
||||||
dev = qdev_new("floppy");
|
dev = qdev_new("floppy");
|
||||||
qdev_prop_set_uint32(dev, "unit", i);
|
qdev_prop_set_uint32(dev, "unit", i);
|
||||||
qdev_prop_set_enum(dev, "drive-type", fdctrl->qdev_for_drives[i].type);
|
qdev_prop_set_enum(dev, "drive-type", fdctrl->qdev_for_drives[i].type);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hack alert: we move the backend from the floppy controller
|
||||||
|
* device to the floppy device. We first need to detach the
|
||||||
|
* controller, or else floppy_create()'s qdev_prop_set_drive()
|
||||||
|
* will die when it attaches floppy device. We also need to
|
||||||
|
* take another reference so that blk_detach_dev() doesn't
|
||||||
|
* free blk while we still need it.
|
||||||
|
*
|
||||||
|
* The hack is probably a bad idea.
|
||||||
|
*/
|
||||||
blk_ref(blk);
|
blk_ref(blk);
|
||||||
blk_detach_dev(blk, fdc_dev);
|
blk_detach_dev(blk, fdc_dev);
|
||||||
fdctrl->qdev_for_drives[i].blk = NULL;
|
fdctrl->qdev_for_drives[i].blk = NULL;
|
||||||
|
@ -383,6 +383,8 @@ sd0: [not inserted]
|
|||||||
=== Using -drive if=none and -global ===
|
=== Using -drive if=none and -global ===
|
||||||
|
|
||||||
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global isa-fdc.driveA=none0
|
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global isa-fdc.driveA=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -423,6 +425,8 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global isa-fdc.driveB=none0
|
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global isa-fdc.driveB=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -463,6 +467,10 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0 -global isa-fdc.driveB=none1
|
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0 -global isa-fdc.driveB=none1
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -661,6 +669,8 @@ sd0: [not inserted]
|
|||||||
=== Mixing -fdX and -global ===
|
=== Mixing -fdX and -global ===
|
||||||
|
|
||||||
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
|
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -717,6 +727,8 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
|
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -773,9 +785,13 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
|
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
QEMU_PROG: Floppy unit 0 is in use
|
QEMU_PROG: Floppy unit 0 is in use
|
||||||
|
|
||||||
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
|
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
QEMU_PROG: Floppy unit 1 is in use
|
QEMU_PROG: Floppy unit 1 is in use
|
||||||
|
|
||||||
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0
|
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0
|
||||||
@ -1177,6 +1193,8 @@ QEMU_PROG: -device floppy,drive=none0,unit=0: Floppy unit 0 is in use
|
|||||||
=== Mixing -global and -device ===
|
=== Mixing -global and -device ===
|
||||||
|
|
||||||
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
|
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
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -1233,6 +1251,8 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
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=1
|
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=1
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -1289,6 +1309,8 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
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
|
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
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -1345,6 +1367,8 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
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=0
|
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=0
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
|
|
||||||
dev: isa-fdc, id ""
|
dev: isa-fdc, id ""
|
||||||
iobase = 1008 (0x3f0)
|
iobase = 1008 (0x3f0)
|
||||||
@ -1441,9 +1465,13 @@ sd0: [not inserted]
|
|||||||
|
|
||||||
|
|
||||||
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
|
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: warning: warning: property isa-fdc.driveA is deprecated
|
||||||
|
Use -device floppy,unit=0,drive=... instead.
|
||||||
QEMU_PROG: -device floppy,drive=none1,unit=0: Floppy unit 0 is in use
|
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
|
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: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
QEMU_PROG: -device floppy,drive=none1,unit=1: Floppy unit 1 is in use
|
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
|
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
|
||||||
@ -1512,6 +1540,8 @@ QEMU_PROG: -device floppy,drive=floppy0: Property 'floppy.drive' can't find valu
|
|||||||
=== Too many floppy drives ===
|
=== Too many floppy drives ===
|
||||||
|
|
||||||
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -drive if=none,file=TEST_DIR/t.qcow2.3 -global isa-fdc.driveB=none0 -device floppy,drive=none1
|
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -drive if=none,file=TEST_DIR/t.qcow2.3 -global isa-fdc.driveB=none0 -device floppy,drive=none1
|
||||||
|
QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
|
||||||
|
Use -device floppy,unit=1,drive=... instead.
|
||||||
QEMU_PROG: -device floppy,drive=none1: Can't create floppy unit 2, bus supports only 2 units
|
QEMU_PROG: -device floppy,drive=none1: Can't create floppy unit 2, bus supports only 2 units
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user