From nobody Sat Nov 15 22:26:28 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=1745931584; cv=none; d=zohomail.com; s=zohoarc; b=aiYGzrFZTodWqh9zE7wsG/HtyF7PHH+6qdSmwBsZ+nHx8CjZ9OMBfBQb6xJM11hYFVZwVYzrGsQCplLFFfR+yfyv4oKh0bErDaLGe2Ta+5LLaUKzNeYZSPJ5eOuNmGHX1ZYcrIVK7+G41VWe1ssbiX64aIqhGSNUGHy0Q2LoEnA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931584; 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=Kk7W7DjCSyMwi4lFsEoEOcfFm5Zhop6VnxfXbIaEzIE=; b=PsHzGHWqM+LtdwOtRbpnjl4qEIwDTUJKOyDAOqVUhUx1eNofHB7qbCJstJDPi1k+nlrbb8DYhqSyMv3UyrXrnNC1iqbf/55a46uHEdmeR/sTWVfnVNpsZ/Qsx6NRdqGKErqOG/rJXx+iS74ZA3c8T+ruy52ZBRpIDVMczKUCZ+Q= 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 174593158461810.410195206096546; Tue, 29 Apr 2025 05:59:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXa-0002PR-2a; Tue, 29 Apr 2025 08:58:26 -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 1u9kXZ-0002P3-1T for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:25 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXW-00007v-RT for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:24 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-b13e0471a2dso4341623a12.2 for ; Tue, 29 Apr 2025 05:58:22 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931500; x=1746536300; 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=Kk7W7DjCSyMwi4lFsEoEOcfFm5Zhop6VnxfXbIaEzIE=; b=Ms5rmfeSR7GmFe9X+qvp3LAIkSxx6iafb9KhfJ9U/mz1upB8HQuzlt+I/QYE+Trq5a DtLGJm61vx/2Mqdw1Ui9hJ4fO9YzJ+vc1COUNhj7w3keCtEBcFPsYJPzHGWrZWQ/dNIh s0JpS0ADGb4zWvXQOZ6sAE40i0/qTKLmU6BlWXTw0TUgntYp9wcdrZpv+ycKlUdhzusm +IbgCV6aJR9f33F41yZqS4CjO72z4nIz4ZGEpUTbagHaz5vIMLK/FQuG48JHto/V69WC FSa79WqNacqxqRSvb/0it1ZBcujs/lw9ekZ9SpmG61bZW7BVOXAynfElwNMLftbaChmK Z5ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931500; x=1746536300; 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=Kk7W7DjCSyMwi4lFsEoEOcfFm5Zhop6VnxfXbIaEzIE=; b=bTulqYOWrrrm78YqtEjzrz/PUAOuYzh34AYTr3JtR7JogqHJstolLkegm9lS27ihYB KvMRUUhGc8/J48XtSw9niU9PC/Pv9bwwQYu8Zs+A2My24+uCCgIxjXl9CIZSl49XL20O A/NqVfUHqRG7yzm2NMVKUYpH+qgKY8ddtSo7aLDg0uZYSDgU5+1008nW1bWEb0hAlHKl JQTtyTsdgM+9Sk/5Jra02vpiZj6BOj0CjDnkhhoHJmkTgd3y8BObkSkKSOAST65g0W3Y ZPreduVrKkav6XQ3Z1rmcL6vywkGbHr8W10mkIikJAOC43dzVZ/HMgasf8V1NiT3uQAU 7gIQ== X-Gm-Message-State: AOJu0YxL8rOrnqZJSUjQk7r5rumt5VnteY8jYTXxr+bC8bjuw2FHmw/A Yhr4EggZD+FOlO69weaqNgWIVvg/I81hn3LxI6vqndmj2FJcW4mWCzmSD5w1/dTKLCDJD7wiWS4 F X-Gm-Gg: ASbGncvZFjk86AprZBJz9sqmKQOOczSqc//4GqNVOi2O7/Q6uvqRR3+C2wQc4xGgCxb 3nUMq0HAhAG6FUOpY+gIVhIPNTN9BxXzAeh2eQ8+Ei1FR6IDfpMfT4HJuoh3UmHLSiUDEV5OwML B8vjV+tJlc/A32N3wfweTfISrVlB37P+aZGgx2V0f/H1j5sNdppN1zJMKpcLzlJSjSGgHSnR/iE 1tnYt5M+Ri2s5prDTJ3/Sodhw0H1HOELXMLcT+44tSTaIT8YXzSPCEGXatu3hUc/dL3PTMn6FKD j/ZXxPJngarQ6L2Nozee+ipDrwEaVrsWXQs38k1hPYY= X-Google-Smtp-Source: AGHT+IFPiWAwbJJYeBIyIlYJXNgVomBTqmX5HFS1b4uqsWLMvB/dxtVMnIgFyVLq8kVNthLzA7M/EA== X-Received: by 2002:a05:6a20:d706:b0:1f5:9098:e42e with SMTP id adf61e73a8af0-2046a3abbb6mr21070608637.7.1745931500548; Tue, 29 Apr 2025 05:58:20 -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 1/9] hw/riscv/virt.c: enforce s->memmap use in machine_init() Date: Tue, 29 Apr 2025 09:58:03 -0300 Message-ID: <20250429125811.224803-2-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::52c; envelope-from=dbarboza@ventanamicro.com; helo=mail-pg1-x52c.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 autolearn=unavailable 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: 1745931587237019100 Content-Type: text/plain; charset="utf-8" Throughout the code we're accessing the board memmap, most of the time, by accessing it statically via 'virt_memmap'. This static map is also assigned in the machine state in s->memmap. We're also passing it as a variable to some fdt functions, which is unorthodox since we can spare a function argument by accessing it statically or via the machine state. All the current forms are valid but not all of the are scalable. In the future we will version this board, and then all this code will need rework because it should point to the updated memmap. In this case, we'll want to assign the adequate versioned memmap once during init, in s->memmap like it is being done today, and the rest of the code will access the updated map via s->memmap. We're also enforcing the pattern of using s->memmap instead of assigning it to a temp variable 'memmap'. Code is copy/pasted around all the time and being consistent is important. We'll start these rather mechanical changes with virt_machine_init(). Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Reviewed-by: Joel Stanley --- hw/riscv/virt.c | 54 ++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 0ac9d63888..bcf0ddd6c6 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1526,7 +1526,6 @@ static void virt_machine_done(Notifier *notifier, voi= d *data) =20 static void virt_machine_init(MachineState *machine) { - const MemMapEntry *memmap =3D virt_memmap; RISCVVirtState *s =3D RISCV_VIRT_MACHINE(machine); MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); @@ -1534,6 +1533,8 @@ static void virt_machine_init(MachineState *machine) int i, base_hartid, hart_count; int socket_count =3D riscv_socket_count(machine); =20 + s->memmap =3D virt_memmap; + /* Check socket count limit */ if (VIRT_SOCKETS_MAX < socket_count) { error_report("number of sockets/nodes should be less than %d", @@ -1581,7 +1582,7 @@ static void virt_machine_init(MachineState *machine) if (virt_aclint_allowed() && s->have_aclint) { if (s->aia_type =3D=3D VIRT_AIA_TYPE_APLIC_IMSIC) { /* Per-socket ACLINT MTIMER */ - riscv_aclint_mtimer_create(memmap[VIRT_CLINT].base + + riscv_aclint_mtimer_create(s->memmap[VIRT_CLINT].base + i * RISCV_ACLINT_DEFAULT_MTIMER_SIZE, RISCV_ACLINT_DEFAULT_MTIMER_SIZE, base_hartid, hart_count, @@ -1590,28 +1591,28 @@ static void virt_machine_init(MachineState *machine) RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, true); } else { /* Per-socket ACLINT MSWI, MTIMER, and SSWI */ - riscv_aclint_swi_create(memmap[VIRT_CLINT].base + - i * memmap[VIRT_CLINT].size, + riscv_aclint_swi_create(s->memmap[VIRT_CLINT].base + + i * s->memmap[VIRT_CLINT].size, base_hartid, hart_count, false); - riscv_aclint_mtimer_create(memmap[VIRT_CLINT].base + - i * memmap[VIRT_CLINT].size + + riscv_aclint_mtimer_create(s->memmap[VIRT_CLINT].base + + i * s->memmap[VIRT_CLINT].size + RISCV_ACLINT_SWI_SIZE, RISCV_ACLINT_DEFAULT_MTIMER_SIZE, base_hartid, hart_count, RISCV_ACLINT_DEFAULT_MTIMECMP, RISCV_ACLINT_DEFAULT_MTIME, RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, true); - riscv_aclint_swi_create(memmap[VIRT_ACLINT_SSWI].base + - i * memmap[VIRT_ACLINT_SSWI].size, + riscv_aclint_swi_create(s->memmap[VIRT_ACLINT_SSWI].base + + i * s->memmap[VIRT_ACLINT_SSWI].size, base_hartid, hart_count, true); } } else if (tcg_enabled()) { /* Per-socket SiFive CLINT */ riscv_aclint_swi_create( - memmap[VIRT_CLINT].base + i * memmap[VIRT_CLINT].size, + s->memmap[VIRT_CLINT].base + i * s->memmap[VIRT_CLINT]= .size, base_hartid, hart_count, false); - riscv_aclint_mtimer_create(memmap[VIRT_CLINT].base + - i * memmap[VIRT_CLINT].size + RISCV_ACLINT_SWI_SIZ= E, + riscv_aclint_mtimer_create(s->memmap[VIRT_CLINT].base + + i * s->memmap[VIRT_CLINT].size + RISCV_ACLINT_SWI_SIZE, RISCV_ACLINT_DEFAULT_MTIMER_SIZE, base_hartid, hart_co= unt, RISCV_ACLINT_DEFAULT_MTIMECMP, RISCV_ACLINT_DEFAULT_MT= IME, RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, true); @@ -1619,11 +1620,11 @@ static void virt_machine_init(MachineState *machine) =20 /* Per-socket interrupt controller */ if (s->aia_type =3D=3D VIRT_AIA_TYPE_NONE) { - s->irqchip[i] =3D virt_create_plic(memmap, i, + s->irqchip[i] =3D virt_create_plic(s->memmap, i, base_hartid, hart_count); } else { s->irqchip[i] =3D virt_create_aia(s->aia_type, s->aia_guests, - memmap, i, base_hartid, + s->memmap, i, base_hartid, hart_count); } =20 @@ -1645,8 +1646,8 @@ static void virt_machine_init(MachineState *machine) if (kvm_enabled() && virt_use_kvm_aia_aplic_imsic(s->aia_type)) { kvm_riscv_aia_create(machine, IMSIC_MMIO_GROUP_MIN_SHIFT, VIRT_IRQCHIP_NUM_SOURCES, VIRT_IRQCHIP_NUM_MS= IS, - memmap[VIRT_APLIC_S].base, - memmap[VIRT_IMSIC_S].base, + s->memmap[VIRT_APLIC_S].base, + s->memmap[VIRT_IMSIC_S].base, s->aia_guests); } =20 @@ -1662,21 +1663,20 @@ static void virt_machine_init(MachineState *machine) virt_high_pcie_memmap.size =3D VIRT32_HIGH_PCIE_MMIO_SIZE; } else { virt_high_pcie_memmap.size =3D VIRT64_HIGH_PCIE_MMIO_SIZE; - virt_high_pcie_memmap.base =3D memmap[VIRT_DRAM].base + machine->r= am_size; + virt_high_pcie_memmap.base =3D s->memmap[VIRT_DRAM].base + + machine->ram_size; virt_high_pcie_memmap.base =3D ROUND_UP(virt_high_pcie_memmap.base, virt_high_pcie_memmap.siz= e); } =20 - s->memmap =3D virt_memmap; - /* register system main memory (actual RAM) */ - memory_region_add_subregion(system_memory, memmap[VIRT_DRAM].base, - machine->ram); + memory_region_add_subregion(system_memory, s->memmap[VIRT_DRAM].base, + machine->ram); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv_virt_board.mrom", - memmap[VIRT_MROM].size, &error_fatal); - memory_region_add_subregion(system_memory, memmap[VIRT_MROM].base, + s->memmap[VIRT_MROM].size, &error_fatal); + memory_region_add_subregion(system_memory, s->memmap[VIRT_MROM].base, mask_rom); =20 /* @@ -1687,12 +1687,12 @@ static void virt_machine_init(MachineState *machine) rom_set_fw(s->fw_cfg); =20 /* SiFive Test MMIO device */ - sifive_test_create(memmap[VIRT_TEST].base); + sifive_test_create(s->memmap[VIRT_TEST].base); =20 /* VirtIO MMIO devices */ for (i =3D 0; i < VIRTIO_COUNT; i++) { sysbus_create_simple("virtio-mmio", - memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size, + s->memmap[VIRT_VIRTIO].base + i * s->memmap[VIRT_VIRTIO].size, qdev_get_gpio_in(virtio_irqchip, VIRTIO_IRQ + i)); } =20 @@ -1700,11 +1700,11 @@ static void virt_machine_init(MachineState *machine) =20 create_platform_bus(s, mmio_irqchip); =20 - serial_mm_init(system_memory, memmap[VIRT_UART0].base, + serial_mm_init(system_memory, s->memmap[VIRT_UART0].base, 0, qdev_get_gpio_in(mmio_irqchip, UART0_IRQ), 399193, serial_hd(0), DEVICE_LITTLE_ENDIAN); =20 - sysbus_create_simple("goldfish_rtc", memmap[VIRT_RTC].base, + sysbus_create_simple("goldfish_rtc", s->memmap[VIRT_RTC].base, qdev_get_gpio_in(mmio_irqchip, RTC_IRQ)); =20 for (i =3D 0; i < ARRAY_SIZE(s->flash); i++) { @@ -1722,7 +1722,7 @@ static void virt_machine_init(MachineState *machine) exit(1); } } else { - create_fdt(s, memmap); + create_fdt(s, s->memmap); } =20 if (virt_is_iommu_sys_enabled(s)) { --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931555; cv=none; d=zohomail.com; s=zohoarc; b=FvEv9apzxTkeJjy+H0Lm1dkLrq8df3uI3ikNhnN3zehCQN0xEu6ar1p0oJUmgBl0cLTvyGSoINnAPaVOhybS1xIGVj9hQWpsGerrt2xYMEvroALO6rth8AbkW3k2U70MwajnkqvM+XRZH9R4K30KijvUeaMhjAJsh35I3X3lpI8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931555; 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=5pT0LWSeK0R/lWuJyn5X/nLpAQ6h50ss9kPSbzEuGZs=; b=DQyQnY3aJek5dcL90SuYwG4/IvWte7JMd9avXLARZxVW+l7p9pP4FlUV7t3yaPSFQKSiYIUz1KXQmeTvk3jenJcAuQZqAfyXObvjAubS4LoKhfvuKJonyAogf1B6x7lx0zbCG9EPlr4qlLU7FQd0dqtSAzPaW3atd7ygqLnjFYw= 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 1745931555788592.6132994389999; Tue, 29 Apr 2025 05:59:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXc-0002QL-LV; Tue, 29 Apr 2025 08:58:28 -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 1u9kXb-0002Py-Ac for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:27 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXZ-00008Q-DM for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:27 -0400 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-af908bb32fdso5164591a12.1 for ; Tue, 29 Apr 2025 05:58:24 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931503; x=1746536303; 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=5pT0LWSeK0R/lWuJyn5X/nLpAQ6h50ss9kPSbzEuGZs=; b=WZUaDYo/FDDRF7dZGDvEOsIQkYs8bjWx83V8532QBqI55CtmGcjZKa7RhTJBYLU3sb 2qdS2kgZ8kNUV51UiothUuyZmXX7tnSid65ERrV1AJVx9d5rvHoPXCzazEZSeMt9k/TO RYvCDgffftOfAY5JPDhXwjsjCmghgpa9EcggmpAak4Kv5ARHS7U7z0SI+IretrOKNaTG 8EsPbz+eMl2nUykvKs1r8G3qK9Z3rEj/jsCIksuFpbd8Y/2/lFyxPbY74EeO/Fgpf+fE SAqGRCMwKZIb73AYQiaO9dU4cib7BrY15kb5tKg5HmIJPaBGtSQewDdkptD7IgeTGFMG LybA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931503; x=1746536303; 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=5pT0LWSeK0R/lWuJyn5X/nLpAQ6h50ss9kPSbzEuGZs=; b=fZD6TmLxivqSHzkdVdY1EnQQnPcQD7QwOze1rw16Ij4xBIo2mfnJKGCdLK09ELAm1A trAOTdIGfbR7+xF+MlNrlWbsAMzniomlu0BiVo88u35v6eBK8eSrWvPkUtVb0KFhMdod hv3FqZeEx3JWmfSS2/KRI+AiMH3nx5JlvDq7Kd1JA0o8I5bpAit2GybZYbmZ26APLeQR FkrwkjyaVeIgZC4Db+OOgCadecb2KeD+TcjIpVjco3jlK9aYv716IIMxm5mdaKvkHI19 hf2Zr1zoBFQ10WAoBsokN1UP1YXV1ctbXyPvh/jdQ9l8KrAo/hIThp8y0ELZpEV9m+bn E2ag== X-Gm-Message-State: AOJu0Yw1Dj8iu278VFI0ipk5jZhVDeH5UwB0ZPg2t2dHHaYcoTc0KY+W vStaXb6T0ZoQx+hvUsF6wrfcn3Th7lkH1n4Ly8wDXrdPF28qH/ijkuy4YHJZHNZVnY9RGImQ+BH H X-Gm-Gg: ASbGncumrIrDwGRPolkHfCXZ/H0rwmZ7UKBvJZwlBj/+IuglosePgsM3KDpmGkVR5MA C5myBZOrGSONiMoyhR29h0IJ2A89Xe8RpgxW5XXpskjeINlQAuTqXCEF5Eo4UySJzRpDS2brfDm 5KQYzbcJnDH+dI3nLMpNmxHZc5+lGi4Ue/npKuvLp2H90fVuOZsLjXT1+jbLDuMGrR7+tZ5q4UA mzQw17TI5Gs/mZN495Wpw+b7Raagshq2qxZIQKsKFrOtq5WyhQSjDg5i/T4OE0sZXqZcCXbFu0o n52QHCS6ncn6BFn1Rnh27LXOOAvEryZbdwD8HyZtzrk= X-Google-Smtp-Source: AGHT+IG1jdjYA7tqsfh7cpG01C/RfYjYoI3BYBy9TeU3PYBNiwha8DeVLfKlsavhnbuRYl8xFsQ32A== X-Received: by 2002:a05:6a20:2d2b:b0:204:661d:12d2 with SMTP id adf61e73a8af0-2094fd54248mr3898401637.12.1745931503517; Tue, 29 Apr 2025 05:58:23 -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 2/9] hw/riscv/virt.c: remove trivial virt_memmap references Date: Tue, 29 Apr 2025 09:58:04 -0300 Message-ID: <20250429125811.224803-3-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::530; envelope-from=dbarboza@ventanamicro.com; helo=mail-pg1-x530.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 autolearn=unavailable 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: 1745931557312019100 Content-Type: text/plain; charset="utf-8" We should use s->memmap instead of virt_memmap to be able to use an updated memmap when we start versioning the board. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index bcf0ddd6c6..b4a6916abb 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -166,8 +166,8 @@ static void virt_flash_map1(PFlashCFI01 *flash, static void virt_flash_map(RISCVVirtState *s, MemoryRegion *sysmem) { - hwaddr flashsize =3D virt_memmap[VIRT_FLASH].size / 2; - hwaddr flashbase =3D virt_memmap[VIRT_FLASH].base; + hwaddr flashsize =3D s->memmap[VIRT_FLASH].size / 2; + hwaddr flashbase =3D s->memmap[VIRT_FLASH].base; =20 virt_flash_map1(s->flash[0], flashbase, flashsize, sysmem); @@ -998,8 +998,8 @@ static void create_fdt_rtc(RISCVVirtState *s, const Mem= MapEntry *memmap, static void create_fdt_flash(RISCVVirtState *s, const MemMapEntry *memmap) { MachineState *ms =3D MACHINE(s); - hwaddr flashsize =3D virt_memmap[VIRT_FLASH].size / 2; - hwaddr flashbase =3D virt_memmap[VIRT_FLASH].base; + hwaddr flashsize =3D s->memmap[VIRT_FLASH].size / 2; + hwaddr flashbase =3D s->memmap[VIRT_FLASH].base; g_autofree char *name =3D g_strdup_printf("/flash@%" PRIx64, flashbase= ); =20 qemu_fdt_add_subnode(ms->fdt, name); @@ -1034,7 +1034,7 @@ static void create_fdt_virtio_iommu(RISCVVirtState *s= , uint16_t bdf) g_autofree char *pci_node =3D NULL; =20 pci_node =3D g_strdup_printf("/soc/pci@%lx", - (long) virt_memmap[VIRT_PCIE_ECAM].base); + (long) s->memmap[VIRT_PCIE_ECAM].base); iommu_node =3D g_strdup_printf("%s/virtio_iommu@%x,%x", pci_node, PCI_SLOT(bdf), PCI_FUNC(bdf)); iommu_phandle =3D qemu_fdt_alloc_phandle(fdt); @@ -1103,7 +1103,7 @@ static void create_fdt_iommu(RISCVVirtState *s, uint1= 6_t bdf) g_autofree char *pci_node =3D NULL; =20 pci_node =3D g_strdup_printf("/soc/pci@%lx", - (long) virt_memmap[VIRT_PCIE_ECAM].base); + (long) s->memmap[VIRT_PCIE_ECAM].base); iommu_node =3D g_strdup_printf("%s/iommu@%x", pci_node, bdf); iommu_phandle =3D qemu_fdt_alloc_phandle(fdt); qemu_fdt_add_subnode(fdt, iommu_node); @@ -1125,24 +1125,24 @@ 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, virt_memmap, &phandle, &irq_mmio_phandle, + create_fdt_sockets(s, s->memmap, &phandle, &irq_mmio_phandle, &irq_pcie_phandle, &irq_virtio_phandle, &msi_pcie_phandle); =20 - create_fdt_virtio(s, virt_memmap, irq_virtio_phandle); + create_fdt_virtio(s, s->memmap, irq_virtio_phandle); =20 if (virt_is_iommu_sys_enabled(s)) { create_fdt_iommu_sys(s, irq_mmio_phandle, msi_pcie_phandle, &iommu_sys_phandle); } - create_fdt_pcie(s, virt_memmap, irq_pcie_phandle, msi_pcie_phandle, + create_fdt_pcie(s, s->memmap, irq_pcie_phandle, msi_pcie_phandle, iommu_sys_phandle); =20 - create_fdt_reset(s, virt_memmap, &phandle); + create_fdt_reset(s, s->memmap, &phandle); =20 - create_fdt_uart(s, virt_memmap, irq_mmio_phandle); + create_fdt_uart(s, s->memmap, irq_mmio_phandle); =20 - create_fdt_rtc(s, virt_memmap, irq_mmio_phandle); + create_fdt_rtc(s, s->memmap, irq_mmio_phandle); } =20 static void create_fdt(RISCVVirtState *s, const MemMapEntry *memmap) @@ -1365,14 +1365,13 @@ static void create_platform_bus(RISCVVirtState *s, = DeviceState *irqchip) { DeviceState *dev; SysBusDevice *sysbus; - const MemMapEntry *memmap =3D virt_memmap; int i; MemoryRegion *sysmem =3D get_system_memory(); =20 dev =3D qdev_new(TYPE_PLATFORM_BUS_DEVICE); dev->id =3D g_strdup(TYPE_PLATFORM_BUS_DEVICE); qdev_prop_set_uint32(dev, "num_irqs", VIRT_PLATFORM_BUS_NUM_IRQS); - qdev_prop_set_uint32(dev, "mmio_size", memmap[VIRT_PLATFORM_BUS].size); + qdev_prop_set_uint32(dev, "mmio_size", s->memmap[VIRT_PLATFORM_BUS].si= ze); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); s->platform_bus_dev =3D dev; =20 @@ -1383,7 +1382,7 @@ static void create_platform_bus(RISCVVirtState *s, De= viceState *irqchip) } =20 memory_region_add_subregion(sysmem, - memmap[VIRT_PLATFORM_BUS].base, + s->memmap[VIRT_PLATFORM_BUS].base, sysbus_mmio_get_region(sysbus, 0)); } =20 --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931609; cv=none; d=zohomail.com; s=zohoarc; b=M42c64fkLkXpLL1vS993/SCRXy6RiOKqYD+DjRSDT0XzgjrEkI0AQJxUpLk0+waTDApefuPo0rh7jwYTs/KyqHwdX4YuQYrxb4ptNPGykKOhed6+w5YaOc0ZUbHa+6HZajcb7RIKWpECpt8YjFn6yeqdFEGL30I0teWZb6ab8Ys= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931609; 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=PSkyU0vjXhUwUWhgnzvXaN8LDQB1wxCHD/83om66W50=; b=Vd+Yu+R07EmfCqA4FcRMJSm35A2C2bC3d2tZHQGhof05bwwLXQ4RMZXWyavzwdj7br2EGZHaJDWFvM7AfbTbQPwiBOQ0d1aOerW5oAvK1jJCTmJNzAwGbFJEnLIlm2A1DpR8miKB6kvxv6cR3ewojRgxn/FZG/ETIwWNGEf38vg= 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 1745931609046527.7607031243647; Tue, 29 Apr 2025 06:00:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXf-0002R0-S6; Tue, 29 Apr 2025 08:58:31 -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 1u9kXe-0002Ql-4v for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:30 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXc-00009F-Br for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:29 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-223f4c06e9fso51646725ad.1 for ; Tue, 29 Apr 2025 05:58:27 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931506; x=1746536306; 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=PSkyU0vjXhUwUWhgnzvXaN8LDQB1wxCHD/83om66W50=; b=YeZgB7WzXQ1Qtku2cs5HU7EKH14794/GTd72mnv0qQgMi4cmoYvO8CGgUC4WA9Z+AI 146fnhIf8NIf+D36zFAp63zG6i7hJzUJOTrQqGY5uPRX1ijLGHXriibjwdi6ecuEKt4M Wc0SAaXVGqKgXt8+629pveoooqhyUcYmyDhNaDR0NeG68lkAb5RgUL9A9Y3jK50MzrB7 ng8SYnvf0CxS3jyKghHnD4Jcy2ckc7/Mldq6szBJWiPDzoVbOKp79s37L8WaLMSi9hrv 3sqYD24F3LpySdNncRJstZmzrVMrMQP0AD7UJ1M2mVYOUBNWBrUhn/y4D89dfDrOE2u1 m4Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931506; x=1746536306; 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=PSkyU0vjXhUwUWhgnzvXaN8LDQB1wxCHD/83om66W50=; b=IZ9HmIBohr0prKz1TZVMVI8Hl2+tsJsw2RLQJ7gjp+vj8smMwsSHPg086JKRg7e8dq 26C6QlHqplwJxhGNsl3B/mFlLnGTytxGOrrmQ8EcDexLmNgOcl/mU/6jn4EccbRqXhZM PxrcCPuH2b1LyyjzuJV5MJFh4WaRv1i/5Esjmz++m99rFCjkXyNgP4CpHSqz/K7JlDWP hoIfQBjqZBmZXUJA8KKFKjbsQV4orO/v1gOR5qNg18aE60mBD7y1Z3buEl2CBrGK7hS5 UmX0m35b127FLwNBKLrEuqC7GyIyMvid9cxz6hrNMCOaYixlmlQfb3eAZJ6kx99bv9hL xiyw== X-Gm-Message-State: AOJu0YyltB8nLERgLisYueDufkQPZ4egs6cFbcLBMdSBw478R65sDq17 D3t/XLonW/IAslmRv80Ba90RD3dOdfgiYTBSLKOfYOEJ6UqR3/rQ8DP5vQwjSORv+Mk7nrqV2fQ 1 X-Gm-Gg: ASbGnctke2eEai20rqtFKLPtxiLp/uDLyqigeqdTaLF5Fcm8YQv1xUMBjMu1eL6kJMK f3QYdZ+1ku0yT6fTcq/4uE7RaH23r6j6m+ioV7s3XJaLWa+1lRC24D6teiCis2CbufxnlDEJps7 1mzWIUKIcelmGUO+GSCgyrtAVvQvG4b4RuOpUpjrTOVrtuOwQ1ieGPjkgSWJmk0ovPVK9Xj0WYh XxYqz0XISFIkdoAv5EaX+BR53QAkiU5ktE48JofmZVoPaBTL59076DCwj0Gqpb28Hvtnm1nesG1 cBalUJ/GOZqas0hDAhaIDiJF6HznKufKgDsiXhxMAJM6RMMXuPKq7Q== X-Google-Smtp-Source: AGHT+IHzid89zuI6wBWF0plcnLCzduocD6bCTt6soORnX5isKTB/Z9IEW9L0MMA4I2/l6LYt5Hag8Q== X-Received: by 2002:a17:902:c40f:b0:22d:c846:3e32 with SMTP id d9443c01a7336-22de6c72accmr40315045ad.25.1745931506521; Tue, 29 Apr 2025 05:58:26 -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 3/9] hw/riscv/virt.c: use s->memmap in virt_machine_done() Date: Tue, 29 Apr 2025 09:58:05 -0300 Message-ID: <20250429125811.224803-4-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::62d; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x62d.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 autolearn=unavailable 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: 1745931611348019100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index b4a6916abb..f324777161 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1429,9 +1429,8 @@ static void virt_machine_done(Notifier *notifier, voi= d *data) { RISCVVirtState *s =3D container_of(notifier, RISCVVirtState, machine_done); - const MemMapEntry *memmap =3D virt_memmap; MachineState *machine =3D MACHINE(s); - hwaddr start_addr =3D memmap[VIRT_DRAM].base; + hwaddr start_addr =3D s->memmap[VIRT_DRAM].base; target_ulong firmware_end_addr, kernel_start_addr; const char *firmware_name =3D riscv_default_firmware_name(&s->soc[0]); uint64_t fdt_load_addr; @@ -1475,14 +1474,14 @@ static void virt_machine_done(Notifier *notifier, v= oid *data) * let's overwrite the address we jump to after reset to * the base of the flash. */ - start_addr =3D virt_memmap[VIRT_FLASH].base; + start_addr =3D s->memmap[VIRT_FLASH].base; } else { /* * Pflash was supplied but either KVM guest or bios is not non= e. * In this case, base of the flash would contain S-mode payloa= d. */ riscv_setup_firmware_boot(machine); - kernel_entry =3D virt_memmap[VIRT_FLASH].base; + kernel_entry =3D s->memmap[VIRT_FLASH].base; } } =20 @@ -1496,15 +1495,15 @@ static void virt_machine_done(Notifier *notifier, v= oid *data) kernel_entry =3D boot_info.image_low_addr; } =20 - fdt_load_addr =3D riscv_compute_fdt_addr(memmap[VIRT_DRAM].base, - memmap[VIRT_DRAM].size, + fdt_load_addr =3D riscv_compute_fdt_addr(s->memmap[VIRT_DRAM].base, + s->memmap[VIRT_DRAM].size, machine, &boot_info); riscv_load_fdt(fdt_load_addr, machine->fdt); =20 /* load the reset vector */ riscv_setup_rom_reset_vec(machine, &s->soc[0], start_addr, - virt_memmap[VIRT_MROM].base, - virt_memmap[VIRT_MROM].size, kernel_entry, + s->memmap[VIRT_MROM].base, + s->memmap[VIRT_MROM].size, kernel_entry, fdt_load_addr); =20 /* --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931628; cv=none; d=zohomail.com; s=zohoarc; b=j6doN0OLMdLEbJdO8DQBbXfm9c7zaB7dPneCc1Aph3Xds8Wvaou+1w72P17txdy5kNS5Cv0uAZRe8uuHykeokkzVT3mB+DWkEWtVQb8hCd2QHNwtg1oVFMHxCZrJLjCsb552a6/oHjdiSl+IPAUpdOEcAtPvNNaLdOZ4I4E39SM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931628; h=Content-Type: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=Po6sO0gMdcjpyAu8oFiuPraREHUM/ABLiVfLZFw/jCY=; b=LrHxyXpCOUgzfCyIgU6vLfNFKAv0K8+CDALZpuGMlbttCPwQ7m4CEkfcgAcCOjNbMkUpDwqholyfRyUs6/Ekw1xwfNx2va0fNmIGR8PeH7xBRZAIwrEjQy5bo3DH7U9a5sFxp/iGwh9Ed+Na/ZJoYOcCpKpjijY55zSKIjuKZjc= 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 1745931628558246.87877968816815; Tue, 29 Apr 2025 06:00:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXj-0002Sf-QH; Tue, 29 Apr 2025 08:58:35 -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 1u9kXi-0002Rj-0A for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:34 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXg-0000A0-Db for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:33 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-736a7e126c7so5384191b3a.3 for ; Tue, 29 Apr 2025 05:58:32 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931510; x=1746536310; 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=Po6sO0gMdcjpyAu8oFiuPraREHUM/ABLiVfLZFw/jCY=; b=ksYVRDK4OAhixMVmAY9zKhbEAr/7YHRd04fXBhGQVOj+khNwpD2wFOnfd6GMIeKLmr 6Bay/lFmZoComI7uBREUmiP9Ig4LmLjNhyAXcG7B80VliGBnBHQdrl9jG1/QfBtenVNR 1RnJpF8DqV5qdLWPscVi1iO+x43PgZOViqa2af+bF/gYh0AMZIALZEcod7X3PhEUPcbS m7tCDGIcxwpheUHCpyPUINmf7CKvyGxUXMJcwwmfCn4yLlSgYSR3JS/uVj8oT42DZRmG hPcEa2y7Az1xotmwvwG6c0X1k6MXrv7WXovYiOt3gUqyUCHa46JcCxU2XhidyZdRYce3 lrYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931510; x=1746536310; 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=Po6sO0gMdcjpyAu8oFiuPraREHUM/ABLiVfLZFw/jCY=; b=T4X1xQW5WJMfDZBHEL3d5jAXNwMavMFzstZrqAazLmrM3Le5oEWBXsDgPl0aE6q0SS QKwyM91o4mzLLGnDvEjhl9gMOOjYdRrVot4nsB/iSmfXXMAZ5RKm7+x4EweCKpbTehhK gJIA3dBOs92+LsexCGgrtjSsmfumGVMZk9kt9zpmmdsjNfoXUHmaCWohY+Xuxvsg98hz faZjCrhyxRqqL/VX3HzXqaAOJ8gWDBASmWY9JiHbxdqKm3dFxxESbSFjQMrjymR2+SYK 1kHdILyAnXPoBa+82J8vUU0O0JdIgi8TiDcISfDZxqHJKicWOxdTjh53XdGDWw3vjRTj Jk0A== X-Gm-Message-State: AOJu0YztGHC+DEBctNDEG6a1AnHk/nN01tAw3mGPmC+rbZ4ZY6mrX0QA I/M9TChyQF2i2RthdaUZ0jUODEgw2Rhx3a5C2bC/PNHe28JJk7eJZaVXfmGPjeqDKXkViIVzTzY U X-Gm-Gg: ASbGncs5/31EUfxN5Ic0m+gmeErh4pa5ZzGQI7yAubU1mdce2eRXoc5XYSre5blgbvS CoT1xosnMbcDDuY25CwaQCX2v2unIFIPGtQD9RmGkDvOl2Xhtq5/YMBzg+RRZfpXBocTYtc6SnM MgklZzvjkf30vI16DQk0qoRv7IPXhyFXA6x8COxfbT00RX8m2qXmlNXcplGxaltOEB+SOnCw/a2 TQVJqk6ogpH985McBoyZhCnRU4aNq51uvytPVTcC7PJjv2peRuAObtAVQFfZbQKdiCgtNj6GYVj sKFhmB/nV1RcIO9HP7CIwq8G5WkEdWcvu/MoDDYMknA= X-Google-Smtp-Source: AGHT+IEySsDH+ilLLr16GfMw06miBjyLp5gAEg7hyplSVqPyKfi5TzvbhsnJg84x9EmTkUBisAuPbQ== X-Received: by 2002:a05:6a00:2403:b0:736:34a2:8a20 with SMTP id d2e1a72fcca58-73ff7396a96mr18565364b3a.21.1745931509756; Tue, 29 Apr 2025 05:58:29 -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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 4/9] hw/riscv/virt.c: add 'base' arg in create_fw_cfg() Date: Tue, 29 Apr 2025 09:58:06 -0300 Message-ID: <20250429125811.224803-5-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-Type: text/plain; charset="utf-8" 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::42e; envelope-from=dbarboza@ventanamicro.com; helo=mail-pf1-x42e.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 autolearn=unavailable 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: 1745931630962019000 The function can receive the value via s->memmap[VIRT_FW_CFG].base from the caller, avoiding the use of virt_memmap. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index f324777161..37f8abdd1c 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1261,9 +1261,8 @@ static inline DeviceState *gpex_pcie_init(MemoryRegio= n *sys_mem, return dev; } =20 -static FWCfgState *create_fw_cfg(const MachineState *ms) +static FWCfgState *create_fw_cfg(const MachineState *ms, hwaddr base) { - hwaddr base =3D virt_memmap[VIRT_FW_CFG].base; FWCfgState *fw_cfg; =20 fw_cfg =3D fw_cfg_init_mem_wide(base + 8, base, 8, base + 16, @@ -1681,7 +1680,7 @@ static void virt_machine_init(MachineState *machine) * Init fw_cfg. Must be done before riscv_load_fdt, otherwise the * device tree cannot be altered and we get FDT_ERR_NOSPACE. */ - s->fw_cfg =3D create_fw_cfg(machine); + s->fw_cfg =3D create_fw_cfg(machine, s->memmap[VIRT_FW_CFG].base); rom_set_fw(s->fw_cfg); =20 /* SiFive Test MMIO device */ --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931555; cv=none; d=zohomail.com; s=zohoarc; b=DvYDic7fpY+Y5UOeLCE1D5wDEzaJWWkx8ssceE9MibHeT21H+VqGeST0pCY032/y6nGY7Mv7XGqvQiDLYXRMk+y3eYM9CQXBfYbv3qzc1igx8mec7lTUa8ENTSESZIWbNS2v1Lx/6hOmRU0ggZV2yzBf0zaYxQOuRoc0JKunOpc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931555; 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=BrXJgTd/+PWDNXelt13M1UFWn8uze3FGZwtv/Kgf7wI=; b=DBodB+J4eLgsCIP8sqCebvgfwVvwzevgxx3gmVMr//vNjXR85UmctytSZy51miXIl0AQW0P2qfUZu/Qd2M1KQxMceVLhTHfeQ58GOTwkX3CUNysNsNvsyUxxbG4Iy5XPXSjiEAuFmaq9LoDDN2U91Iogu5EhDB3/UdjD/dUIJoM= 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 1745931555504109.41373398392693; Tue, 29 Apr 2025 05:59:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXo-0002TN-Ve; Tue, 29 Apr 2025 08:58:42 -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 1u9kXk-0002Sm-9D for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:36 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXi-0000AN-I2 for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:36 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-22c33e4fdb8so62791805ad.2 for ; Tue, 29 Apr 2025 05:58:34 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931513; x=1746536313; 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=BrXJgTd/+PWDNXelt13M1UFWn8uze3FGZwtv/Kgf7wI=; b=NIkm96u1ESCJfhhGBytYBbc6ommA/PYFHffHV7dn71PeECy4VUI1uer4U4/Ue4CPG9 Hcd+l8iTwZlJGw8L8P1OfDdRT0/TcbOIKAkDJgyqSR1jkUBJGYfrDGlhO3q8zoxWCVqE ba2MGfgGsxdchrDyGIC59SQRD4ORsMBfEA5w28ngVxP5HmpcpyToguhZIKGjno7Kpaux 3OsQ5wEjbp9SiNYNmN4P2LabCCcdMunNJnScx2ZpwdagEMqk4sQzZ8r4xvWt5DdkaUXr tQ22HaACXp8nXJSLqBYrHf6U+io29cNKIP1CbFqzqI5Q05JgAwGtfZI8H1zzxZt3DBkS VUYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931513; x=1746536313; 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=BrXJgTd/+PWDNXelt13M1UFWn8uze3FGZwtv/Kgf7wI=; b=nYJLyRL0uwySDAsj2WoxG6omf37hweYmLa3XexeqowWWt4unQkxVb9sOPT3R+6Gnvd rJOoihC6YpH1nOUZrlGboQ41veN5B2sqanwXGD91H64rIulBCg0Qw/771WxfVPvsCGNW lskinILLQN69wP+GNCGkILoDz18ZR4/QTeK9ayX68m/edscY3xX1iRmEQF2x0hsOj2Mn SboboRfDKgda/mx+retZOlzcoCmN9hENlPf6hHaaWSHPvtm7s6hev+G9Z4i0aJA8o3vn RR72zUUzjqN/z3VgDbr8dQagKM5cnjcds2VC9BqY2iKz/peR1CJOabMNCOLRS+Ta4+N2 Kfmg== X-Gm-Message-State: AOJu0Ywbsw8SSqWiFV8c0hA7+CObg1/8C/doW6LNmc3XAcJBX73iTywg nFkjWHjNxi5tk0GduQwqntK1qlMR2e35Zmz0rV/k8JGdZQl79z1moIHdgct8hqIadTgf6WEMHsk S X-Gm-Gg: ASbGnculpigL48lr7LmsfuzjrPDpjulPNlnqVvPsbr7s67oQrXiKndgbNqJxWcqJm5q S0FrBQa7p2B2RzZrOypLcmBm4VxHCYZfSWn3760pCAOp5VwTp3v2T492AxeBJ9s86c0gRaQByLn aFoJ0+WhJSmgemKkPyTArGHDnEdgBvyI6YsWQeietNDr8cNZ8lw42tzRaYxbSLVfu4HA4WhIa9c ubi9/3tvMJQPoe/lyW0eY249sJv5KDkWFWSrE2a5v9K0fwEJBkhGmpZegcu3zzd4gD0E7wISz9s z/GT8vZij9AjwwZTfvuaM9eEJKbna7g3ztglZA6w/9Y= X-Google-Smtp-Source: AGHT+IG2o9oZQi4faXCTJ7bj7cvNjPnx0+6x+PgMtrYfbmTSNPpuPKdkkwhwkKGItKzLYti/4xZ2Iw== X-Received: by 2002:a17:902:cf10:b0:22d:e57a:27b9 with SMTP id d9443c01a7336-22de5fd252bmr58404925ad.22.1745931512766; Tue, 29 Apr 2025 05:58:32 -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 5/9] hw/riscv/virt.c: use s->memmap in create_fdt() path Date: Tue, 29 Apr 2025 09:58:07 -0300 Message-ID: <20250429125811.224803-6-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::62c; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x62c.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 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: 1745931557692019000 Content-Type: text/plain; charset="utf-8" create_fdt(), create_fdt_flash() and create_fdt_fw_cfg() can access the memmap via their RISCVVirtState pointers. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 37f8abdd1c..5f31c95955 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -995,7 +995,7 @@ static void create_fdt_rtc(RISCVVirtState *s, const Mem= MapEntry *memmap, } } =20 -static void create_fdt_flash(RISCVVirtState *s, const MemMapEntry *memmap) +static void create_fdt_flash(RISCVVirtState *s) { MachineState *ms =3D MACHINE(s); hwaddr flashsize =3D s->memmap[VIRT_FLASH].size / 2; @@ -1010,11 +1010,11 @@ static void create_fdt_flash(RISCVVirtState *s, con= st MemMapEntry *memmap) qemu_fdt_setprop_cell(ms->fdt, name, "bank-width", 4); } =20 -static void create_fdt_fw_cfg(RISCVVirtState *s, const MemMapEntry *memmap) +static void create_fdt_fw_cfg(RISCVVirtState *s) { MachineState *ms =3D MACHINE(s); - hwaddr base =3D memmap[VIRT_FW_CFG].base; - hwaddr size =3D memmap[VIRT_FW_CFG].size; + hwaddr base =3D s->memmap[VIRT_FW_CFG].base; + hwaddr size =3D s->memmap[VIRT_FW_CFG].size; g_autofree char *nodename =3D g_strdup_printf("/fw-cfg@%" PRIx64, base= ); =20 qemu_fdt_add_subnode(ms->fdt, nodename); @@ -1145,7 +1145,7 @@ static void finalize_fdt(RISCVVirtState *s) create_fdt_rtc(s, s->memmap, irq_mmio_phandle); } =20 -static void create_fdt(RISCVVirtState *s, const MemMapEntry *memmap) +static void create_fdt(RISCVVirtState *s) { MachineState *ms =3D MACHINE(s); uint8_t rng_seed[32]; @@ -1172,7 +1172,8 @@ static void create_fdt(RISCVVirtState *s, const MemMa= pEntry *memmap) * The "/soc/pci@..." node is needed for PCIE hotplugs * that might happen before finalize_fdt(). */ - name =3D g_strdup_printf("/soc/pci@%lx", (long) memmap[VIRT_PCIE_ECAM]= .base); + name =3D g_strdup_printf("/soc/pci@%lx", + (long) s->memmap[VIRT_PCIE_ECAM].base); qemu_fdt_add_subnode(ms->fdt, name); =20 qemu_fdt_add_subnode(ms->fdt, "/chosen"); @@ -1184,8 +1185,8 @@ static void create_fdt(RISCVVirtState *s, const MemMa= pEntry *memmap) =20 qemu_fdt_add_subnode(ms->fdt, "/aliases"); =20 - create_fdt_flash(s, memmap); - create_fdt_fw_cfg(s, memmap); + create_fdt_flash(s); + create_fdt_fw_cfg(s); create_fdt_pmu(s); } =20 @@ -1719,7 +1720,7 @@ static void virt_machine_init(MachineState *machine) exit(1); } } else { - create_fdt(s, s->memmap); + create_fdt(s); } =20 if (virt_is_iommu_sys_enabled(s)) { --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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 From nobody Sat Nov 15 22:26:28 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=1745931590; cv=none; d=zohomail.com; s=zohoarc; b=eY0wsOYjroiCPUmQaL6inhAGReNxUlD+GkTUnW1D8pcrHJ09S4fi3qFpCXeUQ1T3GPqrmDgtOqC0z+ECmKNQp9KdRIF8qLdO5akmsMCMGUn3+gRTBHArjAQry3UqHb1e7eUu60dSSKYTA8aExwvjfBK6YDcHswJDunVyIQlrz1Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931590; 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=Il7Z60D0Ge6+rnPqyqzpsxFlQSgSW8tUZpdULtIHcG8=; b=PqYtSVMiFitnXYA12p8/GoErLdVXmetud/STDHBp+nboBF3MuFIYcum9PAVwtV0oxaA5iAnBn497rhqZCm+Tp5oK2r+ISwCzhi2Y1dS0U8Emb/Ohq6DgkXVJSy5FqARYT4tYntlUW0eRXfAd5RMXEc+IzOkvQex7g4ynSJgzzjU= 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 17459315907741017.0592923216433; Tue, 29 Apr 2025 05:59:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXs-0002Ut-RB; Tue, 29 Apr 2025 08:58:44 -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-0002UF-U8 for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:42 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXo-0000Bz-Nz for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:42 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-22d95f0dda4so86458095ad.2 for ; Tue, 29 Apr 2025 05:58:40 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931519; x=1746536319; 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=Il7Z60D0Ge6+rnPqyqzpsxFlQSgSW8tUZpdULtIHcG8=; b=NUEF/377v3tWAQHnEeCJi2RLNysB6GbgbwclYbzvGZnn+a18iMDd2639Lyl1RtjOtw +khTdKXMN8XPrTelZcDm9sfhS+rMm2CKg0ahdDYxU6J5v80lHg9zDH2ylWtAlQ3mM4fJ xD+0D6rFeZk7ObJuFG8vyZv7Q9rlDyKaZ8WlNm4dyZUI8xSHO5bpo2vc61aBF2iwrzS4 fqGxqUi6Y4ECDIExbqtTBWmx4Tej9J+5qxeJ5+S/8jELM5t7e0E4vBt/UtcOaMewASmn sXKkKAYVQwkwi7oqYAMSb5Pwod6ZTQS17W7Wp99VPP7wPYa7/Lqfn8OGk8+mhoRLGGMQ joTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931519; x=1746536319; 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=Il7Z60D0Ge6+rnPqyqzpsxFlQSgSW8tUZpdULtIHcG8=; b=LKd22dBWWqhG28jCfWUyJsBOPUWePARFP4l4sRYAMFIL0E/bss9rx1s62GTeWH9whv jR+mF53jQQ7Z3xuE6TAyfdyYcbIj5K3cBSX1oXfB8JW5S5lMuTFEDF1t5WV6l9lYhnWH Sen0q2YyPUwdlULrSyedzIvA4ICmmK5YVZPOkMxkUEboDenSdEG97XkqJOnYmmQlTuk/ DBfcGQfZ2hZXhonmWjdbM1M5ELRKO24MourhDlzPZ/wVGgoiyWExc82JB9jeX87NICZV ihvI1TPxf9GX7SF4B8l17tjAw/v7bA4zq1gqfb0I1t7oRVYD+rSgTlAS2aLYXbjoeBtS bcaA== X-Gm-Message-State: AOJu0YwTaqR67VTnx59va5DsUu4pRG0lH6OATatGVoy1K24v1so9dm23 lVnfmZYb7qqyS8EHAf6OkNxSwBDMRC0i705ogxm580Vl2jT6IQemtRX3gwkKstf7uR28ncby9nA i X-Gm-Gg: ASbGncuAyg29bZzj7MUNSH4I1ALl5u8LgaGQ7iOECRrT1ALjUYJ0gL3tuvrYQzLxgyQ BGmmgED7u+7/ZJaTokgGAA1KKwqBw7xlZAAJsRYbBzL2PlR9EwPZ1DmUjlaCthi6A4N6lGenV5Q slBxo3j9rXuMx17MPRJmbIWjsEH5kIk9FZpf9ZlbTyJ4Fld8MRi1f/Gvdu4TvTm40vQIsADG8Mx Ds878VtAAXAfBnNkG3+7Mxg9NadlgnIRrmnDHgYXi9MUzV1jo5K7ZLgCGaC+x2IEc6swLuayvbS JUm8w1u9piGVrbZz6zLdGgwpbJyxq+sZGhFMN51ff6o= X-Google-Smtp-Source: AGHT+IGs86F8XAgwqfg/s1bj4iOkKDnkHYn4Z2WvNFCk8UsnkzYYxSUQj7z2o+HS1ACUBepLbPDJdA== X-Received: by 2002:a17:903:40d1:b0:224:1935:d9a3 with SMTP id d9443c01a7336-22de6f99676mr44746955ad.21.1745931518775; Tue, 29 Apr 2025 05:58:38 -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 7/9] hw/riscv/virt.c: use s->memmap in create_fdt_virtio() Date: Tue, 29 Apr 2025 09:58:09 -0300 Message-ID: <20250429125811.224803-8-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::632; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x632.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 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: 1745931593218019100 Content-Type: text/plain; charset="utf-8" create_fdt_virtio() can use s->memmap instead of having an extra argument for it. While we're at it rewrite it a little bit to avoid the clunky line in 'name' and code repetition: - declare 'virtio_base' out of the loop since it never changes; - declare a 'size' variable. Use it to calculate the address of the virtio device in an 'addr' variable; - use 'addr' in the 'name' g_strdup_printf(); - use 'addr' and 'size' when creating the 'reg' property. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 2383a557bd..46ac42058e 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -841,21 +841,24 @@ static void create_fdt_sockets(RISCVVirtState *s, riscv_socket_fdt_write_distance_matrix(ms); } =20 -static void create_fdt_virtio(RISCVVirtState *s, const MemMapEntry *memmap, - uint32_t irq_virtio_phandle) +static void create_fdt_virtio(RISCVVirtState *s, uint32_t irq_virtio_phand= le) { int i; MachineState *ms =3D MACHINE(s); + hwaddr virtio_base =3D s->memmap[VIRT_VIRTIO].base; =20 for (i =3D 0; i < VIRTIO_COUNT; i++) { - g_autofree char *name =3D g_strdup_printf("/soc/virtio_mmio@%lx", - (long)(memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size= )); + g_autofree char *name =3D NULL; + uint64_t size =3D s->memmap[VIRT_VIRTIO].size; + hwaddr addr =3D virtio_base + i * size; + + name =3D g_strdup_printf("/soc/virtio_mmio@%"HWADDR_PRIx, addr); =20 qemu_fdt_add_subnode(ms->fdt, name); qemu_fdt_setprop_string(ms->fdt, name, "compatible", "virtio,mmio"= ); qemu_fdt_setprop_cells(ms->fdt, name, "reg", - 0x0, memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size, - 0x0, memmap[VIRT_VIRTIO].size); + 0x0, addr, + 0x0, size); qemu_fdt_setprop_cell(ms->fdt, name, "interrupt-parent", irq_virtio_phandle); if (s->aia_type =3D=3D VIRT_AIA_TYPE_NONE) { @@ -1134,7 +1137,7 @@ static void finalize_fdt(RISCVVirtState *s) &irq_pcie_phandle, &irq_virtio_phandle, &msi_pcie_phandle); =20 - create_fdt_virtio(s, s->memmap, irq_virtio_phandle); + create_fdt_virtio(s, irq_virtio_phandle); =20 if (virt_is_iommu_sys_enabled(s)) { create_fdt_iommu_sys(s, irq_mmio_phandle, msi_pcie_phandle, --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931615; cv=none; d=zohomail.com; s=zohoarc; b=bNHR/OdZtcCMlzoEyZrlKmwkdCGPHQawMsfsFZd0rr5bN9wvEPhiXXSA+R+evavxmxqO44b6qYJ+cDPGgt0uqIAGlKLRTz673h192EFq+qQRqUktWebKQh2xDOo1HyOTbphinj5Nfe1jXk89AWe7B5RZtr6hm4OtxtsGeSom+kw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931615; 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=C1PjrOhEVk/DiT++u/R6pUMVH4weoO5EwHzpd6Ihic0=; b=Ji/K+2JSoLXp2/BqT6t2X09L3hafihnWbgEdcC1+pQ1wy9fG3V8otwiOKoEMTuVHb6pIjxBKYT5TMUqg+JHVfMaYDwSLgacxcxqMSRkIfQguDRxfcb3TTYqZe6J9hUii3CE98yTlAgROaBYsXm89YCe4zQn85pVBW0TRG2nV+yw= 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 174593161518853.510487313261024; Tue, 29 Apr 2025 06:00:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kXy-0002XB-5H; Tue, 29 Apr 2025 08:58:50 -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 1u9kXw-0002Wf-Hr for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:48 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXs-0000D2-GE for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:47 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-224341bbc1dso63237665ad.3 for ; Tue, 29 Apr 2025 05:58:43 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931522; x=1746536322; 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=C1PjrOhEVk/DiT++u/R6pUMVH4weoO5EwHzpd6Ihic0=; b=ZfIv8s9AAn4yi/laK3zaBkOECBcGxb/vus9U7DHFTLZLOTikSPaPz0P6iMVDnmlpJv nPuhgEQ9oR3hqkHK9NQNQ5Hbj+0zb1xBrvYjve6VeliGzM0LW/qFHHH0GAORPj6DpGaT pvnklgdoVWHaT21MWjfJ1J/9Mc/4BY1aMg1YLQ7dbet+A08Dk80U+K05LEDLdzzUFcg/ dUrOJg9MODl1G9Dtx/O5apiUI90RbqHZxWFE1ZDbNL1/1kaitB5bJ4dI2D7SRVG0yCPs xlNy1ewbiOzbfs/XDJKsNdN8f2DOQvFhTUmBh+kaaLIPWL9yDt9H3ZvtQmD8id01ZBqy JWjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931522; x=1746536322; 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=C1PjrOhEVk/DiT++u/R6pUMVH4weoO5EwHzpd6Ihic0=; b=fPQRGaIGC6sT0Do3P8cc7dJSfw2lsOslATZpuYiHMjNy34xZgjlpnNMdL/EYblU2cC n/qQGu28/GfolDZ2SnKNBMPHHIZ3bfnkQmQyKLy25CdsnGQ6n14OLLpK0BTzesq+63d2 tkwVdyIUdFclcgNrJGf3MAR37PyW9YJG550xzTbTa/0Dm6bRq400s6LNPkwfC43S/IMj Q4ob67xA9FX7bAIiEaFOd1UCD4f1gOVDi4MWyPdpf1mao3zmhS8Q5B+U879pwsX0nMMh ToaEaZoVMUkIcvMh22Zfnw8yIS3REz5VxdaUAxcp6igB3hlBJDg8azDBZgaNqAQHW3Pm 9YEQ== X-Gm-Message-State: AOJu0YzdcDS3F/QwvKimOZ2dzJ2R2XCOY738BTIKwF+NNRfvrDkyV7an AWMUPrqNU8aLWL0XRoL+VVemcVfrlm3C6zQ8rkwndO8xRNXkgb+xMioCghxvSfeVCDVqc1UcM/T q X-Gm-Gg: ASbGncvx2uGkBUqkdDXVrDW8XRwE4m1kYnQkLdsbQ7mf0JA6O2r546qnU3S00uHAVxw 7RGw/tkOLei3InYX13CoVocInS/VdC04zrr6Duk008jzTQDz+D3i1odUmF8Z0a9FIWWxVxyeUe9 39YFoA0xDZM6588IpMWQVUYkkKdMJwbqIEM0M4B3aqDv1yc1SvTa/ATlVcGIaC87IaDZoW+XZS4 b/E/NL+gdBS0MgNkSNMMcojDPV27udZpyBWkIDFapkwjv0rSbAXLKshlMbsyPZi5nuZJRMLiu5k UI232KVmiUfglZ2Ix4KT5d/NlJXhnM3MWYec10aae3/b2v/0iJONxQ== X-Google-Smtp-Source: AGHT+IFdjC4uHJFjcaxhLJd4m9VA+hfM2qCY/A1QaR+tpLN9IYVHqWVoV1W5UJy60/n4NRB5Hd5/xQ== X-Received: by 2002:a17:903:18d:b0:216:393b:23d4 with SMTP id d9443c01a7336-22de7007252mr40710085ad.11.1745931521735; Tue, 29 Apr 2025 05:58:41 -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 8/9] hw/riscv/virt.c: use s->memmap in finalize_fdt() functions Date: Tue, 29 Apr 2025 09:58:10 -0300 Message-ID: <20250429125811.224803-9-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::629; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x629.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 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: 1745931617186019100 Content-Type: text/plain; charset="utf-8" Change create_fdt_pcie(), create_fdt_reset(), create_fdt_uart() and create_fdt_rtc() to use s->memmap in their logic. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- hw/riscv/virt.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 46ac42058e..f38b64d836 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -871,7 +871,7 @@ static void create_fdt_virtio(RISCVVirtState *s, uint32= _t irq_virtio_phandle) } } =20 -static void create_fdt_pcie(RISCVVirtState *s, const MemMapEntry *memmap, +static void create_fdt_pcie(RISCVVirtState *s, uint32_t irq_pcie_phandle, uint32_t msi_pcie_phandle, uint32_t iommu_sys_phandle) @@ -880,7 +880,7 @@ static void create_fdt_pcie(RISCVVirtState *s, const Me= mMapEntry *memmap, MachineState *ms =3D MACHINE(s); =20 name =3D g_strdup_printf("/soc/pci@%lx", - (long) memmap[VIRT_PCIE_ECAM].base); + (long) 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", @@ -891,19 +891,19 @@ static void create_fdt_pcie(RISCVVirtState *s, const = MemMapEntry *memmap, qemu_fdt_setprop_string(ms->fdt, name, "device_type", "pci"); qemu_fdt_setprop_cell(ms->fdt, name, "linux,pci-domain", 0); qemu_fdt_setprop_cells(ms->fdt, name, "bus-range", 0, - memmap[VIRT_PCIE_ECAM].size / PCIE_MMCFG_SIZE_MIN - 1); + s->memmap[VIRT_PCIE_ECAM].size / PCIE_MMCFG_SIZE_MIN - 1); qemu_fdt_setprop(ms->fdt, name, "dma-coherent", NULL, 0); if (s->aia_type =3D=3D VIRT_AIA_TYPE_APLIC_IMSIC) { qemu_fdt_setprop_cell(ms->fdt, name, "msi-parent", msi_pcie_phandl= e); } qemu_fdt_setprop_cells(ms->fdt, name, "reg", 0, - memmap[VIRT_PCIE_ECAM].base, 0, memmap[VIRT_PCIE_ECAM].size); + s->memmap[VIRT_PCIE_ECAM].base, 0, s->memmap[VIRT_PCIE_ECAM].size); qemu_fdt_setprop_sized_cells(ms->fdt, name, "ranges", 1, FDT_PCI_RANGE_IOPORT, 2, 0, - 2, memmap[VIRT_PCIE_PIO].base, 2, memmap[VIRT_PCIE_PIO].size, + 2, s->memmap[VIRT_PCIE_PIO].base, 2, s->memmap[VIRT_PCIE_PIO].size, 1, FDT_PCI_RANGE_MMIO, - 2, memmap[VIRT_PCIE_MMIO].base, - 2, memmap[VIRT_PCIE_MMIO].base, 2, memmap[VIRT_PCIE_MMIO].size, + 2, s->memmap[VIRT_PCIE_MMIO].base, + 2, s->memmap[VIRT_PCIE_MMIO].base, 2, s->memmap[VIRT_PCIE_MMIO].si= ze, 1, FDT_PCI_RANGE_MMIO_64BIT, 2, virt_high_pcie_memmap.base, 2, virt_high_pcie_memmap.base, 2, virt_high_pcie_memmap.size); @@ -917,8 +917,7 @@ static void create_fdt_pcie(RISCVVirtState *s, const Me= mMapEntry *memmap, create_pcie_irq_map(s, ms->fdt, name, irq_pcie_phandle); } =20 -static void create_fdt_reset(RISCVVirtState *s, const MemMapEntry *memmap, - uint32_t *phandle) +static void create_fdt_reset(RISCVVirtState *s, uint32_t *phandle) { char *name; uint32_t test_phandle; @@ -926,7 +925,7 @@ static void create_fdt_reset(RISCVVirtState *s, const M= emMapEntry *memmap, =20 test_phandle =3D (*phandle)++; name =3D g_strdup_printf("/soc/test@%lx", - (long)memmap[VIRT_TEST].base); + (long)s->memmap[VIRT_TEST].base); qemu_fdt_add_subnode(ms->fdt, name); { static const char * const compat[3] =3D { @@ -936,7 +935,7 @@ static void create_fdt_reset(RISCVVirtState *s, const M= emMapEntry *memmap, (char **)&compat, ARRAY_SIZE(compat)= ); } qemu_fdt_setprop_cells(ms->fdt, name, "reg", - 0x0, memmap[VIRT_TEST].base, 0x0, memmap[VIRT_TEST].size); + 0x0, s->memmap[VIRT_TEST].base, 0x0, s->memmap[VIRT_TEST].size); qemu_fdt_setprop_cell(ms->fdt, name, "phandle", test_phandle); test_phandle =3D qemu_fdt_get_phandle(ms->fdt, name); g_free(name); @@ -958,18 +957,19 @@ static void create_fdt_reset(RISCVVirtState *s, const= MemMapEntry *memmap, g_free(name); } =20 -static void create_fdt_uart(RISCVVirtState *s, const MemMapEntry *memmap, +static void create_fdt_uart(RISCVVirtState *s, uint32_t irq_mmio_phandle) { g_autofree char *name =3D NULL; MachineState *ms =3D MACHINE(s); =20 - name =3D g_strdup_printf("/soc/serial@%lx", (long)memmap[VIRT_UART0].b= ase); + name =3D g_strdup_printf("/soc/serial@%lx", + (long)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", - 0x0, memmap[VIRT_UART0].base, - 0x0, memmap[VIRT_UART0].size); + 0x0, s->memmap[VIRT_UART0].base, + 0x0, s->memmap[VIRT_UART0].size); qemu_fdt_setprop_cell(ms->fdt, name, "clock-frequency", 3686400); qemu_fdt_setprop_cell(ms->fdt, name, "interrupt-parent", irq_mmio_phan= dle); if (s->aia_type =3D=3D VIRT_AIA_TYPE_NONE) { @@ -982,18 +982,18 @@ static void create_fdt_uart(RISCVVirtState *s, const = MemMapEntry *memmap, qemu_fdt_setprop_string(ms->fdt, "/aliases", "serial0", name); } =20 -static void create_fdt_rtc(RISCVVirtState *s, const MemMapEntry *memmap, +static void create_fdt_rtc(RISCVVirtState *s, uint32_t irq_mmio_phandle) { g_autofree char *name =3D NULL; MachineState *ms =3D MACHINE(s); =20 - name =3D g_strdup_printf("/soc/rtc@%lx", (long)memmap[VIRT_RTC].base); + name =3D g_strdup_printf("/soc/rtc@%lx", (long)s->memmap[VIRT_RTC].bas= e); qemu_fdt_add_subnode(ms->fdt, name); qemu_fdt_setprop_string(ms->fdt, name, "compatible", "google,goldfish-rtc"); qemu_fdt_setprop_cells(ms->fdt, name, "reg", - 0x0, memmap[VIRT_RTC].base, 0x0, memmap[VIRT_RTC].size); + 0x0, s->memmap[VIRT_RTC].base, 0x0, s->memmap[VIRT_RTC].size); qemu_fdt_setprop_cell(ms->fdt, name, "interrupt-parent", irq_mmio_phandle); if (s->aia_type =3D=3D VIRT_AIA_TYPE_NONE) { @@ -1143,14 +1143,14 @@ static void finalize_fdt(RISCVVirtState *s) create_fdt_iommu_sys(s, irq_mmio_phandle, msi_pcie_phandle, &iommu_sys_phandle); } - create_fdt_pcie(s, s->memmap, irq_pcie_phandle, msi_pcie_phandle, + create_fdt_pcie(s, irq_pcie_phandle, msi_pcie_phandle, iommu_sys_phandle); =20 - create_fdt_reset(s, s->memmap, &phandle); + create_fdt_reset(s, &phandle); =20 - create_fdt_uart(s, s->memmap, irq_mmio_phandle); + create_fdt_uart(s, irq_mmio_phandle); =20 - create_fdt_rtc(s, s->memmap, irq_mmio_phandle); + create_fdt_rtc(s, irq_mmio_phandle); } =20 static void create_fdt(RISCVVirtState *s) --=20 2.49.0 From nobody Sat Nov 15 22:26:28 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=1745931625; cv=none; d=zohomail.com; s=zohoarc; b=hHOOWPeEROH1cXhuz1ayCD0h14zQSqqdeGGDjVeVQ3FLn8UAGD7otMif7Aukw1l8+Udwl2V16fK/dUN+oeJfkOFCUSbdX3+S1VJOetFU+nSxEHzUMENFZHG8Um1rfQc+Sm9fTlYNSDfBkqCBsZH6/vuhYobOqoUatFFd4ytRe5k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745931625; h=Content-Type: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=4k+EkRWesQ4zw2RansWLgi7SNhdPMFPjDG5O4INDl94=; b=L8ePMob4ibSqchLe9NispSG0u1dEUmIz7oq17dmABfyDbJNgda0v4Kjw7OFDnBxH6FyMGMUWvX76elCXu2CpHqSdsvnq+h8Faazvu0HWmuHobMwkUN+5M3yTzBsgQk+KMmKJxAeEz6YHRoO4XhmnpzdviPgfwn+jDigIKgQYkxY= 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 1745931625961987.782274102025; Tue, 29 Apr 2025 06:00:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9kY3-0002Ya-DW; Tue, 29 Apr 2025 08:58:55 -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 1u9kXy-0002XD-F9 for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:51 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9kXv-0000Dq-Of for qemu-devel@nongnu.org; Tue, 29 Apr 2025 08:58:49 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-736a72220edso5914957b3a.3 for ; Tue, 29 Apr 2025 05:58:46 -0700 (PDT) Received: from grind.. ([152.234.125.33]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f7fb7e54sm8889440a12.30.2025.04.29.05.58.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 05:58:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1745931525; x=1746536325; 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=4k+EkRWesQ4zw2RansWLgi7SNhdPMFPjDG5O4INDl94=; b=hYoKPdlia9PpVfR1oPSxgqzEVKoLD1Yf95w2HqHaW4afhz2NNJgGg+kHBJJRfbDOpK Khpwxt89nppUTc/EpZfuVw0EpvYueAVmOlrn9b9gJgJjPJGFfK3ssZOuaUU+V6ltC32R sBs5uRYXheDdd/ONSTm/DTQm/1QISoSRqJFxjlzJjJTH6tUpDHeadEYODkq88Wgb2DbX IXNU8PrAip94xJjVSIkI6Zw+vACKuyB9RfHwOUo19NkYR5j0ftZ2IMsBbCdXJGh/TQiD 3Df10AOGspYB/HXgDbhLHLZ64I79R/exUvk+BXrL4yJ+xiHTgfRiwkZ718T9ljXmJbH/ bG1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745931525; x=1746536325; 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=4k+EkRWesQ4zw2RansWLgi7SNhdPMFPjDG5O4INDl94=; b=adlJQuxrwmTkuH369Aqcdbrv6FgAwLhRCpZ8UGsE7vgE+0Qs40qtFrMfDFB0PoTlJs Tt9LTNw0nVxdbBN1Oe9YDZAAj1sUdwz+rxhjdKY8Zq0TqiwU4ghNxSNzyG3Znhn/35yn NXiphqa7FY8Ma2zP23NDUsBumymjZ4sNZSo1v4V7lv9U9in0w+4yWhWJGT2xBwYtdNvB llCyH5mejl58JUxTnWJU9SOw6Dei0JPy50YQMgF8sFv37+ZJ0BmhL6YFRnazpkjRClyy P/KRTuebSBm3S0f0d0D/imO4yKAFEieLJHVGc4POmR0cChxzXf4dXa2Ja/yMrUYjXE07 0gIQ== X-Gm-Message-State: AOJu0YwWSHATRByUQ9sYmtpj0eXG6z3IPbrujgMasfkNe6wRNEYMWj7N 0nPG6vW/7kh0YoAGeUPIdNCkScJiGwDgMlq3Ycn3yec4u7N4nxv7gXBMQvYLwvnM/pjfjH2hbNG w X-Gm-Gg: ASbGncuRmgIqBLRGhgE9njl3rNXIb3eqFEjrDfyVXdWemJ4VGB9yBhYKUiw8eAd0A89 zQe2/t/f0cldTLdu6zTvz1KQKL36hj8Ph5j+EF7D1KBW1VGZ/qJ3Lr9qd4FXVPTM7xqf5b4vROV EVvoLMIzN2qKR36LpjSdjoLkvBTww5vwH4iYbDYYJOfr5urIP91V46oara6jnzpI4DngFPL+nIT LeLKVLdVT8797Ez+omQbZvF6KFWnoyAvx+lzS6pynZM6GeGp5Vh94EWz0Y133U4YrCIRYbjzhT0 pfLiOpUckwlxPdM9s5SVUXYEhrtACpWMTcbhDhCLg3k= X-Google-Smtp-Source: AGHT+IENDgcIHl3JGRs1Zrnt/0/JkMc77WKokJSN6ATmUhcurxFqRvSi4w5WCZ1f3sffjokNWbVE5Q== X-Received: by 2002:a05:6a21:4002:b0:1ee:e24d:8fe3 with SMTP id adf61e73a8af0-209591a63b8mr4282658637.10.1745931524918; Tue, 29 Apr 2025 05:58:44 -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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 9/9] hw/riscv/virt.c: remove 'long' casts in fmt strings Date: Tue, 29 Apr 2025 09:58:11 -0300 Message-ID: <20250429125811.224803-10-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-Type: text/plain; charset="utf-8" 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::431; envelope-from=dbarboza@ventanamicro.com; helo=mail-pf1-x431.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 autolearn=unavailable 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: 1745931627594019100 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- 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 =3D NULL; - uint64_t addr, size; + hwaddr addr; + uint64_t size; MachineState *ms =3D MACHINE(s); =20 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); + mem_name =3D 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 =3D NULL; MachineState *ms =3D MACHINE(s); =20 - name =3D g_strdup_printf("/soc/pci@%lx", - (long) s->memmap[VIRT_PCIE_ECAM].base); + name =3D 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 =3D MACHINE(s); =20 test_phandle =3D (*phandle)++; - name =3D g_strdup_printf("/soc/test@%lx", - (long)s->memmap[VIRT_TEST].base); + name =3D 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] =3D { @@ -963,8 +964,8 @@ static void create_fdt_uart(RISCVVirtState *s, g_autofree char *name =3D NULL; MachineState *ms =3D MACHINE(s); =20 - name =3D g_strdup_printf("/soc/serial@%lx", - (long)s->memmap[VIRT_UART0].base); + name =3D 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 =3D NULL; MachineState *ms =3D MACHINE(s); =20 - name =3D g_strdup_printf("/soc/rtc@%lx", (long)s->memmap[VIRT_RTC].bas= e); + name =3D 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 =3D NULL; g_autofree char *pci_node =3D NULL; =20 - pci_node =3D g_strdup_printf("/soc/pci@%lx", - (long) s->memmap[VIRT_PCIE_ECAM].base); + pci_node =3D g_strdup_printf("/soc/pci@%"HWADDR_PRIx, + s->memmap[VIRT_PCIE_ECAM].base); iommu_node =3D g_strdup_printf("%s/virtio_iommu@%x,%x", pci_node, PCI_SLOT(bdf), PCI_FUNC(bdf)); iommu_phandle =3D qemu_fdt_alloc_phandle(fdt); @@ -1110,8 +1112,8 @@ static void create_fdt_iommu(RISCVVirtState *s, uint1= 6_t bdf) g_autofree char *iommu_node =3D NULL; g_autofree char *pci_node =3D NULL; =20 - pci_node =3D g_strdup_printf("/soc/pci@%lx", - (long) s->memmap[VIRT_PCIE_ECAM].base); + pci_node =3D g_strdup_printf("/soc/pci@%"HWADDR_PRIx, + s->memmap[VIRT_PCIE_ECAM].base); iommu_node =3D g_strdup_printf("%s/iommu@%x", pci_node, bdf); iommu_phandle =3D 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 =3D g_strdup_printf("/soc/pci@%lx", - (long) s->memmap[VIRT_PCIE_ECAM].base); + name =3D g_strdup_printf("/soc/pci@%"HWADDR_PRIx, + s->memmap[VIRT_PCIE_ECAM].base); qemu_fdt_add_subnode(ms->fdt, name); =20 qemu_fdt_add_subnode(ms->fdt, "/chosen"); --=20 2.49.0