[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/7] hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus()
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH 3/7] hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus() |
Date: |
Mon, 22 Jan 2024 19:15:25 -0300 |
Move all char pointers to the loop. Use g_autofree in all of them to
avoid the g_free() calls.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
hw/riscv/virt.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index f9fd1341fc..373b1dd96b 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -215,12 +215,16 @@ static void create_fdt_socket_cpus(RISCVVirtState *s, int
socket,
int cpu;
uint32_t cpu_phandle;
MachineState *ms = MACHINE(s);
- char *name, *cpu_name, *core_name, *intc_name, *sv_name;
bool is_32_bit = riscv_is_32bit(&s->soc[0]);
uint8_t satp_mode_max;
for (cpu = s->soc[socket].num_harts - 1; cpu >= 0; cpu--) {
RISCVCPU *cpu_ptr = &s->soc[socket].harts[cpu];
+ g_autofree char *name = NULL;
+ g_autofree char *cpu_name = NULL;
+ g_autofree char *core_name = NULL;
+ g_autofree char *intc_name = NULL;
+ g_autofree char *sv_name = NULL;
cpu_phandle = (*phandle)++;
@@ -233,12 +237,10 @@ static void create_fdt_socket_cpus(RISCVVirtState *s, int
socket,
sv_name = g_strdup_printf("riscv,%s",
satp_mode_str(satp_mode_max, is_32_bit));
qemu_fdt_setprop_string(ms->fdt, cpu_name, "mmu-type", sv_name);
- g_free(sv_name);
}
name = riscv_isa_string(cpu_ptr);
qemu_fdt_setprop_string(ms->fdt, cpu_name, "riscv,isa", name);
- g_free(name);
if (cpu_ptr->cfg.ext_zicbom) {
qemu_fdt_setprop_cell(ms->fdt, cpu_name, "riscv,cbom-block-size",
@@ -277,10 +279,6 @@ static void create_fdt_socket_cpus(RISCVVirtState *s, int
socket,
core_name = g_strdup_printf("%s/core%d", clust_name, cpu);
qemu_fdt_add_subnode(ms->fdt, core_name);
qemu_fdt_setprop_cell(ms->fdt, core_name, "cpu", cpu_phandle);
-
- g_free(core_name);
- g_free(intc_name);
- g_free(cpu_name);
}
}
--
2.43.0
- [PATCH 0/7] hw/riscv: fix leak, add more g_autofree, Daniel Henrique Barboza, 2024/01/22
- [PATCH 1/7] hw/riscv/virt-acpi-build.c: fix leak in build_rhct(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 2/7] hw/riscv/numa.c: use g_autofree in socket_fdt_write_distance_matrix(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 3/7] hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus(),
Daniel Henrique Barboza <=
- [PATCH 4/7] hw/riscv/virt.c: use g_autofree in create_fdt_sockets(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 5/7] hw/riscv/virt.c: use g_autofree in create_fdt_virtio(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 6/7] hw/riscv/virt.c: use g_autofree in virt_machine_init(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 7/7] hw/riscv/virt.c: use g_autofree in create_fdt_*, Daniel Henrique Barboza, 2024/01/22