diff mbox

[Xen-devel,v2,1/8] tools: libxl: use uint64_t not unsigned long long for addresses

Message ID 1398424967-9306-1-git-send-email-ian.campbell@citrix.com
State Superseded
Headers show

Commit Message

Ian Campbell April 25, 2014, 11:22 a.m. UTC
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: New patch
---
 tools/libxl/libxl_arm.c |   19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

Comments

Julien Grall April 25, 2014, 11:42 a.m. UTC | #1
Hi Ian,

On 25/04/14 12:22, Ian Campbell wrote:
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>

> ---
> v2: New patch
> ---
>   tools/libxl/libxl_arm.c |   19 ++++++++-----------
>   1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
> index 4f0f0e2..215ef9e 100644
> --- a/tools/libxl/libxl_arm.c
> +++ b/tools/libxl/libxl_arm.c
> @@ -256,11 +256,10 @@ static int make_psci_node(libxl__gc *gc, void *fdt)
>   }
>
>   static int make_memory_node(libxl__gc *gc, void *fdt,
> -                            unsigned long long base,
> -                            unsigned long long size)
> +                            uint64_t base, uint64_t size)
>   {
>       int res;
> -    const char *name = GCSPRINTF("memory@%08llx", base);
> +    const char *name = GCSPRINTF("memory@%"PRIx64, base);
>
>       res = fdt_begin_node(fdt, name);
>       if (res) return res;
> @@ -269,7 +268,7 @@ static int make_memory_node(libxl__gc *gc, void *fdt,
>       if (res) return res;
>
>       res = fdt_property_regs(gc, fdt, ROOT_ADDRESS_CELLS, ROOT_SIZE_CELLS,
> -                            1, (uint64_t)base, (uint64_t)size);
> +                            1, base, size);
>       if (res) return res;
>
>       res = fdt_end_node(fdt);
> @@ -279,13 +278,11 @@ static int make_memory_node(libxl__gc *gc, void *fdt,
>   }
>
>   static int make_intc_node(libxl__gc *gc, void *fdt,
> -                          unsigned long long gicd_base,
> -                          unsigned long long gicd_size,
> -                          unsigned long long gicc_base,
> -                          unsigned long long gicc_size)
> +                          uint64_t gicd_base, uint64_t gicd_size,
> +                          uint64_t gicc_base, uint64_t gicc_size)
>   {
>       int res;
> -    const char *name = GCSPRINTF("interrupt-controller@%08llx", gicd_base);
> +    const char *name = GCSPRINTF("interrupt-controller@%"PRIx64, gicd_base);
>
>       res = fdt_begin_node(fdt, name);
>       if (res) return res;
> @@ -307,8 +304,8 @@ static int make_intc_node(libxl__gc *gc, void *fdt,
>
>       res = fdt_property_regs(gc, fdt, ROOT_ADDRESS_CELLS, ROOT_SIZE_CELLS,
>                               2,
> -                            (uint64_t)gicd_base, (uint64_t)gicd_size,
> -                            (uint64_t)gicc_base, (uint64_t)gicc_size);
> +                            gicd_base, gicd_size,
> +                            gicc_base, gicc_size);
>       if (res) return res;
>
>       res = fdt_property_cell(fdt, "linux,phandle", PHANDLE_GIC);
>
Ian Jackson April 30, 2014, 3:12 p.m. UTC | #2
Ian Campbell writes ("[PATCH v2 1/8] tools: libxl: use uint64_t not unsigned long long for addresses"):
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

If we are going to be doing this, why not introduce a type alias or
two ?

Ian.
Ian Campbell April 30, 2014, 3:49 p.m. UTC | #3
On Wed, 2014-04-30 at 16:12 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH v2 1/8] tools: libxl: use uint64_t not unsigned long long for addresses"):
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> If we are going to be doing this, why not introduce a type alias or
> two ?

Good point. I'll do that.

Ian.
Ian Campbell May 2, 2014, 10:03 a.m. UTC | #4
On Wed, 2014-04-30 at 16:49 +0100, Ian Campbell wrote:
> On Wed, 2014-04-30 at 16:12 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH v2 1/8] tools: libxl: use uint64_t not unsigned long long for addresses"):
> > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > 
> > If we are going to be doing this, why not introduce a type alias or
> > two ?
> 
> Good point. I'll do that.

Actually, when I came to look at this I realised that because these
numbers are being fed into device tree it is much simpler if they are of
a fixed size rather than semantic type because you need to declare
upfront the number of 32-bit cells each address and size value in the
tree takes and it's much simpler to just declare up from "everything is
2 cells" and then use uint64_t throughout.

Ian.
diff mbox

Patch

diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
index 4f0f0e2..215ef9e 100644
--- a/tools/libxl/libxl_arm.c
+++ b/tools/libxl/libxl_arm.c
@@ -256,11 +256,10 @@  static int make_psci_node(libxl__gc *gc, void *fdt)
 }
 
 static int make_memory_node(libxl__gc *gc, void *fdt,
-                            unsigned long long base,
-                            unsigned long long size)
+                            uint64_t base, uint64_t size)
 {
     int res;
-    const char *name = GCSPRINTF("memory@%08llx", base);
+    const char *name = GCSPRINTF("memory@%"PRIx64, base);
 
     res = fdt_begin_node(fdt, name);
     if (res) return res;
@@ -269,7 +268,7 @@  static int make_memory_node(libxl__gc *gc, void *fdt,
     if (res) return res;
 
     res = fdt_property_regs(gc, fdt, ROOT_ADDRESS_CELLS, ROOT_SIZE_CELLS,
-                            1, (uint64_t)base, (uint64_t)size);
+                            1, base, size);
     if (res) return res;
 
     res = fdt_end_node(fdt);
@@ -279,13 +278,11 @@  static int make_memory_node(libxl__gc *gc, void *fdt,
 }
 
 static int make_intc_node(libxl__gc *gc, void *fdt,
-                          unsigned long long gicd_base,
-                          unsigned long long gicd_size,
-                          unsigned long long gicc_base,
-                          unsigned long long gicc_size)
+                          uint64_t gicd_base, uint64_t gicd_size,
+                          uint64_t gicc_base, uint64_t gicc_size)
 {
     int res;
-    const char *name = GCSPRINTF("interrupt-controller@%08llx", gicd_base);
+    const char *name = GCSPRINTF("interrupt-controller@%"PRIx64, gicd_base);
 
     res = fdt_begin_node(fdt, name);
     if (res) return res;
@@ -307,8 +304,8 @@  static int make_intc_node(libxl__gc *gc, void *fdt,
 
     res = fdt_property_regs(gc, fdt, ROOT_ADDRESS_CELLS, ROOT_SIZE_CELLS,
                             2,
-                            (uint64_t)gicd_base, (uint64_t)gicd_size,
-                            (uint64_t)gicc_base, (uint64_t)gicc_size);
+                            gicd_base, gicd_size,
+                            gicc_base, gicc_size);
     if (res) return res;
 
     res = fdt_property_cell(fdt, "linux,phandle", PHANDLE_GIC);