qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 6/6] hw/i386: deprecate the "isapc" machine


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [RFC PATCH 6/6] hw/i386: deprecate the "isapc" machine
Date: Wed, 8 Nov 2017 10:44:21 +0100
User-agent: NeoMutt/20171027

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]