On Tue, Apr 29, 2025 at 11:01 PM Daniel Henrique Barboza <dbarb...@ventanamicro.com> wrote: > > We can avoid the 'long' casts by using PRIx64 and HWADDR_PRIx on the fmt > strings for uint64_t and hwaddr types. > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > hw/riscv/virt.c | 32 +++++++++++++++++--------------- > 1 file changed, 17 insertions(+), 15 deletions(-) > > diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c > index f38b64d836..0020d8f404 100644 > --- a/hw/riscv/virt.c > +++ b/hw/riscv/virt.c > @@ -303,12 +303,13 @@ static void create_fdt_socket_cpus(RISCVVirtState *s, > int socket, > static void create_fdt_socket_memory(RISCVVirtState *s, int socket) > { > g_autofree char *mem_name = NULL; > - uint64_t addr, size; > + hwaddr addr; > + uint64_t size; > MachineState *ms = MACHINE(s); > > addr = s->memmap[VIRT_DRAM].base + riscv_socket_mem_offset(ms, socket); > size = riscv_socket_mem_size(ms, socket); > - mem_name = g_strdup_printf("/memory@%lx", (long)addr); > + mem_name = g_strdup_printf("/memory@%"HWADDR_PRIx, addr); > qemu_fdt_add_subnode(ms->fdt, mem_name); > qemu_fdt_setprop_cells(ms->fdt, mem_name, "reg", > addr >> 32, addr, size >> 32, size); > @@ -879,8 +880,8 @@ static void create_fdt_pcie(RISCVVirtState *s, > g_autofree char *name = NULL; > MachineState *ms = MACHINE(s); > > - name = g_strdup_printf("/soc/pci@%lx", > - (long) s->memmap[VIRT_PCIE_ECAM].base); > + name = g_strdup_printf("/soc/pci@%"HWADDR_PRIx, > + s->memmap[VIRT_PCIE_ECAM].base); > qemu_fdt_setprop_cell(ms->fdt, name, "#address-cells", > FDT_PCI_ADDR_CELLS); > qemu_fdt_setprop_cell(ms->fdt, name, "#interrupt-cells", > @@ -924,8 +925,8 @@ static void create_fdt_reset(RISCVVirtState *s, uint32_t > *phandle) > MachineState *ms = MACHINE(s); > > test_phandle = (*phandle)++; > - name = g_strdup_printf("/soc/test@%lx", > - (long)s->memmap[VIRT_TEST].base); > + name = g_strdup_printf("/soc/test@%"HWADDR_PRIx, > + s->memmap[VIRT_TEST].base); > qemu_fdt_add_subnode(ms->fdt, name); > { > static const char * const compat[3] = { > @@ -963,8 +964,8 @@ static void create_fdt_uart(RISCVVirtState *s, > g_autofree char *name = NULL; > MachineState *ms = MACHINE(s); > > - name = g_strdup_printf("/soc/serial@%lx", > - (long)s->memmap[VIRT_UART0].base); > + name = g_strdup_printf("/soc/serial@%"HWADDR_PRIx, > + s->memmap[VIRT_UART0].base); > qemu_fdt_add_subnode(ms->fdt, name); > qemu_fdt_setprop_string(ms->fdt, name, "compatible", "ns16550a"); > qemu_fdt_setprop_cells(ms->fdt, name, "reg", > @@ -988,7 +989,8 @@ static void create_fdt_rtc(RISCVVirtState *s, > g_autofree char *name = NULL; > MachineState *ms = MACHINE(s); > > - name = g_strdup_printf("/soc/rtc@%lx", (long)s->memmap[VIRT_RTC].base); > + name = g_strdup_printf("/soc/rtc@%"HWADDR_PRIx, > + s->memmap[VIRT_RTC].base); > qemu_fdt_add_subnode(ms->fdt, name); > qemu_fdt_setprop_string(ms->fdt, name, "compatible", > "google,goldfish-rtc"); > @@ -1041,8 +1043,8 @@ static void create_fdt_virtio_iommu(RISCVVirtState *s, > uint16_t bdf) > g_autofree char *iommu_node = NULL; > g_autofree char *pci_node = NULL; > > - pci_node = g_strdup_printf("/soc/pci@%lx", > - (long) s->memmap[VIRT_PCIE_ECAM].base); > + pci_node = g_strdup_printf("/soc/pci@%"HWADDR_PRIx, > + s->memmap[VIRT_PCIE_ECAM].base); > iommu_node = g_strdup_printf("%s/virtio_iommu@%x,%x", pci_node, > PCI_SLOT(bdf), PCI_FUNC(bdf)); > iommu_phandle = qemu_fdt_alloc_phandle(fdt); > @@ -1110,8 +1112,8 @@ static void create_fdt_iommu(RISCVVirtState *s, > uint16_t bdf) > g_autofree char *iommu_node = NULL; > g_autofree char *pci_node = NULL; > > - pci_node = g_strdup_printf("/soc/pci@%lx", > - (long) s->memmap[VIRT_PCIE_ECAM].base); > + pci_node = g_strdup_printf("/soc/pci@%"HWADDR_PRIx, > + s->memmap[VIRT_PCIE_ECAM].base); > iommu_node = g_strdup_printf("%s/iommu@%x", pci_node, bdf); > iommu_phandle = qemu_fdt_alloc_phandle(fdt); > qemu_fdt_add_subnode(fdt, iommu_node); > @@ -1180,8 +1182,8 @@ static void create_fdt(RISCVVirtState *s) > * The "/soc/pci@..." node is needed for PCIE hotplugs > * that might happen before finalize_fdt(). > */ > - name = g_strdup_printf("/soc/pci@%lx", > - (long) s->memmap[VIRT_PCIE_ECAM].base); > + name = g_strdup_printf("/soc/pci@%"HWADDR_PRIx, > + s->memmap[VIRT_PCIE_ECAM].base); > qemu_fdt_add_subnode(ms->fdt, name); > > qemu_fdt_add_subnode(ms->fdt, "/chosen"); > -- > 2.49.0 > >