qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] hw/i386: Deprecate the machines pc-0.10 to p


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH v2] hw/i386: Deprecate the machines pc-0.10 to pc-1.2
Date: Tue, 30 May 2017 11:30:39 -0300
User-agent: Mutt/1.8.0 (2017-02-23)

On Tue, May 30, 2017 at 05:24:55PM +0300, Michael S. Tsirkin wrote:
> On Wed, May 10, 2017 at 05:34:53PM +0200, Thomas Huth wrote:
> > We don't want to carry along old machine types forever. If we are able to
> > remove the pc machines up to 0.13 one day for example, this would allow
> > us to eventually kill the code for rombar=0 (i.e. where QEMU copies ROM
> > BARs directly to low memory). Everything up to pc-1.2 is also known to
> > have issues with migration.  So let's start with a deprecation message
> > for the old machine types so that the (hopefully) few users of these old
> > systems start switching over to newer machine types instead.
> > 
> > Signed-off-by: Thomas Huth <address@hidden>
> > ---
> >  Note: Even if we mark all these old machines as deprecated, this ofcourse
> >  doesn't mean that we also have to remove them all at once later when we
> >  decide to finally really remove some. We could then also start by removing
> >  0.10 and 0.11 only, for example (since there should really be no users left
> >  for these), or only up to 0.13 (to be able to kill rombar=0).
> > 
> >  v2:
> >  - Deprecate machines up to pc-1.2
> > 
> >  hw/i386/pc_piix.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> > index 9f102aa..aace378 100644
> > --- a/hw/i386/pc_piix.c
> > +++ b/hw/i386/pc_piix.c
> > @@ -38,6 +38,7 @@
> >  #include "sysemu/kvm.h"
> >  #include "hw/kvm/clock.h"
> >  #include "sysemu/sysemu.h"
> > +#include "sysemu/qtest.h"
> >  #include "hw/sysbus.h"
> >  #include "sysemu/arch_init.h"
> >  #include "sysemu/block-backend.h"
> > @@ -84,6 +85,14 @@ static void pc_init1(MachineState *machine,
> >      MemoryRegion *pci_memory;
> >      MemoryRegion *rom_memory;
> >      ram_addr_t lowmem;
> > +    char *mc_name = MACHINE_CLASS(pcmc)->name;
> > +
> > +    /* Machines pc-0.10 up to pc-1.2 are considered as deprecated */
> > +    if (!qtest_enabled() && (!strncmp(mc_name, "pc-0.", 5)
> > +        || (!strncmp(mc_name, "pc-1.", 5) && mc_name[5] < '3'))) {
> > +        error_report("Machine type '%s' is deprecated, "
> > +                     "please use a newer type instead", mc_name);
> > +    }
> >  
> >      /*
> >       * Calculate ram split, for memory below and above 4G.  It's a bit
> 
> Can't we use a standard compat property machinery for this?
> Set a "deprecated" property, then query it in a central place.
> 
> We also want a way for management to get this info.

There's probably no need for QOM-based compat properties, but a
simple MachineClass struct field (and a new MachineInfo field on
QMP) would work.

-- 
Eduardo



reply via email to

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