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: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH v2] hw/i386: Deprecate the machines pc-0.10 to pc-1.2
Date: Tue, 30 May 2017 13:39:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 30.05.2017 12:35, Gerd Hoffmann wrote:
>   Hi,
> 
>>>  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
>>>
>>
>> Ping! Any comments on this version of the patch?
> 
> Does it make sense to build some infrastructure for this, so we don't
> have ad-hoc code to print deprecation warnings everywhere?
> 
> Something like adding a "bool deprecated" or "char *deprecated_msg"
> field to MachineClass (and possibly elsewhere too, for example
> DeviceClass).

So far we've got deprecation warnings at very different places in the
code - for command line parameters, for HMP commands, for some few
devices, ... and this time it's for the first time for old machine
types. I currently don't see a pattern yet where a "deprecated" flag in
MachineClass or DeviceClass would really help to simplify the code right
now ... maybe later if we deprecate multiple machines at the same time?

 Thomas



reply via email to

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