[Qemu-devel] [PATCH 4/7] spapr: Skip leading zeroes from memory@ DT node names

David Gibson posted 7 patches 6 years, 5 months ago
[Qemu-devel] [PATCH 4/7] spapr: Skip leading zeroes from memory@ DT node names
Posted by David Gibson 6 years, 5 months ago
From: Alexey Kardashevskiy <aik@ozlabs.ru>

The device tree build by QEMU at the machine reset time is used by SLOF
to build its internal device tree but the node names are not preserved
exactly so when QEMU provides a device tree update in response to H_CAS,
it might become tricky to match a node from the update blob to
the actual node in SLOF.

This removed leading zeroes from "memory@" nodes and makes
the DTC checker happy.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 hw/ppc/spapr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index d93dacd483..d072c2aa3d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -386,7 +386,7 @@ static int spapr_populate_memory_node(void *fdt, int nodeid, hwaddr start,
     mem_reg_property[0] = cpu_to_be64(start);
     mem_reg_property[1] = cpu_to_be64(size);
 
-    sprintf(mem_name, "memory@" TARGET_FMT_lx, start);
+    sprintf(mem_name, "memory@%" HWADDR_PRIx, start);
     off = fdt_add_subnode(fdt, 0, mem_name);
     _FDT(off);
     _FDT((fdt_setprop_string(fdt, off, "device_type", "memory")));
-- 
2.21.0


Re: [Qemu-devel] [PATCH 4/7] spapr: Skip leading zeroes from memory@ DT node names
Posted by Greg Kurz 6 years, 5 months ago
On Wed, 11 Sep 2019 14:04:49 +1000
David Gibson <david@gibson.dropbear.id.au> wrote:

> From: Alexey Kardashevskiy <aik@ozlabs.ru>
> 
> The device tree build by QEMU at the machine reset time is used by SLOF
> to build its internal device tree but the node names are not preserved
> exactly so when QEMU provides a device tree update in response to H_CAS,
> it might become tricky to match a node from the update blob to
> the actual node in SLOF.
> 
> This removed leading zeroes from "memory@" nodes and makes
> the DTC checker happy.
> 
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> ---

Reviewed-by: Greg Kurz <groug@kaod.org>

>  hw/ppc/spapr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index d93dacd483..d072c2aa3d 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -386,7 +386,7 @@ static int spapr_populate_memory_node(void *fdt, int nodeid, hwaddr start,
>      mem_reg_property[0] = cpu_to_be64(start);
>      mem_reg_property[1] = cpu_to_be64(size);
>  
> -    sprintf(mem_name, "memory@" TARGET_FMT_lx, start);
> +    sprintf(mem_name, "memory@%" HWADDR_PRIx, start);
>      off = fdt_add_subnode(fdt, 0, mem_name);
>      _FDT(off);
>      _FDT((fdt_setprop_string(fdt, off, "device_type", "memory")));