All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] [v3] target-ppc: Enhance CPU nodes of SPAPR-generated device tree
@ 2013-08-08  7:21 Prerna Saxena
  2013-08-08  7:24 ` [Qemu-devel] [PATCH 1/2] [v3] target-ppc: Get CPU name to correct reflect its model in the SLOF " Prerna Saxena
  2013-08-08  7:26 ` [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant Prerna Saxena
  0 siblings, 2 replies; 11+ messages in thread
From: Prerna Saxena @ 2013-08-08  7:21 UTC (permalink / raw)
  To: QEMU
  Cc: sPAPR, Alexey Kardashevisky, Andreas Färber,
	Anthony Liguori, Alexander Graf

By default on KVM or when user asks for it via -cpu host, cpu_model will
be "host" and sPAPR merely upper-cases it for the SLOF device tree.

PATCH 1/2 : Change the SPAPR code so that we get the underlying CPU type,
             e.g., "POWER7_V2.3@0" in the device tree.
PATCH 2/2 : Make the device-tree CPU nodes PAPR-compliant.

Changelog from v2:
PATCH 1/2 : Reworked and augmented by Andres Farber against original posted by 
            Prerna.
PATCH 2/2 : New.

Regards,
-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 1/2] [v3] target-ppc: Get CPU name to correct reflect its model in the SLOF device tree.
  2013-08-08  7:21 [Qemu-devel] [PATCH 0/2] [v3] target-ppc: Enhance CPU nodes of SPAPR-generated device tree Prerna Saxena
