Message ID | 20171108022828.7242-7-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | generic way to deprecate machines | expand |
On 11/07/2017 11:28 PM, Philippe Mathieu-Daudé wrote: > Deprecated since 2.9.0, guests should be able to use "pc" instead. I forgot to add Paolo's comment: "but firmware code paths would be different, do we care?" > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/i386/pc_piix.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index c462b702ff..df4669c6d3 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -1114,6 +1114,7 @@ static void isapc_machine_options(MachineClass *m) > pcmc->smbios_legacy_mode = true; > pcmc->has_reserved_memory = false; > m->default_cpu_type = X86_CPU_TYPE_NAME("486"); > + m->deprecated_reason = "Use the \"pc\" machine instead"; > } > > DEFINE_PC_MACHINE(isapc, "isapc", pc_init_isa, >
On Tue, Nov 07, 2017 at 11:28:28PM -0300, Philippe Mathieu-Daudé wrote: > Deprecated since 2.9.0, guests should be able to use "pc" instead. Isn't isapc important to allow QEMU to old operating systems that predate the PCI era. I do recall seeing some messages about specific cases where you cannot use the 'pc' machine type and we suggested used of 'isapc' instead, but can't remember the exact details.. I know that's not a typical usecase for modern cloud / data center virt, but it is interesting for usage of QEMU as a archeology tool, so I'm loathe to see this removed unless it is demonstrably causing an unacceptable maint burden to keep it. > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/i386/pc_piix.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index c462b702ff..df4669c6d3 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -1114,6 +1114,7 @@ static void isapc_machine_options(MachineClass *m) > pcmc->smbios_legacy_mode = true; > pcmc->has_reserved_memory = false; > m->default_cpu_type = X86_CPU_TYPE_NAME("486"); > + m->deprecated_reason = "Use the \"pc\" machine instead"; > } > > DEFINE_PC_MACHINE(isapc, "isapc", pc_init_isa, Regards, Daniel
On Wed, Nov 08, 2017 at 09:09:00AM +0000, Daniel P. Berrange wrote: > On Tue, Nov 07, 2017 at 11:28:28PM -0300, Philippe Mathieu-Daudé wrote: > > Deprecated since 2.9.0, guests should be able to use "pc" instead. > > Isn't isapc important to allow QEMU to old operating systems that > predate the PCI era. They should work fine. The early pci chipsets like the piix4 have built-in backward compatibility. The IDE controller can be driven by simply accessing the isa ide ports. Likewise vga. You can plug in ne2k (we have both isa and pci variants) for ethernet and sb16 (isa too) for sound. That should make guests which don't know anything about pci happy. > I do recall seeing some messages about specific > cases where you cannot use the 'pc' machine type and we suggested > used of 'isapc' instead, but can't remember the exact details.. I'd like to see such use cases where isapc is actually required. > I know that's not a typical usecase for modern cloud / data center > virt, but it is interesting for usage of QEMU as a archeology tool, > so I'm loathe to see this removed unless it is demonstrably causing > an unacceptable maint burden to keep it. Well, nobody maintains it. Nobody tests it. From a firmware point of view it *is* quite different from pc. isapc has no rom shadowing, so firmware init code paths are different. isapc has no resource management, so isa-vga maps the vesa 2.0 framebuffer at a hardcoded address instead of placing it in a pci bar and the vgabios has to know where it is. So there is a non-zero chance that things break by accident. IIRC we even had a qemu release with broken isapc in the past ... cheers, Gerd
On 08.11.2017 10:44, Gerd Hoffmann wrote: > On Wed, Nov 08, 2017 at 09:09:00AM +0000, Daniel P. Berrange wrote: >> On Tue, Nov 07, 2017 at 11:28:28PM -0300, Philippe Mathieu-Daudé wrote: >>> Deprecated since 2.9.0, guests should be able to use "pc" instead. >> >> Isn't isapc important to allow QEMU to old operating systems that >> predate the PCI era. > > They should work fine. The early pci chipsets like the piix4 have > built-in backward compatibility. The IDE controller can be driven by > simply accessing the isa ide ports. Likewise vga. You can plug in ne2k > (we have both isa and pci variants) for ethernet and sb16 (isa too) for > sound. > > That should make guests which don't know anything about pci happy. > >> I do recall seeing some messages about specific >> cases where you cannot use the 'pc' machine type and we suggested >> used of 'isapc' instead, but can't remember the exact details.. > > I'd like to see such use cases where isapc is actually required. Just my 0.02 €: I like the idea of keeping isapc. It's a way to remind the x86 folks that there are also architectures without PCI / APIC / ACPI. And this helped to spot some bugs in some HMP commands in the past already. > Well, nobody maintains it. Nobody tests it. At least we've got the automatic boot-serial-test now that checks that the machine is not completely broken. Thomas
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index c462b702ff..df4669c6d3 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -1114,6 +1114,7 @@ static void isapc_machine_options(MachineClass *m) pcmc->smbios_legacy_mode = true; pcmc->has_reserved_memory = false; m->default_cpu_type = X86_CPU_TYPE_NAME("486"); + m->deprecated_reason = "Use the \"pc\" machine instead"; } DEFINE_PC_MACHINE(isapc, "isapc", pc_init_isa,
Deprecated since 2.9.0, guests should be able to use "pc" instead. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/i386/pc_piix.c | 1 + 1 file changed, 1 insertion(+)