From nobody Sat Nov 15 23:41:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1745931714; cv=none; d=zohomail.com; s=zohoarc; b=LIaqudaYpd9+QEJ1YB1W6Xn18NQsmGGAzGmU+tK24velmaMGIJ9MSmvAW5aaoWYEjp0iGYOunT7KbQqx+ADy0MyLcZs+pr9Wr6HBJkmmmVWAU2tNrOK4O4+LWrRm1Pywm+bK3VJ64WGpllzs1j4R9wufj/Rw0ZNJOfISkAiEBC4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931714; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IpsnEUwn4rtW5yM+6A4MeXd/5suwXE07WSJlApopJRI=; b=T3HURUDECmtM/MgoS3vHQQALvzIPHawiAJA4A/LsphYztmNdoWE3hBv+A68Lgs5k1oyuHmIElvrW8wwg3QWTEnv3M/xJZYdLD+/ua8LjP7PgNaktCLd/dRqgwfu/zm5musGEWkyYm7csJ1qL0TH93fvTPNVlzSDhNvgK0fb+xCc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745931714232385.4732937881141; Tue, 29 Apr 2025 06:01:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXt-0002V1-0W; Tue, 29 Apr 2025 08:58:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u9kXq-0002Ty-Ri for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:42 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXm-0000BH-91 for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:41 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-af5085f7861so4384342a12.3 for ; Tue, 29 Apr 2025 05:58:37 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931516; x=1746536316; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IpsnEUwn4rtW5yM+6A4MeXd/5suwXE07WSJlApopJRI=; b=n1Rse9OoT6zjHtq1zS1TtGt0qkC/boWVyKm+u4PKaC7+N4RvUb7jEfjFOiNLRUhHfj Nc5yNNPYQDk4DdB5ZVqp2RvS2DL5ceJiQ6/oWPh4YzF441dLugxA/YpBT6GyTYMhilJ5 NOei4BIJymWtRAeXz5nol7et66uOBNLvRgOVcF9NMxmnXfORcmR/JCoy1Rj9vmr2aATD vT1OzzYR9JVHzNbW1KAaOPrLs3vcfOirnXBeO/juo6pHfiZvSBM/oBOQz0mdoc1COqWR byV6dVsw5xfGGqpxwJE1cu+0DsyvG8YzXtsWbO5XO7eOnT218tdqm3wfh1SA0/M+VEE6 Do6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931516; x=1746536316; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IpsnEUwn4rtW5yM+6A4MeXd/5suwXE07WSJlApopJRI=; b=A62UD9BXr8Q13v1p9jkc1Z+7xPXtQ1LHcWcPi1vKybb25A2M5+l/LewmHBOfhdao8n +1TiUqeh7IJLY70JUPuFZhtB0NBmI2PXU5ChgqVtTIg5Zof6LDeYu7ZxL6CLvi4PbOCt I5Ajt6R0XYorL1CTIm3D7yyp6aD0q/2d/o4QVYEbnrvjjP0mSjTX/54ls4taHMlptCUK viCkEFunAJ0mhI1heGwgAShK1rJxC03FXiTAJFEZRYKKgmZDoi3s+4mxL/cccFNmEiYs NXbBRqskmeiN2h8hKcJH0aicDUAw0qQmNg3C4Y6hNwtA4g8UBzBTIe5vH0SJg/p7FO2f H4AA== X-Gm-Message-State: AOJu0Yx3cYtWNN3fKEyPlaUYUnei7s73AV2Yt7Y8vwjVWRLWCASEA0sl YZKa36f7206x9/jzSioFCmO7c8KAL1LbzeCXcX5+i6LAiJ90n8K/XSeLmxKc6QhIoCAeGD5HPee q X-Gm-Gg: ASbGncvQHA8YH9DGr8yrEITr4+SDQwE+vaN25xNhhML9zQzLUPdNsMeLH0aLRfumVMO a3rNMmcJzj/vabq4f214JWUxt8l9afHGni4i8BJ85cOTkYvoOGt8FAU86GMRsPeyfM2VaQC8XPt 8ldMzThN0OYGYFTNkaAYOQW2oqMyBr5luOUjmez+x2A9aUdi3VoQm3CyBFthYSWqcyAf86NQ5cR EzYlDw5uLki5jDKqqIhWBH0/rikT99UXsPWzX9DT7xU5UFJP+wfpP3PK2nIkpo5iTTkxDKbY5iy 6pxxfLg0Ssz+FvQ/OyG/De4JN33kg82RV97mirdGuy8= X-Google-Smtp-Source: AGHT+IH+UgU0XypMfocAMaJBHHpCrpRWH+EjLU22SW3BwNtuISO+x0mdPthJN/DBdzYOeiBipNtbnA== X-Received: by 2002:a05:6a20:9f9a:b0:1f5:6c7b:8920 with SMTP id adf61e73a8af0-2046a3eec69mr16980591637.9.1745931515833; Tue, 29 Apr 2025 05:58:35 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, palmer@rivosinc.com, joel@jms.id.au, Daniel Henrique Barboza Subject: [PATCH v2 6/9] hw/riscv/virt.c: use s->memmap in create_fdt_sockets() path Date: Tue, 29 Apr 2025 09:58:08 -0300 Message-ID: <20250429125811.224803-7-dbarboza@ventanamicro.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250429125811.224803-1-dbarboza@ventanamicro.com> References: <20250429125811.224803-1-dbarboza@ventanamicro.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::533; envelope-from=dbarboza@ventanamicro.com; helo=mail-pg1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ventanamicro.com) X-ZM-MESSAGEID: 1745931715813019100 Content-Type: text/plain; charset="utf-8" create_fdt_sockets() and all its fdt helpers (create_fdt_socket_aplic(), create_fdt_imsic(), create_fdt_socket_plic(), create_fdt_socket_aclint() and create_fdt_socket_memory()) can use s->memmap from their RISCVVirtState pointer instead of having an extra memmap argument. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 89 ++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 5f31c95955..2383a557bd 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -300,14 +300,13 @@ static void create_fdt_socket_cpus(RISCVVirtState *s,= int socket, } } =20 -static void create_fdt_socket_memory(RISCVVirtState *s, - const MemMapEntry *memmap, int socket) +static void create_fdt_socket_memory(RISCVVirtState *s, int socket) { g_autofree char *mem_name =3D NULL; uint64_t addr, size; MachineState *ms =3D MACHINE(s); =20 - addr =3D memmap[VIRT_DRAM].base + riscv_socket_mem_offset(ms, socket); + addr =3D s->memmap[VIRT_DRAM].base + riscv_socket_mem_offset(ms, socke= t); size =3D riscv_socket_mem_size(ms, socket); mem_name =3D g_strdup_printf("/memory@%lx", (long)addr); qemu_fdt_add_subnode(ms->fdt, mem_name); @@ -318,7 +317,7 @@ static void create_fdt_socket_memory(RISCVVirtState *s, } =20 static void create_fdt_socket_clint(RISCVVirtState *s, - const MemMapEntry *memmap, int socket, + int socket, uint32_t *intc_phandles) { int cpu; @@ -339,21 +338,22 @@ static void create_fdt_socket_clint(RISCVVirtState *s, clint_cells[cpu * 4 + 3] =3D cpu_to_be32(IRQ_M_TIMER); } =20 - clint_addr =3D memmap[VIRT_CLINT].base + (memmap[VIRT_CLINT].size * so= cket); + clint_addr =3D s->memmap[VIRT_CLINT].base + + (s->memmap[VIRT_CLINT].size * socket); clint_name =3D g_strdup_printf("/soc/clint@%lx", clint_addr); qemu_fdt_add_subnode(ms->fdt, clint_name); qemu_fdt_setprop_string_array(ms->fdt, clint_name, "compatible", (char **)&clint_compat, ARRAY_SIZE(clint_compat)); qemu_fdt_setprop_cells(ms->fdt, clint_name, "reg", - 0x0, clint_addr, 0x0, memmap[VIRT_CLINT].size); + 0x0, clint_addr, 0x0, s->memmap[VIRT_CLINT].size); qemu_fdt_setprop(ms->fdt, clint_name, "interrupts-extended", clint_cells, s->soc[socket].num_harts * sizeof(uint32_t) * 4); riscv_socket_fdt_write_id(ms, clint_name, socket); } =20 static void create_fdt_socket_aclint(RISCVVirtState *s, - const MemMapEntry *memmap, int socket, + int socket, uint32_t *intc_phandles) { int cpu; @@ -380,8 +380,10 @@ static void create_fdt_socket_aclint(RISCVVirtState *s, aclint_cells_size =3D s->soc[socket].num_harts * sizeof(uint32_t) * 2; =20 if (s->aia_type !=3D VIRT_AIA_TYPE_APLIC_IMSIC) { - addr =3D memmap[VIRT_CLINT].base + (memmap[VIRT_CLINT].size * sock= et); + addr =3D s->memmap[VIRT_CLINT].base + + (s->memmap[VIRT_CLINT].size * socket); name =3D g_strdup_printf("/soc/mswi@%lx", addr); + qemu_fdt_add_subnode(ms->fdt, name); qemu_fdt_setprop_string(ms->fdt, name, "compatible", "riscv,aclint-mswi"); @@ -396,13 +398,13 @@ static void create_fdt_socket_aclint(RISCVVirtState *= s, } =20 if (s->aia_type =3D=3D VIRT_AIA_TYPE_APLIC_IMSIC) { - addr =3D memmap[VIRT_CLINT].base + + addr =3D s->memmap[VIRT_CLINT].base + (RISCV_ACLINT_DEFAULT_MTIMER_SIZE * socket); size =3D RISCV_ACLINT_DEFAULT_MTIMER_SIZE; } else { - addr =3D memmap[VIRT_CLINT].base + RISCV_ACLINT_SWI_SIZE + - (memmap[VIRT_CLINT].size * socket); - size =3D memmap[VIRT_CLINT].size - RISCV_ACLINT_SWI_SIZE; + addr =3D s->memmap[VIRT_CLINT].base + RISCV_ACLINT_SWI_SIZE + + (s->memmap[VIRT_CLINT].size * socket); + size =3D s->memmap[VIRT_CLINT].size - RISCV_ACLINT_SWI_SIZE; } name =3D g_strdup_printf("/soc/mtimer@%lx", addr); qemu_fdt_add_subnode(ms->fdt, name); @@ -419,14 +421,15 @@ static void create_fdt_socket_aclint(RISCVVirtState *= s, g_free(name); =20 if (s->aia_type !=3D VIRT_AIA_TYPE_APLIC_IMSIC) { - addr =3D memmap[VIRT_ACLINT_SSWI].base + - (memmap[VIRT_ACLINT_SSWI].size * socket); + addr =3D s->memmap[VIRT_ACLINT_SSWI].base + + (s->memmap[VIRT_ACLINT_SSWI].size * socket); + name =3D g_strdup_printf("/soc/sswi@%lx", addr); qemu_fdt_add_subnode(ms->fdt, name); qemu_fdt_setprop_string(ms->fdt, name, "compatible", "riscv,aclint-sswi"); qemu_fdt_setprop_cells(ms->fdt, name, "reg", - 0x0, addr, 0x0, memmap[VIRT_ACLINT_SSWI].size); + 0x0, addr, 0x0, s->memmap[VIRT_ACLINT_SSWI].size); qemu_fdt_setprop(ms->fdt, name, "interrupts-extended", aclint_sswi_cells, aclint_cells_size); qemu_fdt_setprop(ms->fdt, name, "interrupt-controller", NULL, 0); @@ -437,7 +440,7 @@ static void create_fdt_socket_aclint(RISCVVirtState *s, } =20 static void create_fdt_socket_plic(RISCVVirtState *s, - const MemMapEntry *memmap, int socket, + int socket, uint32_t *phandle, uint32_t *intc_phand= les, uint32_t *plic_phandles) { @@ -451,7 +454,8 @@ static void create_fdt_socket_plic(RISCVVirtState *s, }; =20 plic_phandles[socket] =3D (*phandle)++; - plic_addr =3D memmap[VIRT_PLIC].base + (memmap[VIRT_PLIC].size * socke= t); + plic_addr =3D s->memmap[VIRT_PLIC].base + + (s->memmap[VIRT_PLIC].size * socket); plic_name =3D g_strdup_printf("/soc/plic@%lx", plic_addr); qemu_fdt_add_subnode(ms->fdt, plic_name); qemu_fdt_setprop_cell(ms->fdt, plic_name, @@ -490,7 +494,7 @@ static void create_fdt_socket_plic(RISCVVirtState *s, } =20 qemu_fdt_setprop_cells(ms->fdt, plic_name, "reg", - 0x0, plic_addr, 0x0, memmap[VIRT_PLIC].size); + 0x0, plic_addr, 0x0, s->memmap[VIRT_PLIC].size); qemu_fdt_setprop_cell(ms->fdt, plic_name, "riscv,ndev", VIRT_IRQCHIP_NUM_SOURCES - 1); riscv_socket_fdt_write_id(ms, plic_name, socket); @@ -499,8 +503,8 @@ static void create_fdt_socket_plic(RISCVVirtState *s, =20 if (!socket) { platform_bus_add_all_fdt_nodes(ms->fdt, plic_name, - memmap[VIRT_PLATFORM_BUS].base, - memmap[VIRT_PLATFORM_BUS].size, + s->memmap[VIRT_PLATFORM_BUS].base, + s->memmap[VIRT_PLATFORM_BUS].size, VIRT_PLATFORM_BUS_IRQ); } } @@ -587,7 +591,7 @@ static void create_fdt_one_imsic(RISCVVirtState *s, hwa= ddr base_addr, qemu_fdt_setprop_cell(ms->fdt, imsic_name, "phandle", msi_phandle); } =20 -static void create_fdt_imsic(RISCVVirtState *s, const MemMapEntry *memmap, +static void create_fdt_imsic(RISCVVirtState *s, uint32_t *phandle, uint32_t *intc_phandles, uint32_t *msi_m_phandle, uint32_t *msi_s_phan= dle) { @@ -596,12 +600,12 @@ static void create_fdt_imsic(RISCVVirtState *s, const= MemMapEntry *memmap, =20 if (!kvm_enabled()) { /* M-level IMSIC node */ - create_fdt_one_imsic(s, memmap[VIRT_IMSIC_M].base, intc_phandles, + create_fdt_one_imsic(s, s->memmap[VIRT_IMSIC_M].base, intc_phandle= s, *msi_m_phandle, true, 0); } =20 /* S-level IMSIC node */ - create_fdt_one_imsic(s, memmap[VIRT_IMSIC_S].base, intc_phandles, + create_fdt_one_imsic(s, s->memmap[VIRT_IMSIC_S].base, intc_phandles, *msi_s_phandle, false, imsic_num_bits(s->aia_guests + 1)); =20 @@ -678,7 +682,7 @@ static void create_fdt_one_aplic(RISCVVirtState *s, int= socket, } =20 static void create_fdt_socket_aplic(RISCVVirtState *s, - const MemMapEntry *memmap, int socket, + int socket, uint32_t msi_m_phandle, uint32_t msi_s_phandle, uint32_t *phandle, @@ -695,18 +699,19 @@ static void create_fdt_socket_aplic(RISCVVirtState *s, =20 if (!kvm_enabled()) { /* M-level APLIC node */ - aplic_addr =3D memmap[VIRT_APLIC_M].base + - (memmap[VIRT_APLIC_M].size * socket); - create_fdt_one_aplic(s, socket, aplic_addr, memmap[VIRT_APLIC_M].s= ize, + aplic_addr =3D s->memmap[VIRT_APLIC_M].base + + (s->memmap[VIRT_APLIC_M].size * socket); + create_fdt_one_aplic(s, socket, aplic_addr, + s->memmap[VIRT_APLIC_M].size, msi_m_phandle, intc_phandles, aplic_m_phandle, aplic_s_phandle, true, num_harts); } =20 /* S-level APLIC node */ - aplic_addr =3D memmap[VIRT_APLIC_S].base + - (memmap[VIRT_APLIC_S].size * socket); - create_fdt_one_aplic(s, socket, aplic_addr, memmap[VIRT_APLIC_S].size, + aplic_addr =3D s->memmap[VIRT_APLIC_S].base + + (s->memmap[VIRT_APLIC_S].size * socket); + create_fdt_one_aplic(s, socket, aplic_addr, s->memmap[VIRT_APLIC_S].si= ze, msi_s_phandle, intc_phandles, aplic_s_phandle, 0, false, num_harts); @@ -714,8 +719,8 @@ static void create_fdt_socket_aplic(RISCVVirtState *s, if (!socket) { g_autofree char *aplic_name =3D fdt_get_aplic_nodename(aplic_addr); platform_bus_add_all_fdt_nodes(ms->fdt, aplic_name, - memmap[VIRT_PLATFORM_BUS].base, - memmap[VIRT_PLATFORM_BUS].size, + s->memmap[VIRT_PLATFORM_BUS].base, + s->memmap[VIRT_PLATFORM_BUS].size, VIRT_PLATFORM_BUS_IRQ); } =20 @@ -733,7 +738,7 @@ static void create_fdt_pmu(RISCVVirtState *s) riscv_pmu_generate_fdt_node(ms->fdt, hart.pmu_avail_ctrs, pmu_name); } =20 -static void create_fdt_sockets(RISCVVirtState *s, const MemMapEntry *memma= p, +static void create_fdt_sockets(RISCVVirtState *s, uint32_t *phandle, uint32_t *irq_mmio_phandle, uint32_t *irq_pcie_phandle, @@ -769,20 +774,20 @@ static void create_fdt_sockets(RISCVVirtState *s, con= st MemMapEntry *memmap, create_fdt_socket_cpus(s, socket, clust_name, phandle, &intc_phandles[phandle_pos]); =20 - create_fdt_socket_memory(s, memmap, socket); + create_fdt_socket_memory(s, socket); =20 if (virt_aclint_allowed() && s->have_aclint) { - create_fdt_socket_aclint(s, memmap, socket, + create_fdt_socket_aclint(s, socket, &intc_phandles[phandle_pos]); } else if (tcg_enabled()) { - create_fdt_socket_clint(s, memmap, socket, + create_fdt_socket_clint(s, socket, &intc_phandles[phandle_pos]); } } =20 if (s->aia_type =3D=3D VIRT_AIA_TYPE_APLIC_IMSIC) { - create_fdt_imsic(s, memmap, phandle, intc_phandles, - &msi_m_phandle, &msi_s_phandle); + create_fdt_imsic(s, phandle, intc_phandles, + &msi_m_phandle, &msi_s_phandle); *msi_pcie_phandle =3D msi_s_phandle; } =20 @@ -791,7 +796,7 @@ static void create_fdt_sockets(RISCVVirtState *s, const= MemMapEntry *memmap, * mode, we'll use only one APLIC instance. */ if (!virt_use_emulated_aplic(s->aia_type)) { - create_fdt_socket_aplic(s, memmap, 0, + create_fdt_socket_aplic(s, 0, msi_m_phandle, msi_s_phandle, phandle, &intc_phandles[0], xplic_phandles, ms->smp.cpus); @@ -805,11 +810,11 @@ static void create_fdt_sockets(RISCVVirtState *s, con= st MemMapEntry *memmap, phandle_pos -=3D s->soc[socket].num_harts; =20 if (s->aia_type =3D=3D VIRT_AIA_TYPE_NONE) { - create_fdt_socket_plic(s, memmap, socket, phandle, + create_fdt_socket_plic(s, socket, phandle, &intc_phandles[phandle_pos], xplic_phandles); } else { - create_fdt_socket_aplic(s, memmap, socket, + create_fdt_socket_aplic(s, socket, msi_m_phandle, msi_s_phandle, phan= dle, &intc_phandles[phandle_pos], xplic_phandles, @@ -1125,7 +1130,7 @@ static void finalize_fdt(RISCVVirtState *s) uint32_t irq_pcie_phandle =3D 1, irq_virtio_phandle =3D 1; uint32_t iommu_sys_phandle =3D 1; =20 - create_fdt_sockets(s, s->memmap, &phandle, &irq_mmio_phandle, + create_fdt_sockets(s, &phandle, &irq_mmio_phandle, &irq_pcie_phandle, &irq_virtio_phandle, &msi_pcie_phandle); =20 --=20 2.49.0