@ 2013-08-08  7:24 ` Prerna Saxena
  2013-08-08  7:26 ` [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant Prerna Saxena
  1 sibling, 0 replies; 11+ messages in thread
From: Prerna Saxena @ 2013-08-08  7:24 UTC (permalink / raw)
  To: Prerna Saxena
  Cc: Alexey Kardashevisky, Alexander Graf, QEMU, sPAPR,
	Anthony Liguori, Andreas Färber

From: Andreas Farber <afaerber@suse.de>
Date: Wed, 7 Aug 2013 14:50:41 +0530
Subject: [PATCH 1/2] By default on KVM or when user asks for it via -cpu
 host, cpu_model will be "host" and sPAPR merely
 upper-cases it for the SLOF device tree.

Change it so that we get the underlying CPU type, e.g., "POWER7_V2.3@0".

Tested-by: Prerna Saxena <prerna@linux.vnet.ibm.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/ppc/spapr.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 16bfab9..59e2fea 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1072,7 +1072,7 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
     const char *kernel_cmdline = args->kernel_cmdline;
     const char *initrd_filename = args->initrd_filename;
     const char *boot_device = args->boot_device;
-    PowerPCCPU *cpu;
+    PowerPCCPU *cpu = NULL;
     CPUPPCState *env;
     PCIHostState *phb;
     int i;
@@ -1307,6 +1307,16 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
     register_savevm_live(NULL, "spapr/htab", -1, 1,
                          &savevm_htab_handlers, spapr);
 
+    if (kvm_enabled() && strcmp(cpu_model, "host") == 0) {
+        ObjectClass *cpu_class = object_get_class(OBJECT(cpu));
+        ObjectClass *parent_cpu_class = object_class_get_parent(cpu_class);
+
+        const char *parent_name = object_class_get_name(parent_cpu_class);
+
+        cpu_model = g_strndup(parent_name,
+            strlen(parent_name) - strlen("-" TYPE_POWERPC_CPU));
+    }
+
     /* Prepare the device tree */
     spapr->fdt_skel = spapr_create_fdt_skel(cpu_model,
                                             initrd_base, initrd_size,
-- 
1.7.11.4


-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-08  7:21 [Qemu-devel] [PATCH 0/2] [v3] target-ppc: Enhance CPU nodes of SPAPR-generated device tree Prerna Saxena
  2013-08-08  7:24 ` [Qemu-devel] [PATCH 1/2] [v3] target-ppc: Get CPU name to correct reflect its model in the SLOF " Prerna Saxena
@ 2013-08-08  7:26 ` Prerna Saxena
  2013-08-08 10:34   ` Andreas Färber
  1 sibling, 1 reply; 11+ messages in thread
From: Prerna Saxena @ 2013-08-08  7:26 UTC (permalink / raw)
  To: QEMU
  Cc: sPAPR, Alexey Kardashevisky, Andreas Färber,
	Anthony Liguori, Alexander Graf


From: Prerna Saxena <prerna@linux.vnet.ibm.com>
Date: Thu, 8 Aug 2013 06:38:03 +0530
Subject: [PATCH 2/2] Enhance CPU nodes of device tree to be PAPR compliant.

This is based on patch from Andreas which enables the default CPU with KVM
to show up as "-cpu <type>", such as "POWER7_V2.3@0"

While this is definitely, more descriptive, PAPR mandates the device tree CPU
node names to be of the form : "PowerPC,<name>" where <name> should not have
underscores.
Hence replacing the CPU model (which has underscores) with CPU alias.

With this patch, the CPU nodes of device tree show up as :
/proc/device-tree/cpus/PowerPC,POWER7@0/...
/proc/device-tree/cpus/PowerPC,POWER7@4/...

Signed-off-by: Prerna Saxena <prerna@linux.vnet.ibm.com>
---
 hw/ppc/spapr.c | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 59e2fea..8efd84e 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -43,6 +43,7 @@
 #include "hw/pci-host/spapr.h"
 #include "hw/ppc/xics.h"
 #include "hw/pci/msi.h"
+#include "cpu-models.h"
 
 #include "hw/pci/pci.h"
 
@@ -80,6 +81,8 @@
 
 #define HTAB_SIZE(spapr)        (1ULL << ((spapr)->htab_shift))
 
+#define PPC_DEVTREE_STR         "PowerPC,"
+
 sPAPREnvironment *spapr;
 
 int spapr_allocate_irq(int hint, bool lsi)
@@ -322,9 +325,16 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
     _FDT((fdt_property_cell(fdt, "#address-cells", 0x1)));
     _FDT((fdt_property_cell(fdt, "#size-cells", 0x0)));
 
-    modelname = g_strdup(cpu_model);
+    /*
+     * PAPR convention mandates that
+     * Device tree nodes must be named as:
+     * PowerPC,CPU-NAME@...
+     * Also, CPU-NAME must not have underscores.(hence use of CPU-ALIAS)
+     */
+
+    modelname = g_strdup_printf(PPC_DEVTREE_STR "%s", cpu_model);
 
-    for (i = 0; i < strlen(modelname); i++) {
+    for (i = strlen(PPC_DEVTREE_STR); i < strlen(modelname); i++) {
         modelname[i] = toupper(modelname[i]);
     }
 
@@ -1315,6 +1325,14 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
 
         cpu_model = g_strndup(parent_name,
             strlen(parent_name) - strlen("-" TYPE_POWERPC_CPU));
+
+        for (i = 0; ppc_cpu_aliases[i].model != NULL; i++) {
+            if (strcmp(ppc_cpu_aliases[i].model, cpu_model) == 0) {
+                g_free(cpu_model);
+                cpu_model = g_strndup(ppc_cpu_aliases[i].alias,
+                                strlen(ppc_cpu_aliases[i].alias));
+            }
+        }
     }
 
     /* Prepare the device tree */
-- 
1.7.11.4



-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-08  7:26 ` [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant Prerna Saxena
@ 2013-08-08 10:34   ` Andreas Färber
  2013-08-12  4:37     ` Prerna Saxena
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Färber @ 2013-08-08 10:34 UTC (permalink / raw)
  To: Prerna Saxena
  Cc: qemu-ppc, Alexey Kardashevisky, QEMU, Anthony Liguori, Alexander Graf

Am 08.08.2013 09:26, schrieb Prerna Saxena:
> 
> From: Prerna Saxena <prerna@linux.vnet.ibm.com>
> Date: Thu, 8 Aug 2013 06:38:03 +0530
> Subject: [PATCH 2/2] Enhance CPU nodes of device tree to be PAPR compliant.
> 
> This is based on patch from Andreas which enables the default CPU with KVM
> to show up as "-cpu <type>", such as "POWER7_V2.3@0"
> 
> While this is definitely, more descriptive, PAPR mandates the device tree CPU
> node names to be of the form : "PowerPC,<name>" where <name> should not have
> underscores.
> Hence replacing the CPU model (which has underscores) with CPU alias.
> 
> With this patch, the CPU nodes of device tree show up as :
> /proc/device-tree/cpus/PowerPC,POWER7@0/...
> /proc/device-tree/cpus/PowerPC,POWER7@4/...
> 
> Signed-off-by: Prerna Saxena <prerna@linux.vnet.ibm.com>

Not yet happy...

> ---
>  hw/ppc/spapr.c | 22 ++++++++++++++++++++--
>  1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 59e2fea..8efd84e 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -43,6 +43,7 @@
>  #include "hw/pci-host/spapr.h"
>  #include "hw/ppc/xics.h"
>  #include "hw/pci/msi.h"
> +#include "cpu-models.h"
>  
>  #include "hw/pci/pci.h"
>  
> @@ -80,6 +81,8 @@
>  
>  #define HTAB_SIZE(spapr)        (1ULL << ((spapr)->htab_shift))
>  
> +#define PPC_DEVTREE_STR         "PowerPC,"
> +
>  sPAPREnvironment *spapr;
>  
>  int spapr_allocate_irq(int hint, bool lsi)
> @@ -322,9 +325,16 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
>      _FDT((fdt_property_cell(fdt, "#address-cells", 0x1)));
>      _FDT((fdt_property_cell(fdt, "#size-cells", 0x0)));
>  
> -    modelname = g_strdup(cpu_model);
> +    /*
> +     * PAPR convention mandates that
> +     * Device tree nodes must be named as:
> +     * PowerPC,CPU-NAME@...
> +     * Also, CPU-NAME must not have underscores.(hence use of CPU-ALIAS)
> +     */
> +
> +    modelname = g_strdup_printf(PPC_DEVTREE_STR "%s", cpu_model);
>  
> -    for (i = 0; i < strlen(modelname); i++) {
> +    for (i = strlen(PPC_DEVTREE_STR); i < strlen(modelname); i++) {
>          modelname[i] = toupper(modelname[i]);
>      }
>  

One of your colleagues had brought up that "PowerPC," prefix were not
mandatory - is it *required* by the PAPR spec now, or is it just that
the IBM CPUs used with PAPR happen to have such a name?

> @@ -1315,6 +1325,14 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
>  
>          cpu_model = g_strndup(parent_name,
>              strlen(parent_name) - strlen("-" TYPE_POWERPC_CPU));
> +
> +        for (i = 0; ppc_cpu_aliases[i].model != NULL; i++) {
> +            if (strcmp(ppc_cpu_aliases[i].model, cpu_model) == 0) {
> +                g_free(cpu_model);
> +                cpu_model = g_strndup(ppc_cpu_aliases[i].alias,
> +                                strlen(ppc_cpu_aliases[i].alias));
> +            }
> +        }
>      }
>  
>      /* Prepare the device tree */

This is still fixing up the name in the wrong place: -cpu POWER7_v2.3
will not get fixed, only -cpu host or KVM's default.

The solution I had discussed with Alex is the following: When devices
need to expose their name to firmware in a special way, we have the
DeviceClass::fw_name field. All we have to do is assign it and use it
instead of cpu_model if non-NULL, just like we assign DeviceClass::desc.
The way to do it would be to extend the family of POWERPC_DEF* macros to
specify the additional field on the relevant CPU models.

Therefore my above question: Would it be sufficient to explicitly name
POWER7_v2.3 PowerPC,POWER7 etc. and to drop the upper-casing?
Or would we also need to name a CPU such as MPC8572E (random Freescale
CPU where I don't know the expected fw_name and that is unlikely to
occur/work in sPAPR) "PowerPC,MPC8572E" if someone specified it with
-cpu MPC8572E?

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-08 10:34   ` Andreas Färber
@ 2013-08-12  4:37     ` Prerna Saxena
  2013-08-12  6:03       ` [Qemu-devel] [Qemu-ppc] " Benjamin Herrenschmidt
  0 siblings, 1 reply; 11+ messages in thread
From: Prerna Saxena @ 2013-08-12  4:37 UTC (permalink / raw)
  To: Andreas Färber
  Cc: qemu-ppc, Alexey Kardashevisky, QEMU, Anthony Liguori, Alexander Graf

On 08/08/2013 04:04 PM, Andreas Färber wrote:
> Am 08.08.2013 09:26, schrieb Prerna Saxena:
>>
>> From: Prerna Saxena <prerna@linux.vnet.ibm.com>
>> Date: Thu, 8 Aug 2013 06:38:03 +0530
>> Subject: [PATCH 2/2] Enhance CPU nodes of device tree to be PAPR compliant.
>>
>> This is based on patch from Andreas which enables the default CPU with KVM
>> to show up as "-cpu <type>", such as "POWER7_V2.3@0"
>>
>> While this is definitely, more descriptive, PAPR mandates the device tree CPU
>> node names to be of the form : "PowerPC,<name>" where <name> should not have
>> underscores.
>> Hence replacing the CPU model (which has underscores) with CPU alias.
>>
>> With this patch, the CPU nodes of device tree show up as :
>> /proc/device-tree/cpus/PowerPC,POWER7@0/...
>> /proc/device-tree/cpus/PowerPC,POWER7@4/...
>>
>> Signed-off-by: Prerna Saxena <prerna@linux.vnet.ibm.com>
> 
> Not yet happy...

:(

> 
>> ---
>>  hw/ppc/spapr.c | 22 ++++++++++++++++++++--
>>  1 file changed, 20 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index 59e2fea..8efd84e 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -43,6 +43,7 @@
>>  #include "hw/pci-host/spapr.h"
>>  #include "hw/ppc/xics.h"
>>  #include "hw/pci/msi.h"
>> +#include "cpu-models.h"
>>  
>>  #include "hw/pci/pci.h"
>>  
>> @@ -80,6 +81,8 @@
>>  
>>  #define HTAB_SIZE(spapr)        (1ULL << ((spapr)->htab_shift))
>>  
>> +#define PPC_DEVTREE_STR         "PowerPC,"
>> +
>>  sPAPREnvironment *spapr;
>>  
>>  int spapr_allocate_irq(int hint, bool lsi)
>> @@ -322,9 +325,16 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
>>      _FDT((fdt_property_cell(fdt, "#address-cells", 0x1)));
>>      _FDT((fdt_property_cell(fdt, "#size-cells", 0x0)));
>>  
>> -    modelname = g_strdup(cpu_model);
>> +    /*
>> +     * PAPR convention mandates that
>> +     * Device tree nodes must be named as:
>> +     * PowerPC,CPU-NAME@...
>> +     * Also, CPU-NAME must not have underscores.(hence use of CPU-ALIAS)
>> +     */
>> +
>> +    modelname = g_strdup_printf(PPC_DEVTREE_STR "%s", cpu_model);
>>  
>> -    for (i = 0; i < strlen(modelname); i++) {
>> +    for (i = strlen(PPC_DEVTREE_STR); i < strlen(modelname); i++) {
>>          modelname[i] = toupper(modelname[i]);
>>      }
>>  
> 
> One of your colleagues had brought up that "PowerPC," prefix were not
> mandatory - is it *required* by the PAPR spec now, or is it just that
> the IBM CPUs used with PAPR happen to have such a name?

I dont know what context lead to this observation.
However, PAPR mentions the following nomenclature guideline:

"The value of this property shall be of the form: “PowerPC,<name>”,
where <name> is the name of the processor chip which may be displayed to
the user. <name> shall not contain underscores."

I think this name guideline will hold good for all PAPR compliant
processors.

> 
>> @@ -1315,6 +1325,14 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
>>  
>>          cpu_model = g_strndup(parent_name,
>>              strlen(parent_name) - strlen("-" TYPE_POWERPC_CPU));
>> +
>> +        for (i = 0; ppc_cpu_aliases[i].model != NULL; i++) {
>> +            if (strcmp(ppc_cpu_aliases[i].model, cpu_model) == 0) {
>> +                g_free(cpu_model);
>> +                cpu_model = g_strndup(ppc_cpu_aliases[i].alias,
>> +                                strlen(ppc_cpu_aliases[i].alias));
>> +            }
>> +        }
>>      }
>>  
>>      /* Prepare the device tree */
> 
> This is still fixing up the name in the wrong place: -cpu POWER7_v2.3
> will not get fixed, only -cpu host or KVM's default.
> 
> The solution I had discussed with Alex is the following: When devices
> need to expose their name to firmware in a special way, we have the
> DeviceClass::fw_name field. All we have to do is assign it and use it
> instead of cpu_model if non-NULL, just like we assign DeviceClass::desc.
> The way to do it would be to extend the family of POWERPC_DEF* macros to
> specify the additional field on the relevant CPU models.
> 

Would this be the same use-case as reflected by: ppc_cpu_aliases.alias ?
If so, do we really need a separate field to convey the same information ?

> Therefore my above question: Would it be sufficient to explicitly name
> POWER7_v2.3 PowerPC,POWER7 etc. and to drop the upper-casing?
> Or would we also need to name a CPU such as MPC8572E (random Freescale
> CPU where I don't know the expected fw_name and that is unlikely to
> occur/work in sPAPR) "PowerPC,MPC8572E" if someone specified it with
> -cpu MPC8572E?
> 

If this is not a PAPR-compliant CPU, I dont think the PAPR naming
convention is of any good.
I havent worked with non-PAPR cpus. Is the device tree for such CPUs
generated by routines in hw/ppc/spapr.c ? Or do they have custom
routines to generate appropriate device tree nodes ?

Regards,
-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-12  4:37     ` Prerna Saxena
@ 2013-08-12  6:03       ` Benjamin Herrenschmidt
  2013-08-12 19:17         ` Thomas Huth
  0 siblings, 1 reply; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2013-08-12  6:03 UTC (permalink / raw)
  To: Prerna Saxena
  Cc: Alexey Kardashevisky, qemu-ppc, Andreas Färber,
	Anthony Liguori, QEMU

On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:

 .../...

> I dont know what context lead to this observation.
> However, PAPR mentions the following nomenclature guideline:
> 
> "The value of this property shall be of the form: “PowerPC,<name>”,
> where <name> is the name of the processor chip which may be displayed to
> the user. <name> shall not contain underscores."

This actually comes from the original Open Firmware binding for PowerPC
processors, which PAPR inherits largely from. Thus this naming scheme
should apply to all PowerPC processors when a device-tree is involved.

> I think this name guideline will hold good for all PAPR compliant
> processors.

Also PAPR is not a processor architecture, it's a platform and firmware
architecture, so "PAPR-compliant CPU" has little meaning :-)

Cheers,
Ben.

> > 
> >> @@ -1315,6 +1325,14 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
> >>  
> >>          cpu_model = g_strndup(parent_name,
> >>              strlen(parent_name) - strlen("-" TYPE_POWERPC_CPU));
> >> +
> >> +        for (i = 0; ppc_cpu_aliases[i].model != NULL; i++) {
> >> +            if (strcmp(ppc_cpu_aliases[i].model, cpu_model) == 0) {
> >> +                g_free(cpu_model);
> >> +                cpu_model = g_strndup(ppc_cpu_aliases[i].alias,
> >> +                                strlen(ppc_cpu_aliases[i].alias));
> >> +            }
> >> +        }
> >>      }
> >>  
> >>      /* Prepare the device tree */
> > 
> > This is still fixing up the name in the wrong place: -cpu POWER7_v2.3
> > will not get fixed, only -cpu host or KVM's default.
> > 
> > The solution I had discussed with Alex is the following: When devices
> > need to expose their name to firmware in a special way, we have the
> > DeviceClass::fw_name field. All we have to do is assign it and use it
> > instead of cpu_model if non-NULL, just like we assign DeviceClass::desc.
> > The way to do it would be to extend the family of POWERPC_DEF* macros to
> > specify the additional field on the relevant CPU models.
> > 
> 
> Would this be the same use-case as reflected by: ppc_cpu_aliases.alias ?
> If so, do we really need a separate field to convey the same information ?
> 
> > Therefore my above question: Would it be sufficient to explicitly name
> > POWER7_v2.3 PowerPC,POWER7 etc. and to drop the upper-casing?
> > Or would we also need to name a CPU such as MPC8572E (random Freescale
> > CPU where I don't know the expected fw_name and that is unlikely to
> > occur/work in sPAPR) "PowerPC,MPC8572E" if someone specified it with
> > -cpu MPC8572E?
> > 
> 
> If this is not a PAPR-compliant CPU, I dont think the PAPR naming
> convention is of any good.
> I havent worked with non-PAPR cpus. Is the device tree for such CPUs
> generated by routines in hw/ppc/spapr.c ? Or do they have custom
> routines to generate appropriate device tree nodes ?
> 
> Regards,

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-12  6:03       ` [Qemu-devel] [Qemu-ppc] " Benjamin Herrenschmidt
@ 2013-08-12 19:17         ` Thomas Huth
  2013-08-12 21:22           ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Huth @ 2013-08-12 19:17 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Alexey Kardashevisky, QEMU, qemu-ppc, Anthony Liguori,
	Prerna Saxena, Andreas Färber

Am Mon, 12 Aug 2013 16:03:24 +1000
schrieb Benjamin Herrenschmidt <benh@kernel.crashing.org>:

> On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:
> 
>  .../...
> 
> > I dont know what context lead to this observation.
> > However, PAPR mentions the following nomenclature guideline:
> > 
> > "The value of this property shall be of the form: “PowerPC,<name>”,
> > where <name> is the name of the processor chip which may be displayed to
> > the user. <name> shall not contain underscores."
> 
> This actually comes from the original Open Firmware binding for PowerPC
> processors, which PAPR inherits largely from. Thus this naming scheme
> should apply to all PowerPC processors when a device-tree is involved.

Well, I think it should be used when an Open Firmware environment is
used. When you boot via ePAPR device tree, the name should be "cpu"
instead, according to the ePAPR specification.

 Thomas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-12 19:17         ` Thomas Huth
@ 2013-08-12 21:22           ` Benjamin Herrenschmidt
  2013-08-14 10:18             ` Alexander Graf
  0 siblings, 1 reply; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2013-08-12 21:22 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Alexey Kardashevisky, QEMU, qemu-ppc, Anthony Liguori,
	Prerna Saxena, Andreas Färber

On Mon, 2013-08-12 at 21:17 +0200, Thomas Huth wrote:
> Am Mon, 12 Aug 2013 16:03:24 +1000
> schrieb Benjamin Herrenschmidt <benh@kernel.crashing.org>:
> 
> > On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:
> > 
> >  .../...
> > 
> > > I dont know what context lead to this observation.
> > > However, PAPR mentions the following nomenclature guideline:
> > > 
> > > "The value of this property shall be of the form: “PowerPC,<name>”,
> > > where <name> is the name of the processor chip which may be displayed to
> > > the user. <name> shall not contain underscores."
> > 
> > This actually comes from the original Open Firmware binding for PowerPC
> > processors, which PAPR inherits largely from. Thus this naming scheme
> > should apply to all PowerPC processors when a device-tree is involved.
> 
> Well, I think it should be used when an Open Firmware environment is
> used. When you boot via ePAPR device tree, the name should be "cpu"
> instead, according to the ePAPR specification.

Yeah well ... this is a gratuituous change in ePAPR, I don't think it
matters really what the name is anyway. I'd suggest sticking to the
original OF binding.

Ben.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-12 21:22           ` Benjamin Herrenschmidt
@ 2013-08-14 10:18             ` Alexander Graf
  2013-08-14 10:31               ` Andreas Färber
  2013-08-14 11:04               ` Andreas Färber
  0 siblings, 2 replies; 11+ messages in thread
From: Alexander Graf @ 2013-08-14 10:18 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Alexey Kardashevisky, Thomas Huth, QEMU, qemu-ppc,
	Anthony Liguori, Prerna Saxena, Andreas Färber


On 12.08.2013, at 23:22, Benjamin Herrenschmidt wrote:

> On Mon, 2013-08-12 at 21:17 +0200, Thomas Huth wrote:
>> Am Mon, 12 Aug 2013 16:03:24 +1000
>> schrieb Benjamin Herrenschmidt <benh@kernel.crashing.org>:
>> 
>>> On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:
>>> 
>>> .../...
>>> 
>>>> I dont know what context lead to this observation.
>>>> However, PAPR mentions the following nomenclature guideline:
>>>> 
>>>> "The value of this property shall be of the form: “PowerPC,<name>”,
>>>> where <name> is the name of the processor chip which may be displayed to
>>>> the user. <name> shall not contain underscores."
>>> 
>>> This actually comes from the original Open Firmware binding for PowerPC
>>> processors, which PAPR inherits largely from. Thus this naming scheme
>>> should apply to all PowerPC processors when a device-tree is involved.
>> 
>> Well, I think it should be used when an Open Firmware environment is
>> used. When you boot via ePAPR device tree, the name should be "cpu"
>> instead, according to the ePAPR specification.
> 
> Yeah well ... this is a gratuituous change in ePAPR, I don't think it
> matters really what the name is anyway. I'd suggest sticking to the
> original OF binding.

Can't we just include the PowerPC, bit as part of the fw_name field in the class? I don't think we have any CPUs that can be used both in ePAPR and sPAPR environments. So the POWER7 fw_name field would just contain "PowerPC,POWER7" and the device tree creation code merely appends the @%d piece.


Alex

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-14 10:18             ` Alexander Graf
@ 2013-08-14 10:31               ` Andreas Färber
  2013-08-14 11:04               ` Andreas Färber
  1 sibling, 0 replies; 11+ messages in thread
From: Andreas Färber @ 2013-08-14 10:31 UTC (permalink / raw)
  To: Alexander Graf
  Cc: Alexey Kardashevisky, Thomas Huth, QEMU, qemu-ppc,
	Anthony Liguori, Prerna Saxena

Am 14.08.2013 12:18, schrieb Alexander Graf:
> 
> On 12.08.2013, at 23:22, Benjamin Herrenschmidt wrote:
> 
>> On Mon, 2013-08-12 at 21:17 +0200, Thomas Huth wrote:
>>> Am Mon, 12 Aug 2013 16:03:24 +1000
>>> schrieb Benjamin Herrenschmidt <benh@kernel.crashing.org>:
>>>
>>>> On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:
>>>>
>>>> .../...
>>>>
>>>>> I dont know what context lead to this observation.
>>>>> However, PAPR mentions the following nomenclature guideline:
>>>>>
>>>>> "The value of this property shall be of the form: “PowerPC,<name>”,
>>>>> where <name> is the name of the processor chip which may be displayed to
>>>>> the user. <name> shall not contain underscores."
>>>>
>>>> This actually comes from the original Open Firmware binding for PowerPC
>>>> processors, which PAPR inherits largely from. Thus this naming scheme
>>>> should apply to all PowerPC processors when a device-tree is involved.
>>>
>>> Well, I think it should be used when an Open Firmware environment is
>>> used. When you boot via ePAPR device tree, the name should be "cpu"
>>> instead, according to the ePAPR specification.
>>
>> Yeah well ... this is a gratuituous change in ePAPR, I don't think it
>> matters really what the name is anyway. I'd suggest sticking to the
>> original OF binding.
> 
> Can't we just include the PowerPC, bit as part of the fw_name field in the class? I don't think we have any CPUs that can be used both in ePAPR and sPAPR environments. So the POWER7 fw_name field would just contain "PowerPC,POWER7" and the device tree creation code merely appends the @%d piece.

That's exactly what my patch series does, just be patient. :)

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant.
  2013-08-14 10:18             ` Alexander Graf
  2013-08-14 10:31               ` Andreas Färber
@ 2013-08-14 11:04               ` Andreas Färber
  1 sibling, 0 replies; 11+ messages in thread
From: Andreas Färber @ 2013-08-14 11:04 UTC (permalink / raw)
  To: Paul Mackerras
  Cc: Alexey Kardashevisky, Thomas Huth, QEMU, Alexander Graf,
	qemu-ppc, Anthony Liguori, Prerna Saxena

Am 14.08.2013 12:18, schrieb Alexander Graf:
> So the POWER7 fw_name field would just contain "PowerPC,POWER7" and the device tree creation code merely appends the @%d piece.

Speaking of POWER7, Paul said that POWER7+ would look like
PowerPC,POWER7+@0 but my POWER5+ is
/proc/device-tree/cpus/PowerPC,POWER5@0
without the plus.

Could you double-check the name please?

A preview of my patch with "POWER7+" is here:
https://github.com/afaerber/qemu-cpu/commits/spapr

Thanks,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-08-14 11:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-08  7:21 [Qemu-devel] [PATCH 0/2] [v3] target-ppc: Enhance CPU nodes of SPAPR-generated device tree Prerna Saxena
2013-08-08  7:24 ` [Qemu-devel] [PATCH 1/2] [v3] target-ppc: Get CPU name to correct reflect its model in the SLOF " Prerna Saxena
2013-08-08  7:26 ` [Qemu-devel] [PATCH 2/2] [v3] target-ppc: Enhance CPU nodes of device tree to be PAPR compliant Prerna Saxena
2013-08-08 10:34   ` Andreas Färber
2013-08-12  4:37     ` Prerna Saxena
2013-08-12  6:03       ` [Qemu-devel] [Qemu-ppc] " Benjamin Herrenschmidt
2013-08-12 19:17         ` Thomas Huth
2013-08-12 21:22           ` Benjamin Herrenschmidt
2013-08-14 10:18             ` Alexander Graf
2013-08-14 10:31               ` Andreas Färber
2013-08-14 11:04               ` Andreas Färber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.