qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: "Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH v2] hw/i386: define _AS_LATEST() macros for machine types
Date: Mon, 25 Nov 2024 11:18:26 +0100	[thread overview]
Message-ID: <87zflnliq5.fsf@redhat.com> (raw)
In-Reply-To: <ZxaXYjG_lMqUuWUy@redhat.com>

On Mon, Oct 21 2024, Daniel P. Berrangé <berrange@redhat.com> wrote:

> Ping: for the x86 maintainers.

...has anything ever happened with this patch? It's machine type
creation time again, and it would probably make sense for me to do the
10.0 machine types on top of this.

>
> On Tue, Sep 10, 2024 at 05:30:41PM +0100, Daniel P. Berrangé wrote:
>> Follow the other architecture targets by adding extra macros for
>> defining a versioned machine type as the latest. This reduces the
>> size of the changes when introducing new machine types at the start
>> of each release cycle.
>> 
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
>> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>> ---
>> 
>> In v2:
>> 
>>  - Rebased on top of new 9.2 machine types
>> 
>>  hw/i386/pc_piix.c    | 11 +++++------
>>  hw/i386/pc_q35.c     | 11 ++++++-----
>>  include/hw/i386/pc.h |  4 +++-
>>  3 files changed, 14 insertions(+), 12 deletions(-)
>> 
>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
>> index 2bf6865d40..4953676170 100644
>> --- a/hw/i386/pc_piix.c
>> +++ b/hw/i386/pc_piix.c
>> @@ -446,7 +446,10 @@ static void pc_i440fx_init(MachineState *machine)
>>  }
>>  
>>  #define DEFINE_I440FX_MACHINE(major, minor) \
>> -    DEFINE_PC_VER_MACHINE(pc_i440fx, "pc-i440fx", pc_i440fx_init, major, minor);
>> +    DEFINE_PC_VER_MACHINE(pc_i440fx, "pc-i440fx", pc_i440fx_init, false, NULL, major, minor);
>> +
>> +#define DEFINE_I440FX_MACHINE_AS_LATEST(major, minor) \
>> +    DEFINE_PC_VER_MACHINE(pc_i440fx, "pc-i440fx", pc_i440fx_init, true, "pc", major, minor);
>>  
>>  static void pc_i440fx_machine_options(MachineClass *m)
>>  {
>> @@ -477,17 +480,13 @@ static void pc_i440fx_machine_options(MachineClass *m)
>>  static void pc_i440fx_machine_9_2_options(MachineClass *m)
>>  {
>>      pc_i440fx_machine_options(m);
>> -    m->alias = "pc";
>> -    m->is_default = true;
>>  }
>>  
>> -DEFINE_I440FX_MACHINE(9, 2);
>> +DEFINE_I440FX_MACHINE_AS_LATEST(9, 2);
>>  
>>  static void pc_i440fx_machine_9_1_options(MachineClass *m)
>>  {
>>      pc_i440fx_machine_9_2_options(m);
>> -    m->alias = NULL;
>> -    m->is_default = false;
>>      compat_props_add(m->compat_props, hw_compat_9_1, hw_compat_9_1_len);
>>      compat_props_add(m->compat_props, pc_compat_9_1, pc_compat_9_1_len);
>>  }
>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
>> index 8319b6d45e..42bdedbaa4 100644
>> --- a/hw/i386/pc_q35.c
>> +++ b/hw/i386/pc_q35.c
>> @@ -327,10 +327,13 @@ static void pc_q35_init(MachineState *machine)
>>  }
>>  
>>  #define DEFINE_Q35_MACHINE(major, minor) \
>> -    DEFINE_PC_VER_MACHINE(pc_q35, "pc-q35", pc_q35_init, major, minor);
>> +    DEFINE_PC_VER_MACHINE(pc_q35, "pc-q35", pc_q35_init, false, NULL, major, minor);
>> +
>> +#define DEFINE_Q35_MACHINE_AS_LATEST(major, minor) \
>> +    DEFINE_PC_VER_MACHINE(pc_q35, "pc-q35", pc_q35_init, false, "q35", major, minor);
>>  
>>  #define DEFINE_Q35_MACHINE_BUGFIX(major, minor, micro) \
>> -    DEFINE_PC_VER_MACHINE(pc_q35, "pc-q35", pc_q35_init, major, minor, micro);
>> +    DEFINE_PC_VER_MACHINE(pc_q35, "pc-q35", pc_q35_init, false, NULL, major, minor, micro);
>>  
>>  static void pc_q35_machine_options(MachineClass *m)
>>  {
>> @@ -359,15 +362,13 @@ static void pc_q35_machine_options(MachineClass *m)
>>  static void pc_q35_machine_9_2_options(MachineClass *m)
>>  {
>>      pc_q35_machine_options(m);
>> -    m->alias = "q35";
>>  }
>>  
>> -DEFINE_Q35_MACHINE(9, 2);
>> +DEFINE_Q35_MACHINE_AS_LATEST(9, 2);
>>  
>>  static void pc_q35_machine_9_1_options(MachineClass *m)
>>  {
>>      pc_q35_machine_9_2_options(m);
>> -    m->alias = NULL;
>>      compat_props_add(m->compat_props, hw_compat_9_1, hw_compat_9_1_len);
>>      compat_props_add(m->compat_props, pc_compat_9_1, pc_compat_9_1_len);
>>  }
>> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
>> index 14ee06287d..890427c56e 100644
>> --- a/include/hw/i386/pc.h
>> +++ b/include/hw/i386/pc.h
>> @@ -320,7 +320,7 @@ extern const size_t pc_compat_2_3_len;
>>      } \
>>      type_init(pc_machine_init_##suffix)
>>  
>> -#define DEFINE_PC_VER_MACHINE(namesym, namestr, initfn, ...) \
>> +#define DEFINE_PC_VER_MACHINE(namesym, namestr, initfn, isdefault, malias, ...) \
>>      static void MACHINE_VER_SYM(init, namesym, __VA_ARGS__)( \
>>          MachineState *machine) \
>>      { \
>> @@ -334,6 +334,8 @@ extern const size_t pc_compat_2_3_len;
>>          MACHINE_VER_SYM(options, namesym, __VA_ARGS__)(mc); \
>>          mc->init = MACHINE_VER_SYM(init, namesym, __VA_ARGS__); \
>>          MACHINE_VER_DEPRECATION(__VA_ARGS__); \
>> +        mc->is_default = isdefault; \
>> +        mc->alias = malias; \
>>      } \
>>      static const TypeInfo MACHINE_VER_SYM(info, namesym, __VA_ARGS__) = \
>>      { \
>> -- 
>> 2.43.0
>> 
>
> With regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2024-11-25 10:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-10 16:30 [PATCH v2] hw/i386: define _AS_LATEST() macros for machine types Daniel P. Berrangé
2024-10-21 18:03 ` Daniel P. Berrangé
2024-11-25 10:18   ` Cornelia Huck [this message]
2024-11-25 10:27     ` Daniel P. Berrangé
2024-11-25 10:29       ` Cornelia Huck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zflnliq5.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).