hw/riscv/virt.c: use g_autofree in create_fdt_sockets()
Move 'clust_name' inside the loop, and g_autofree, to avoid having to g_free() manually in each loop iteration. 'intc_phandles' is also g_autofreed to avoid another manual g_free(). Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20240122221529.86562-5-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
73cdf38a92
commit
5d0e3bcb66
@ -721,11 +721,11 @@ static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memmap,
|
|||||||
uint32_t *irq_virtio_phandle,
|
uint32_t *irq_virtio_phandle,
|
||||||
uint32_t *msi_pcie_phandle)
|
uint32_t *msi_pcie_phandle)
|
||||||
{
|
{
|
||||||
char *clust_name;
|
|
||||||
int socket, phandle_pos;
|
int socket, phandle_pos;
|
||||||
MachineState *ms = MACHINE(s);
|
MachineState *ms = MACHINE(s);
|
||||||
uint32_t msi_m_phandle = 0, msi_s_phandle = 0;
|
uint32_t msi_m_phandle = 0, msi_s_phandle = 0;
|
||||||
uint32_t *intc_phandles, xplic_phandles[MAX_NODES];
|
uint32_t xplic_phandles[MAX_NODES];
|
||||||
|
g_autofree uint32_t *intc_phandles = NULL;
|
||||||
int socket_count = riscv_socket_count(ms);
|
int socket_count = riscv_socket_count(ms);
|
||||||
|
|
||||||
qemu_fdt_add_subnode(ms->fdt, "/cpus");
|
qemu_fdt_add_subnode(ms->fdt, "/cpus");
|
||||||
@ -739,6 +739,7 @@ static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memmap,
|
|||||||
|
|
||||||
phandle_pos = ms->smp.cpus;
|
phandle_pos = ms->smp.cpus;
|
||||||
for (socket = (socket_count - 1); socket >= 0; socket--) {
|
for (socket = (socket_count - 1); socket >= 0; socket--) {
|
||||||
|
g_autofree char *clust_name = NULL;
|
||||||
phandle_pos -= s->soc[socket].num_harts;
|
phandle_pos -= s->soc[socket].num_harts;
|
||||||
|
|
||||||
clust_name = g_strdup_printf("/cpus/cpu-map/cluster%d", socket);
|
clust_name = g_strdup_printf("/cpus/cpu-map/cluster%d", socket);
|
||||||
@ -749,8 +750,6 @@ static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memmap,
|
|||||||
|
|
||||||
create_fdt_socket_memory(s, memmap, socket);
|
create_fdt_socket_memory(s, memmap, socket);
|
||||||
|
|
||||||
g_free(clust_name);
|
|
||||||
|
|
||||||
if (tcg_enabled()) {
|
if (tcg_enabled()) {
|
||||||
if (s->have_aclint) {
|
if (s->have_aclint) {
|
||||||
create_fdt_socket_aclint(s, memmap, socket,
|
create_fdt_socket_aclint(s, memmap, socket,
|
||||||
@ -793,8 +792,6 @@ static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memmap,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free(intc_phandles);
|
|
||||||
|
|
||||||
if (kvm_enabled() && virt_use_kvm_aia(s)) {
|
if (kvm_enabled() && virt_use_kvm_aia(s)) {
|
||||||
*irq_mmio_phandle = xplic_phandles[0];
|
*irq_mmio_phandle = xplic_phandles[0];
|
||||||
*irq_virtio_phandle = xplic_phandles[0];
|
*irq_virtio_phandle = xplic_phandles[0];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user