Patchwork pc: rename machine types

login
register
mail settings
Submitter Gerd Hoffmann
Date Jan. 8, 2013, 7:59 a.m.
Message ID <1357631962-10484-1-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/210311/
State New
Headers show

Comments

Gerd Hoffmann - Jan. 8, 2013, 7:59 a.m.
Starting with release 1.4 we have a fully functional q35 machine type,
i.e. "qemu -M q35" JustWorks[tm].  Update machine type names to reflect
that:

  * pc-1.4 becomes piix-1.4
  * q35-next becomes q35-1.4

The pc-1.3 (+older) names are maintained for compatibility reason.
For the same reason the "pc" alias is kept.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/pc_piix.c |    6 +++---
 hw/pc_q35.c  |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
Anthony Liguori - Jan. 8, 2013, 1:57 p.m.
Gerd Hoffmann <kraxel@redhat.com> writes:

> Starting with release 1.4 we have a fully functional q35 machine type,
> i.e. "qemu -M q35" JustWorks[tm].  Update machine type names to reflect
> that:
>
>   * pc-1.4 becomes piix-1.4

PIIX is the southbridge.  A more appropriate (and google-able) name
would be i440fx-1.4.

>   * q35-next becomes q35-1.4

I can't help but bikeshed a little here.  I dislike that we are going
from something that's reasonable understandable (pc) to something
completely obscure (piix and q35).

I would be in favor of the i440fx machine being called "legacy-pc" and
q35 gaining the title of "pc".

Regards,

Anthony Liguori

