mirror of
https://github.com/qemu/qemu.git
synced 2024-11-23 19:03:38 +08:00
hw/ide: remove 'ide-drive' device
The 'ide-hd' and 'ide-cd' devices provide suitable alternatives. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
24e13a4dc1
commit
b501018339
@ -388,7 +388,7 @@ type.
|
|||||||
some DEVNAMEs:
|
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-hd, scsi-cd, scsi-hd
|
||||||
floppy floppy, isa-fdc
|
floppy floppy, isa-fdc
|
||||||
parallel isa-parallel
|
parallel isa-parallel
|
||||||
serial isa-serial
|
serial isa-serial
|
||||||
|
@ -278,12 +278,6 @@ this CPU is also deprecated.
|
|||||||
System emulator devices
|
System emulator devices
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
``ide-drive`` (since 4.2)
|
|
||||||
'''''''''''''''''''''''''
|
|
||||||
|
|
||||||
The 'ide-drive' device is deprecated. Users should use 'ide-hd' or
|
|
||||||
'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed.
|
|
||||||
|
|
||||||
``scsi-disk`` (since 4.2)
|
``scsi-disk`` (since 4.2)
|
||||||
'''''''''''''''''''''''''
|
'''''''''''''''''''''''''
|
||||||
|
|
||||||
|
@ -224,6 +224,14 @@ the upstream Linux kernel in 2018, and it has also been dropped from glibc, so
|
|||||||
there is no new Linux development taking place with this architecture. For
|
there is no new Linux development taking place with this architecture. For
|
||||||
running the old binaries, you can use older versions of QEMU.
|
running the old binaries, you can use older versions of QEMU.
|
||||||
|
|
||||||
|
System emulator devices
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
``ide-drive`` (removed in 6.0)
|
||||||
|
''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
The 'ide-drive' device has been removed. Users should use 'ide-hd' or
|
||||||
|
'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed.
|
||||||
|
|
||||||
Related binaries
|
Related binaries
|
||||||
----------------
|
----------------
|
||||||
|
@ -341,7 +341,6 @@ GlobalProperty pc_compat_1_4[] = {
|
|||||||
{ "scsi-disk", "discard_granularity", "0" },
|
{ "scsi-disk", "discard_granularity", "0" },
|
||||||
{ "ide-hd", "discard_granularity", "0" },
|
{ "ide-hd", "discard_granularity", "0" },
|
||||||
{ "ide-cd", "discard_granularity", "0" },
|
{ "ide-cd", "discard_granularity", "0" },
|
||||||
{ "ide-drive", "discard_granularity", "0" },
|
|
||||||
{ "virtio-blk-pci", "discard_granularity", "0" },
|
{ "virtio-blk-pci", "discard_granularity", "0" },
|
||||||
/* DEV_NVECTORS_UNSPECIFIED as a uint32_t string: */
|
/* DEV_NVECTORS_UNSPECIFIED as a uint32_t string: */
|
||||||
{ "virtio-serial-pci", "vectors", "0xFFFFFFFF" },
|
{ "virtio-serial-pci", "vectors", "0xFFFFFFFF" },
|
||||||
|
@ -283,20 +283,6 @@ static void ide_cd_realize(IDEDevice *dev, Error **errp)
|
|||||||
ide_dev_initfn(dev, IDE_CD, errp);
|
ide_dev_initfn(dev, IDE_CD, errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ide_drive_realize(IDEDevice *dev, Error **errp)
|
|
||||||
{
|
|
||||||
DriveInfo *dinfo = NULL;
|
|
||||||
|
|
||||||
warn_report("'ide-drive' is deprecated, "
|
|
||||||
"please use 'ide-hd' or 'ide-cd' instead");
|
|
||||||
|
|
||||||
if (dev->conf.blk) {
|
|
||||||
dinfo = blk_legacy_dinfo(dev->conf.blk);
|
|
||||||
}
|
|
||||||
|
|
||||||
ide_dev_initfn(dev, dinfo && dinfo->media_cd ? IDE_CD : IDE_HD, errp);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define DEFINE_IDE_DEV_PROPERTIES() \
|
#define DEFINE_IDE_DEV_PROPERTIES() \
|
||||||
DEFINE_BLOCK_PROPERTIES(IDEDrive, dev.conf), \
|
DEFINE_BLOCK_PROPERTIES(IDEDrive, dev.conf), \
|
||||||
DEFINE_BLOCK_ERROR_PROPERTIES(IDEDrive, dev.conf), \
|
DEFINE_BLOCK_ERROR_PROPERTIES(IDEDrive, dev.conf), \
|
||||||
@ -355,29 +341,6 @@ static const TypeInfo ide_cd_info = {
|
|||||||
.class_init = ide_cd_class_init,
|
.class_init = ide_cd_class_init,
|
||||||
};
|
};
|
||||||
|
|
||||||
static Property ide_drive_properties[] = {
|
|
||||||
DEFINE_IDE_DEV_PROPERTIES(),
|
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
|
||||||
};
|
|
||||||
|
|
||||||
static void ide_drive_class_init(ObjectClass *klass, void *data)
|
|
||||||
{
|
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
||||||
IDEDeviceClass *k = IDE_DEVICE_CLASS(klass);
|
|
||||||
|
|
||||||
k->realize = ide_drive_realize;
|
|
||||||
dc->fw_name = "drive";
|
|
||||||
dc->desc = "virtual IDE disk or CD-ROM (legacy)";
|
|
||||||
device_class_set_props(dc, ide_drive_properties);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const TypeInfo ide_drive_info = {
|
|
||||||
.name = "ide-drive",
|
|
||||||
.parent = TYPE_IDE_DEVICE,
|
|
||||||
.instance_size = sizeof(IDEDrive),
|
|
||||||
.class_init = ide_drive_class_init,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void ide_device_class_init(ObjectClass *klass, void *data)
|
static void ide_device_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *k = DEVICE_CLASS(klass);
|
DeviceClass *k = DEVICE_CLASS(klass);
|
||||||
@ -402,7 +365,6 @@ static void ide_register_types(void)
|
|||||||
type_register_static(&ide_bus_info);
|
type_register_static(&ide_bus_info);
|
||||||
type_register_static(&ide_hd_info);
|
type_register_static(&ide_hd_info);
|
||||||
type_register_static(&ide_cd_info);
|
type_register_static(&ide_cd_info);
|
||||||
type_register_static(&ide_drive_info);
|
|
||||||
type_register_static(&ide_device_type_info);
|
type_register_static(&ide_device_type_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -539,8 +539,6 @@ static char *core99_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
DeviceState *dev)
|
DeviceState *dev)
|
||||||
{
|
{
|
||||||
PCIDevice *pci;
|
PCIDevice *pci;
|
||||||
IDEBus *ide_bus;
|
|
||||||
IDEState *ide_s;
|
|
||||||
MACIOIDEState *macio_ide;
|
MACIOIDEState *macio_ide;
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "macio-newworld")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "macio-newworld")) {
|
||||||
@ -553,17 +551,6 @@ static char *core99_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
return g_strdup_printf("ata-3@%x", macio_ide->addr);
|
return g_strdup_printf("ata-3@%x", macio_ide->addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-drive")) {
|
|
||||||
ide_bus = IDE_BUS(qdev_get_parent_bus(dev));
|
|
||||||
ide_s = idebus_active_if(ide_bus);
|
|
||||||
|
|
||||||
if (ide_s->drive_kind == IDE_CD) {
|
|
||||||
return g_strdup("cdrom");
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_strdup("disk");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
||||||
return g_strdup("disk");
|
return g_strdup("disk");
|
||||||
}
|
}
|
||||||
|
@ -384,8 +384,6 @@ static char *heathrow_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
DeviceState *dev)
|
DeviceState *dev)
|
||||||
{
|
{
|
||||||
PCIDevice *pci;
|
PCIDevice *pci;
|
||||||
IDEBus *ide_bus;
|
|
||||||
IDEState *ide_s;
|
|
||||||
MACIOIDEState *macio_ide;
|
MACIOIDEState *macio_ide;
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "macio-oldworld")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "macio-oldworld")) {
|
||||||
@ -398,17 +396,6 @@ static char *heathrow_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
return g_strdup_printf("ata-3@%x", macio_ide->addr);
|
return g_strdup_printf("ata-3@%x", macio_ide->addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-drive")) {
|
|
||||||
ide_bus = IDE_BUS(qdev_get_parent_bus(dev));
|
|
||||||
ide_s = idebus_active_if(ide_bus);
|
|
||||||
|
|
||||||
if (ide_s->drive_kind == IDE_CD) {
|
|
||||||
return g_strdup("cdrom");
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_strdup("disk");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
||||||
return g_strdup("disk");
|
return g_strdup("disk");
|
||||||
}
|
}
|
||||||
|
@ -749,9 +749,6 @@ static char *sun4u_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
DeviceState *dev)
|
DeviceState *dev)
|
||||||
{
|
{
|
||||||
PCIDevice *pci;
|
PCIDevice *pci;
|
||||||
IDEBus *ide_bus;
|
|
||||||
IDEState *ide_s;
|
|
||||||
int bus_id;
|
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "pbm-bridge")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "pbm-bridge")) {
|
||||||
pci = PCI_DEVICE(dev);
|
pci = PCI_DEVICE(dev);
|
||||||
@ -764,18 +761,6 @@ static char *sun4u_fw_dev_path(FWPathProvider *p, BusState *bus,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-drive")) {
|
|
||||||
ide_bus = IDE_BUS(qdev_get_parent_bus(dev));
|
|
||||||
ide_s = idebus_active_if(ide_bus);
|
|
||||||
bus_id = ide_bus->bus_id;
|
|
||||||
|
|
||||||
if (ide_s->drive_kind == IDE_CD) {
|
|
||||||
return g_strdup_printf("ide@%x/cdrom", bus_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_strdup_printf("ide@%x/disk", bus_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) {
|
||||||
return g_strdup("disk");
|
return g_strdup("disk");
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,6 @@ ERROR_RULE_LIST = [
|
|||||||
{'device':'ics', 'expected':True}, # ics_base_realize: required link 'xics' not found: Property '.xics' not found
|
{'device':'ics', 'expected':True}, # ics_base_realize: required link 'xics' not found: Property '.xics' not found
|
||||||
# "-device ide-cd" does work on more recent QEMU versions, so it doesn't have expected=True
|
# "-device ide-cd" does work on more recent QEMU versions, so it doesn't have expected=True
|
||||||
{'device':'ide-cd'}, # No drive specified
|
{'device':'ide-cd'}, # No drive specified
|
||||||
{'device':'ide-drive', 'expected':True}, # No drive specified
|
|
||||||
{'device':'ide-hd', 'expected':True}, # No drive specified
|
{'device':'ide-hd', 'expected':True}, # No drive specified
|
||||||
{'device':'ipmi-bmc-extern', 'expected':True}, # IPMI external bmc requires chardev attribute
|
{'device':'ipmi-bmc-extern', 'expected':True}, # IPMI external bmc requires chardev attribute
|
||||||
{'device':'isa-debugcon', 'expected':True}, # Can't create serial device, empty char device
|
{'device':'isa-debugcon', 'expected':True}, # Can't create serial device, empty char device
|
||||||
|
@ -177,7 +177,6 @@ static struct {
|
|||||||
{ .driver = "floppy", .flag = &default_floppy },
|
{ .driver = "floppy", .flag = &default_floppy },
|
||||||
{ .driver = "ide-cd", .flag = &default_cdrom },
|
{ .driver = "ide-cd", .flag = &default_cdrom },
|
||||||
{ .driver = "ide-hd", .flag = &default_cdrom },
|
{ .driver = "ide-hd", .flag = &default_cdrom },
|
||||||
{ .driver = "ide-drive", .flag = &default_cdrom },
|
|
||||||
{ .driver = "scsi-cd", .flag = &default_cdrom },
|
{ .driver = "scsi-cd", .flag = &default_cdrom },
|
||||||
{ .driver = "scsi-hd", .flag = &default_cdrom },
|
{ .driver = "scsi-hd", .flag = &default_cdrom },
|
||||||
{ .driver = "VGA", .flag = &default_vga },
|
{ .driver = "VGA", .flag = &default_vga },
|
||||||
|
@ -185,7 +185,6 @@ case "$QEMU_DEFAULT_MACHINE" in
|
|||||||
pc)
|
pc)
|
||||||
run_qemu -drive if=none,id=disk -device ide-cd,drive=disk
|
run_qemu -drive if=none,id=disk -device ide-cd,drive=disk
|
||||||
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
|
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
|
||||||
run_qemu -drive if=none,id=disk -device ide-drive,drive=disk
|
|
||||||
run_qemu -drive if=none,id=disk -device ide-hd,drive=disk
|
run_qemu -drive if=none,id=disk -device ide-hd,drive=disk
|
||||||
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-disk,drive=disk
|
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-disk,drive=disk
|
||||||
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
|
run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
|
||||||
@ -238,7 +237,6 @@ case "$QEMU_DEFAULT_MACHINE" in
|
|||||||
pc)
|
pc)
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device ide-cd,drive=disk
|
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device ide-cd,drive=disk
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-cd,drive=disk
|
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-cd,drive=disk
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device ide-drive,drive=disk
|
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device ide-hd,drive=disk
|
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device ide-hd,drive=disk
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-disk,drive=disk
|
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-disk,drive=disk
|
||||||
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-hd,drive=disk
|
run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device lsi53c895a -device scsi-hd,drive=disk
|
||||||
|
@ -156,11 +156,6 @@ Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
|
|||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
QEMU X.Y.Z monitor - type 'help' for more information
|
||||||
(qemu) quit
|
(qemu) quit
|
||||||
|
|
||||||
Testing: -drive if=none,id=disk -device ide-drive,drive=disk
|
|
||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
|
||||||
(qemu) QEMU_PROG: -device ide-drive,drive=disk: warning: 'ide-drive' is deprecated, please use 'ide-hd' or 'ide-cd' instead
|
|
||||||
QEMU_PROG: -device ide-drive,drive=disk: Device needs media, but drive is empty
|
|
||||||
|
|
||||||
Testing: -drive if=none,id=disk -device ide-hd,drive=disk
|
Testing: -drive if=none,id=disk -device ide-hd,drive=disk
|
||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
QEMU X.Y.Z monitor - type 'help' for more information
|
||||||
(qemu) QEMU_PROG: -device ide-hd,drive=disk: Device needs media, but drive is empty
|
(qemu) QEMU_PROG: -device ide-hd,drive=disk: Device needs media, but drive is empty
|
||||||
@ -228,11 +223,6 @@ Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device lsi53c
|
|||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
QEMU X.Y.Z monitor - type 'help' for more information
|
||||||
(qemu) quit
|
(qemu) quit
|
||||||
|
|
||||||
Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-drive,drive=disk
|
|
||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
|
||||||
(qemu) QEMU_PROG: -device ide-drive,drive=disk: warning: 'ide-drive' is deprecated, please use 'ide-hd' or 'ide-cd' instead
|
|
||||||
QEMU_PROG: -device ide-drive,drive=disk: Block node is read-only
|
|
||||||
|
|
||||||
Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-hd,drive=disk
|
Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device ide-hd,drive=disk
|
||||||
QEMU X.Y.Z monitor - type 'help' for more information
|
QEMU X.Y.Z monitor - type 'help' for more information
|
||||||
(qemu) QEMU_PROG: -device ide-hd,drive=disk: Block node is read-only
|
(qemu) QEMU_PROG: -device ide-hd,drive=disk: Block node is read-only
|
||||||
|
Loading…
Reference in New Issue
Block a user