>
> The pc-1.3 (+older) names are maintained for compatibility reason.
> For the same reason the "pc" alias is kept.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  hw/pc_piix.c |    6 +++---
>  hw/pc_q35.c  |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 2b3d58b..880c6fa 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -282,8 +282,8 @@ static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
>  }
>  #endif
>  
> -static QEMUMachine pc_machine_v1_4 = {
> -    .name = "pc-1.4",
> +static QEMUMachine pc_piix_machine_v1_4 = {
> +    .name = "piix-1.4",
>      .alias = "pc",
>      .desc = "Standard PC",
>      .init = pc_init_pci_1_3,
> @@ -646,7 +646,7 @@ static QEMUMachine xenfv_machine = {
>  
>  static void pc_machine_init(void)
>  {
> -    qemu_register_machine(&pc_machine_v1_4);
> +    qemu_register_machine(&pc_piix_machine_v1_4);
>      qemu_register_machine(&pc_machine_v1_3);
>      qemu_register_machine(&pc_machine_v1_2);
>      qemu_register_machine(&pc_machine_v1_1);
> diff --git a/hw/pc_q35.c b/hw/pc_q35.c
> index ef540b6..660cc3c 100644
> --- a/hw/pc_q35.c
> +++ b/hw/pc_q35.c
> @@ -209,7 +209,7 @@ static void pc_q35_init(QEMUMachineInitArgs *args)
>  }
>  
>  static QEMUMachine pc_q35_machine = {
> -    .name = "q35-next",
> +    .name = "q35-1.4",
>      .alias = "q35",
>      .desc = "Q35 chipset PC",
>      .init = pc_q35_init,
> -- 
> 1.7.1
Gerd Hoffmann - Jan. 8, 2013, 3:19 p.m.
On 01/08/13 14:57, Anthony Liguori wrote:
> Gerd Hoffmann <kraxel@redhat.com> writes:
> 
>> Starting with release 1.4 we have a fully functional q35 machine type,
>> i.e. "qemu -M q35" JustWorks[tm].  Update machine type names to reflect
>> that:
>>
>>   * pc-1.4 becomes piix-1.4
> 
> PIIX is the southbridge.  A more appropriate (and google-able) name
> would be i440fx-1.4.

Fine with me.

>>   * q35-next becomes q35-1.4
> 
> I can't help but bikeshed a little here.  I dislike that we are going
> from something that's reasonable understandable (pc) to something
> completely obscure (piix and q35).

'pc' is pretty generic.  I want discontinue it, except for aliasing 'pc'
to the default machine type, for compatibility reasons.

I don't care that much what the actual names are.  Using piix + q35 is
inconsistent, so it isn't that a good choice indeed.  So what now?

  (1) We could go for the host bridge and use 'i440fx' + 'q35'.
  (2) We could go for the south bridge and use 'piix' + 'ich9'.
  (3) Something different?

(1) has the advantage that we keep the established name 'q35' for the
    new machine type.
(2) has the advantage that it matches the naming convention of
    several devices in the tree (piix/ich9 prefix).

> I would be in favor of the i440fx machine being called "legacy-pc" and
> q35 gaining the title of "pc".

No way.  Assigning 'pc' to q35 is asking for serious trouble.  That way
'qemu -M pc' silently switches the chipset underneath the guest when
upgrading from 1.3 to 1.4.

cheers,
  Gerd
Anthony Liguori - Jan. 8, 2013, 4:16 p.m.
Gerd Hoffmann <kraxel@redhat.com> writes:

> On 01/08/13 14:57, Anthony Liguori wrote:
>> Gerd Hoffmann <kraxel@redhat.com> writes:
>> 
>>> Starting with release 1.4 we have a fully functional q35 machine type,
>>> i.e. "qemu -M q35" JustWorks[tm].  Update machine type names to reflect
>>> that:
>>>
>>>   * pc-1.4 becomes piix-1.4
>> 
>> PIIX is the southbridge.  A more appropriate (and google-able) name
>> would be i440fx-1.4.
>
> Fine with me.
>
>>>   * q35-next becomes q35-1.4
>> 
>> I can't help but bikeshed a little here.  I dislike that we are going
>> from something that's reasonable understandable (pc) to something
>> completely obscure (piix and q35).
>
> 'pc' is pretty generic.  I want discontinue it, except for aliasing 'pc'
> to the default machine type, for compatibility reasons.
>
> I don't care that much what the actual names are.  Using piix + q35 is
> inconsistent, so it isn't that a good choice indeed.  So what now?
>
>   (1) We could go for the host bridge and use 'i440fx' + 'q35'.
>   (2) We could go for the south bridge and use 'piix' + 'ich9'.
>   (3) Something different?

The issue I have with 'i440fx' and 'q35' is that it's basically
gibberish to a non-QEMU developer.

What about 'qemupc-legacy' and 'qemupc'?  'pc' can still be an alias for
'qemupc-legacy'.

I very much like the legacy distinction as it steers users toward q35
which I think is what we want.

Regards,

Anthony Liguori

>
> (1) has the advantage that we keep the established name 'q35' for the
>     new machine type.
> (2) has the advantage that it matches the naming convention of
>     several devices in the tree (piix/ich9 prefix).
>
>> I would be in favor of the i440fx machine being called "legacy-pc" and
>> q35 gaining the title of "pc".
>
> No way.  Assigning 'pc' to q35 is asking for serious trouble.  That way
> 'qemu -M pc' silently switches the chipset underneath the guest when
> upgrading from 1.3 to 1.4.
>
> cheers,
>   Gerd
Daniel P. Berrange - Jan. 9, 2013, 10:09 a.m.
On Tue, Jan 08, 2013 at 10:16:25AM -0600, Anthony Liguori wrote:
> Gerd Hoffmann <kraxel@redhat.com> writes:
> 
> > On 01/08/13 14:57, Anthony Liguori wrote:
> >> Gerd Hoffmann <kraxel@redhat.com> writes:
> >> 
> >>> Starting with release 1.4 we have a fully functional q35 machine type,
> >>> i.e. "qemu -M q35" JustWorks[tm].  Update machine type names to reflect
> >>> that:
> >>>
> >>>   * pc-1.4 becomes piix-1.4
> >> 
> >> PIIX is the southbridge.  A more appropriate (and google-able) name
> >> would be i440fx-1.4.
> >
> > Fine with me.
> >
> >>>   * q35-next becomes q35-1.4
> >> 
> >> I can't help but bikeshed a little here.  I dislike that we are going
> >> from something that's reasonable understandable (pc) to something
> >> completely obscure (piix and q35).
> >
> > 'pc' is pretty generic.  I want discontinue it, except for aliasing 'pc'
> > to the default machine type, for compatibility reasons.
> >
> > I don't care that much what the actual names are.  Using piix + q35 is
> > inconsistent, so it isn't that a good choice indeed.  So what now?
> >
> >   (1) We could go for the host bridge and use 'i440fx' + 'q35'.
> >   (2) We could go for the south bridge and use 'piix' + 'ich9'.

Either of these sound fine to me, with a slight preference for the
first option.

> >   (3) Something different?

If we really want 'pc' in the name, then

(4) pci440fx & pcq35
(5) pcpiix &  pcich9

> The issue I have with 'i440fx' and 'q35' is that it's basically
> gibberish to a non-QEMU developer.

With my users and/or libvirt developers hat on, I don't agree really.
What Gerd suggests clearly states the hardware type being used by the
machine. I think 'pc' is pretty much meaningless as a machine name
because it can mean pretty much anything you want to it. It is akin
to just calling your network device 'nic' and your disk device 'disk',
which QEMU doesn't do for obvious reasons.

What if someone can along and implemented a bunch more machine types
for x86 ? Any name based soly on 'pc' would be even more meaningless
than it already is. IMHO including the actual hardware name in some
form is the right way to distinguish this.

Daniel
Gerd Hoffmann - Jan. 9, 2013, 10:32 a.m.
On 01/09/13 11:09, Daniel P. Berrange wrote:

>>> I don't care that much what the actual names are.  Using piix + q35 is
>>> inconsistent, so it isn't that a good choice indeed.  So what now?
>>>
>>>   (1) We could go for the host bridge and use 'i440fx' + 'q35'.
>>>   (2) We could go for the south bridge and use 'piix' + 'ich9'.
> 
> Either of these sound fine to me, with a slight preference for the
> first option.
> 
>>>   (3) Something different?
> 
> If we really want 'pc' in the name, then
> 
> (4) pci440fx & pcq35
> (5) pcpiix &  pcich9

A dash would improve readability, also we have isapc which has pc as
postfix, so maybe 'i440fx-pc' + 'q35-pc' ?

>> The issue I have with 'i440fx' and 'q35' is that it's basically
>> gibberish to a non-QEMU developer.
> 
> With my users and/or libvirt developers hat on, I don't agree really.
> What Gerd suggests clearly states the hardware type being used by the
> machine. I think 'pc' is pretty much meaningless as a machine name
> because it can mean pretty much anything you want to it. It is akin
> to just calling your network device 'nic' and your disk device 'disk',
> which QEMU doesn't do for obvious reasons.

Fully agree.  It also follows the convention of other archs (just look
at the arm machine names).

cheers,
  Gerd
Anthony Liguori - Jan. 9, 2013, 2:47 p.m.
Gerd Hoffmann <kraxel@redhat.com> writes:

> On 01/09/13 11:09, Daniel P. Berrange wrote:
>
>>>> I don't care that much what the actual names are.  Using piix + q35 is
>>>> inconsistent, so it isn't that a good choice indeed.  So what now?
>>>>
>>>>   (1) We could go for the host bridge and use 'i440fx' + 'q35'.
>>>>   (2) We could go for the south bridge and use 'piix' + 'ich9'.
>> 
>> Either of these sound fine to me, with a slight preference for the
>> first option.
>> 
>>>>   (3) Something different?
>> 
>> If we really want 'pc' in the name, then
>> 
>> (4) pci440fx & pcq35
>> (5) pcpiix &  pcich9
>
> A dash would improve readability, also we have isapc which has pc as
> postfix, so maybe 'i440fx-pc' + 'q35-pc' ?
>
>>> The issue I have with 'i440fx' and 'q35' is that it's basically
>>> gibberish to a non-QEMU developer.
>> 
>> With my users and/or libvirt developers hat on, I don't agree really.
>> What Gerd suggests clearly states the hardware type being used by the
>> machine. I think 'pc' is pretty much meaningless as a machine name
>> because it can mean pretty much anything you want to it. It is akin
>> to just calling your network device 'nic' and your disk device 'disk',
>> which QEMU doesn't do for obvious reasons.
>
> Fully agree.  It also follows the convention of other archs (just look
> at the arm machine names).

Okay, I'm fine with i440fx-pc/q35-pc (with a slight preference for
pc-{i440fx,q35}).

Regards,

Anthony Liguori

>
> cheers,
>   Gerd

Patch

diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 2b3d58b..880c6fa 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -282,8 +282,8 @@  static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
 }
 #endif
 
-static QEMUMachine pc_machine_v1_4 = {
-    .name = "pc-1.4",
+static QEMUMachine pc_piix_machine_v1_4 = {
+    .name = "piix-1.4",
     .alias = "pc",
     .desc = "Standard PC",
     .init = pc_init_pci_1_3,
@@ -646,7 +646,7 @@  static QEMUMachine xenfv_machine = {
 
 static void pc_machine_init(void)
 {
-    qemu_register_machine(&pc_machine_v1_4);
+    qemu_register_machine(&pc_piix_machine_v1_4);
     qemu_register_machine(&pc_machine_v1_3);
     qemu_register_machine(&pc_machine_v1_2);
     qemu_register_machine(&pc_machine_v1_1);
diff --git a/hw/pc_q35.c b/hw/pc_q35.c
index ef540b6..660cc3c 100644
--- a/hw/pc_q35.c
+++ b/hw/pc_q35.c
@@ -209,7 +209,7 @@  static void pc_q35_init(QEMUMachineInitArgs *args)
 }
 
 static QEMUMachine pc_q35_machine = {
-    .name = "q35-next",
+    .name = "q35-1.4",
     .alias = "q35",
     .desc = "Q35 chipset PC",
     .init = pc_q35_init,