From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637837; cv=none; d=zohomail.com; s=zohoarc; b=JaoaySHJ+kTaYqy8O6agUbbD8lu66RlVMdYO7296mOqjWuBP+WywvxqmMR0gXAENHFz9jn9892/Vfk/RsojxI8/EXiYPKhau6B9hPgqPK1Nvz4BzpdFRNJjvFE8vFq8hegUyMrGHGZcWC5h0R+jgoBYXhbECs3rJX5JqLHBFcf8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637837; 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=rXN/vpWvITLur9ZDJo/U77KGUGvSZDrxaC3ix1ult+U=; b=QSnXXSbxEb/oCHQLNZGgO8tsQxcmaM70fl1J/SpVkhSjy79CXpgNijSDqNW/LSIaCpy+HabLE5THco61VaqIcf/CoWjyl65XPmUvvncCBe0hYSOTl34KdjoJmOBZCHeDDD70uSn1OUeTfD4K6iJEy+QOcXFJypygi1wB8YhMx9g= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637837029455.4957910525658; Tue, 28 Oct 2025 00:50:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeSh-0000K2-Oo; Tue, 28 Oct 2025 03:49:47 -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 1vDeSe-0000JJ-S4 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:49:44 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeSV-0006zK-AJ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:49:44 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3ee15b5435bso4146038f8f.0 for ; Tue, 28 Oct 2025 00:49:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952de971sm18606985f8f.39.2025.10.28.00.49.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637765; x=1762242565; 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=rXN/vpWvITLur9ZDJo/U77KGUGvSZDrxaC3ix1ult+U=; b=Z56nuKKeneXN1iCQtgz/+YaZPPeHnq1Ph4Hy9L+vmunoXaOEZcIthJsQhpEvKr0Ldw 7oDFeKrpbm2gGzoXPD/eY9h1nToXw3/juooOSX0Uej4OpRSkk1KEX+Dc3m2JOEdlC5Fh 9ZeHABskAFmPhmy1Kb6NHu1uxml9fKxKG5/UBh66JULTwN5nvhvxc8zhxSQqiEfJY7eq 5k7Ik4ygVVul8qzt9hGQEJAeXBIRbyY1c+BubJ42wkbo5G6cEq0RATEWJ5vXSySxh9ys qNdWUwSX3gyuFRkeJqW0dOoz3H0zPknIGU4lhLOONgiJNHpE9KsEjQKe8vol8bSs+cXv qyXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637765; x=1762242565; 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=rXN/vpWvITLur9ZDJo/U77KGUGvSZDrxaC3ix1ult+U=; b=IRPmduRHK+7IIfzQ5NPoqGZFUjTl5F0okKi2ncZHPmCg6LOoxqGHZgV+7WS3uTtIu7 TaIpGNaVb/n17d5rNhMKLl5WCBms41SrtQfJFw0qoLwndaLYwQ3jiQkhjPlzu8cpxMnH B0MfgI9b+d2U0lzMbdzAKL7kQct0EUUQdEpjlbWJH9k6DcgpG769Tw1M7srlmTloYlvx i9vOAAzMo0GEE5NDty9q7XaEJvls7Cy/CMcL4ViBjJfcXjTCbz8mkwn45ckGY2MdV1jI xbd3vEMA/xQMtMgL5gS9oIcYe7VC4LzYhq1zGWCOsJyaD1I6pvXsYAeMXGVcun4PneOH 9ZIA== X-Gm-Message-State: AOJu0YzDMQ+b4zu+ozKsMrE1SCTKkzw00CAGI7/rljl8504ZYmqSgar9 OE8cw9PWSXCEjnnxxXuvvXXT/qupuCyh4/Gjj5jisdJwzQciJpOsKJSSDBDBLvKOQ+0LHuzS4NU H/j96fQE= X-Gm-Gg: ASbGncsNXNjZru0reHH5fU/H9Vv0ui3QMEKab6ymKVCZHtYuT4VQBQqbsTlYp1jmApV slGr4tijY1hqtp2xcFHxxaKZZvowSt7EzcxxHsVZCqiwmtWgx6R6isT7ofb6oPoFaUlXGyAlqL8 VrKwVIY+dsPu6x5apNRRGbXw681pibwLQSSh/OOrlmIh9FdkvV5+rguB/BMA1NB0kfcDFSVbYUj iE3HO5Nx1uDDpoJecY0ffXj0QKoiJ6cvrDYW74Dwus7k98hL20bCU7zeAPV6CRpfDULC4xcHHrh llItB0oCi8ngHAd4VVHhvmt2tJ4uf8Nn2LGHKCCfIp/zzxmYTv3BA0PzN0bwCJzcS4wuVszYfuC Lpa4/Yck7uolfe4uuX1UK+fp7ShbhG86A8CXNjl4hrJJdX0cT6v+ouLKSLUSwQIv423XpAfzWZT bXfcygSeZBBOjg+sLLTyEiNoc5g8G9UdxNcsTfdQltEWKVc4ZdlFOXjDpT8K/MF5c2Yg== X-Google-Smtp-Source: AGHT+IFZgGmgYjRVxipdgM0ms0LUPHcNV4cTY2Isw9cLlVof15Of32cuYr7kpZEKTXuSYxXeDWU+CQ== X-Received: by 2002:a05:6000:26ce:b0:427:5e6:c0e5 with SMTP id ffacd0b85a97d-429a7e75aaamr1897535f8f.39.1761637765219; Tue, 28 Oct 2025 00:49:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-stable@nongnu.org, Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 01/23] target/hppa: Set FPCR exception flag bits for non-trapped exceptions Date: Tue, 28 Oct 2025 08:48:37 +0100 Message-ID: <20251028074901.22062-2-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.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 @linaro.org) X-ZM-MESSAGEID: 1761637838600154100 From: Peter Maydell In commit ebd394948de4e8 ("target/hppa: Fix FPE exceptions") when we added the code for setting up the registers correctly on trapping FP exceptions, we accidentally broke the handling of the flag bits for non-trapping exceptions. In update_fr0_op() we incorrectly zero out the flag bits and the C bit, so any fp operation would clear previously set flag bits. We also stopped setting the flag bits when the fp operation raises an exception and the trap is not enabled. Adjust the code so that we set the Flag bits for every exception that happened and where the trap is not enabled. (This is the correct behaviour for the case where an instruction triggers two exceptions, one of which traps and one of which does not; that can only happen for inexact + underflow or inexact + overflow.) Cc: qemu-stable@nongnu.org Fixes: ebd394948de4e8 ("target/hppa: Fix FPE exceptions") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3158 Signed-off-by: Peter Maydell Reviewed-by: Helge Deller Tested-by: Helge Deller Message-ID: <20251017085350.895681-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/hppa/fpu_helper.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/target/hppa/fpu_helper.c b/target/hppa/fpu_helper.c index 45353202fae..2d272730f60 100644 --- a/target/hppa/fpu_helper.c +++ b/target/hppa/fpu_helper.c @@ -94,7 +94,8 @@ static void update_fr0_op(CPUHPPAState *env, uintptr_t ra) { uint32_t soft_exp =3D get_float_exception_flags(&env->fp_status); uint32_t hard_exp =3D 0; - uint32_t shadow =3D env->fr0_shadow & 0x3ffffff; + uint32_t shadow =3D env->fr0_shadow; + uint32_t to_flag =3D 0; uint32_t fr1 =3D 0; =20 if (likely(soft_exp =3D=3D 0)) { @@ -122,6 +123,10 @@ static void update_fr0_op(CPUHPPAState *env, uintptr_t= ra) fr1 |=3D hard_exp << (R_FPSR_FLAGS_SHIFT - R_FPSR_ENABLES_SHIF= T); } } + /* Set the Flag bits for every exception that was not enabled */ + to_flag =3D hard_exp & ~shadow; + shadow |=3D to_flag << (R_FPSR_FLAGS_SHIFT - R_FPSR_ENABLES_SHIFT); + env->fr0_shadow =3D shadow; env->fr[0] =3D (uint64_t)shadow << 32 | fr1; =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637821; cv=none; d=zohomail.com; s=zohoarc; b=jvD0h5nk+nWB8taSX8uYVw7UOMKHcpqwKOfyJdLgmSoUqoJYbsmMBntN2xKgYUkABY1OgyVyyVffGAg+ZPv2X1vIfLsMd3pePRvIXneb9zQ+XmsrPCyMAgEPVyFHiilTb7WUrXNE9W7ZHmT0bVIviS+WjPAQBh4hB/OujReZox4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637821; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TMp5SEiL/DqxiivezHK1UHyuC2K2nMhieBEi0DJq2ls=; b=LUcAYIpkQh+mzlQGliStXDX513SLYqO1S5HTBnmjOyZ2WZ5ytvZQpQfbz2WU1ZUxk1bE3pILiEgOsVva7ZGx/1dQJzbvRTr8SuY5BW3dhRKav3z10eZBtS8V5EXdAl4ML0Ckw05x5aR6Xv+BZFFOgbLrbJophLexnKF5hsAFc+U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1761637821457458.06720890968654; Tue, 28 Oct 2025 00:50:21 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1151937.1482482 (Exim 4.92) (envelope-from ) id 1vDeSo-0005Gx-R9; Tue, 28 Oct 2025 07:49:54 +0000 Received: by outflank-mailman (output) from mailman id 1151937.1482482; Tue, 28 Oct 2025 07:49:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vDeSo-0005Gq-OT; Tue, 28 Oct 2025 07:49:54 +0000 Received: by outflank-mailman (input) for mailman id 1151937; Tue, 28 Oct 2025 07:49:53 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vDeSn-0005Gg-4p for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 07:49:53 +0000 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [2a00:1450:4864:20::329]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id ae53d750-b3d2-11f0-980a-7dc792cee155; Tue, 28 Oct 2025 08:49:50 +0100 (CET) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-474975af41dso38319735e9.2 for ; Tue, 28 Oct 2025 00:49:49 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952b7b43sm19118976f8f.6.2025.10.28.00.49.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:49:48 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ae53d750-b3d2-11f0-980a-7dc792cee155 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637789; x=1762242589; darn=lists.xenproject.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=TMp5SEiL/DqxiivezHK1UHyuC2K2nMhieBEi0DJq2ls=; b=m9r52h1mEvJ6KvPVflGb/fyAX+m+ZeLaNINQzEJTkGJjruZbj2ycYv24q34SYMtbeG kSy8mSdOTm+pYxt/qHeoy8hu3zG76AfnlJtZxwJXdWCaaCIQ4SWs2If4zngwtQPmgN2H BLLELnUGl3LU+8LpyqKi6QR4tOA3nSCLsc+sNQ01jkdqYlCt35ieol1MKB/KLBvDA/Bp NUFNgPQ4GYSkCZ0dRUlpx44Zyze+7VLeXUBBB93MFNa4cizC73wqE9HFO+R1tsk+4RnT jEyL3plljrHjKiBTa2b+2CZefDvgb90bW0pW+4aGp4oCtEB4ixjjw7AzqFEaPpYjaKsA 8xaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637789; x=1762242589; 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=TMp5SEiL/DqxiivezHK1UHyuC2K2nMhieBEi0DJq2ls=; b=mfGDHEs0P8+SzvEZXDqaF/P5nqktTUB9XMfZzw5exaNK0+oTdu1F1kWXUXKdk1O1qk PkMzwAdaeP/Yd30XAXYsz6xw3xtP7bWyqt/VhL1SVkbBcfmlVzD0ZyTIjJuGMjkJlQjK wPJM/nR2SbzSCbZH31B6nLZLCtvlx+nwvZiVxhaATYUnlN2imxr0siJypkFlbwsrlIXB Yyr0crpIF2CTC20R9Y7Q4P/jl2lPa5o6s5N6eZJ5OETGPoC2QWrH+ccxU9qnQudR4dRg 3njybmbTWq05JjXk93l3L81zPXpExQjX3r+lqIjgzsb/JuwxepOqCHPenlNcjbo+IDTo uWLg== X-Forwarded-Encrypted: i=1; AJvYcCXFvIQhnNrt7yY2/JtXiaE52Wn6mtm9hkRIw4y1cwwTuvkVBd6RFMV7XOW/k9WI9WutUFpOmhEWJeo=@lists.xenproject.org X-Gm-Message-State: AOJu0YyvQIEIdmmJqSMWWjWAKJQ4k1+kGHxWRBMaZ7w5P14dPii7ElB8 sZAltuDrB76u89dAD0lDYTywc6uECPqSPwTA21B0S+A2HnHnjeqG0GDPv+hOU2sv5jU= X-Gm-Gg: ASbGncsX0MA3VPyI7GwA1xZSM72DduogLGXN6Gh4uzvhfbf5SHOW6fYGf76ofScLITg M80lor5OOos4XAlE97BSdh2It1cUGubYrPJ396IHBkUC7BnbsCUs0b6qxIymP8rf5ohYlvZKTkG Z7zqQgNv1cTIMayIKDEJ+JVKC9GSBUVQpuLQCWvCPSC4QP4XpxDsuiOXwvbyuRmK9hoxMokwMY9 QmnxhmisChRzwWMiJ6NyDC7AeHUdkT9BSMONf0vXZWwKppui+EsE6Kkarw/UaG8MrE+dVDbcg9e TRgCOTdfZRLqIN4TM60ZPOS8zSn6WXZMzFtDYkfYRVU883oTUtKz69LQemZrvWmy2IrALyTrvwN Aiu+2P7I19RziUKUW13JLsvtZhmsNng1Z4sc3QiNfFRw49qXCLRsLijVLrTEpofHyI0QqFwHHVq gcU5PDktzndseOwSJ5bWPZeNw66py+Ffh+cvrlQT2Qp8/qR6dLXwUvNxw= X-Google-Smtp-Source: AGHT+IGtSEp433uC9qYma6kcQhFndenHMDLlZHsVpPwY2AHuor/xOMzhjJXK+9YHS53maFAvpXsY2A== X-Received: by 2002:a05:6000:144d:b0:3f9:bc33:2fab with SMTP id ffacd0b85a97d-429a7e86d73mr2097883f8f.60.1761637789106; Tue, 28 Oct 2025 00:49:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Nguyen Dinh Phi , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Gonglei (Arei)" , Zhenwei Pi , Alberto Garcia , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , Stefano Stabellini , Anthony PERARD , Paul Durrant , "Edgar E. Iglesias" , Peter Maydell , Bernhard Beschow , Jason Wang , Huacai Chen , Jiaxun Yang , Nicholas Piggin , Harsh Prateek Bora , Richard Henderson , Helge Deller , Tyrone Ting , Hao Wu , Aditya Gupta , Glenn Miles , Mark Cave-Ayland , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Fam Zheng , Alex Williamson , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Laurent Vivier , Amit Shah , "Michael S. Tsirkin" , Pavel Pisa , Francisco Iglesias , Vikram Garhwal , xen-devel@lists.xenproject.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org Subject: [PULL 02/23] qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE Date: Tue, 28 Oct 2025 08:48:38 +0100 Message-ID: <20251028074901.22062-3-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1761637823465158500 From: Nguyen Dinh Phi When OBJECT_DECLARE_SIMPLE_TYPE is used, it automatically provides the typedef, so we don=E2=80=99t have to define it ourselves. Signed-off-by: Nguyen Dinh Phi Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20251023063429.1400398-1-phind.uet@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/fsl_etsec/etsec.h | 1 - include/hw/char/serial.h | 1 - include/hw/input/lasips2.h | 6 ++---- include/hw/misc/auxbus.h | 7 +++---- include/hw/misc/bcm2835_mphi.h | 7 ++----- include/hw/misc/npcm7xx_pwm.h | 7 ++----- include/hw/pci-host/pnv_phb3.h | 6 ++---- include/hw/pci-host/pnv_phb4.h | 8 ++++---- include/hw/ppc/mac_dbdma.h | 7 +++---- include/hw/riscv/iommu.h | 3 --- include/hw/scsi/scsi.h | 7 +++---- include/hw/vfio/vfio-container-legacy.h | 5 ++--- include/hw/virtio/virtio-serial.h | 5 ++--- include/net/can_emu.h | 7 +++---- backends/cryptodev-lkcf.c | 1 - hw/char/ipoctal232.c | 9 ++++----- hw/char/xen_console.c | 1 - hw/dma/pl330.c | 6 ++---- hw/net/xen_nic.c | 2 -- hw/pci-host/bonito.c | 7 +++---- hw/ppc/pef.c | 1 - hw/usb/dev-mtp.c | 7 +++---- hw/usb/dev-uas.c | 7 +++---- 23 files changed, 43 insertions(+), 75 deletions(-) diff --git a/hw/net/fsl_etsec/etsec.h b/hw/net/fsl_etsec/etsec.h index 3860864a3f5..bd2de3f99c7 100644 --- a/hw/net/fsl_etsec/etsec.h +++ b/hw/net/fsl_etsec/etsec.h @@ -130,7 +130,6 @@ struct eTSEC { /* Whether we should flush the rx queue when buffer becomes available.= */ bool need_flush; }; -typedef struct eTSEC eTSEC; =20 #define TYPE_ETSEC_COMMON "eTSEC" OBJECT_DECLARE_SIMPLE_TYPE(eTSEC, ETSEC_COMMON) diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h index 4bf90a46f3c..2cfeaed7fb9 100644 --- a/include/hw/char/serial.h +++ b/include/hw/char/serial.h @@ -77,7 +77,6 @@ struct SerialState { QEMUTimer *modem_status_poll; MemoryRegion io; }; -typedef struct SerialState SerialState; =20 extern const VMStateDescription vmstate_serial; extern const MemoryRegionOps serial_io_ops; diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h index 01911c50f9b..fd74883073b 100644 --- a/include/hw/input/lasips2.h +++ b/include/hw/input/lasips2.h @@ -32,7 +32,8 @@ struct LASIPS2PortDeviceClass { DeviceRealize parent_realize; }; =20 -typedef struct LASIPS2State LASIPS2State; +#define TYPE_LASIPS2 "lasips2" +OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2) =20 struct LASIPS2Port { DeviceState parent_obj; @@ -74,7 +75,4 @@ struct LASIPS2State { qemu_irq irq; }; =20 -#define TYPE_LASIPS2 "lasips2" -OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2) - #endif /* HW_INPUT_LASIPS2_H */ diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h index ccd18ce2095..0051e039471 100644 --- a/include/hw/misc/auxbus.h +++ b/include/hw/misc/auxbus.h @@ -29,13 +29,15 @@ #include "hw/qdev-core.h" #include "qom/object.h" =20 -typedef struct AUXSlave AUXSlave; typedef enum AUXCommand AUXCommand; typedef enum AUXReply AUXReply; =20 #define TYPE_AUXTOI2C "aux-to-i2c-bridge" OBJECT_DECLARE_SIMPLE_TYPE(AUXTOI2CState, AUXTOI2C) =20 +#define TYPE_AUX_SLAVE "aux-slave" +OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE) + enum AUXCommand { WRITE_I2C =3D 0, READ_I2C =3D 1, @@ -73,9 +75,6 @@ struct AUXBus { AddressSpace aux_addr_space; }; =20 -#define TYPE_AUX_SLAVE "aux-slave" -OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE) - struct AUXSlave { /* < private > */ DeviceState parent_obj; diff --git a/include/hw/misc/bcm2835_mphi.h b/include/hw/misc/bcm2835_mphi.h index 751363f496c..3f1997e5f24 100644 --- a/include/hw/misc/bcm2835_mphi.h +++ b/include/hw/misc/bcm2835_mphi.h @@ -23,7 +23,8 @@ =20 #define MPHI_MMIO_SIZE 0x1000 =20 -typedef struct BCM2835MphiState BCM2835MphiState; +#define TYPE_BCM2835_MPHI "bcm2835-mphi" +OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI) =20 struct BCM2835MphiState { SysBusDevice parent_obj; @@ -37,8 +38,4 @@ struct BCM2835MphiState { uint32_t swirq; }; =20 -#define TYPE_BCM2835_MPHI "bcm2835-mphi" - -OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI) - #endif diff --git a/include/hw/misc/npcm7xx_pwm.h b/include/hw/misc/npcm7xx_pwm.h index bf953440acc..df927266209 100644 --- a/include/hw/misc/npcm7xx_pwm.h +++ b/include/hw/misc/npcm7xx_pwm.h @@ -35,8 +35,8 @@ * value of 100,000 the duty cycle for that PWM is 10%. */ #define NPCM7XX_PWM_MAX_DUTY 1000000 - -typedef struct NPCM7xxPWMState NPCM7xxPWMState; +#define TYPE_NPCM7XX_PWM "npcm7xx-pwm" +OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM) =20 /** * struct NPCM7xxPWM - The state of a single PWM channel. @@ -100,7 +100,4 @@ struct NPCM7xxPWMState { uint32_t piir; }; =20 -#define TYPE_NPCM7XX_PWM "npcm7xx-pwm" -OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM) - #endif /* NPCM7XX_PWM_H */ diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index 24ca3dddaa9..682f62a638f 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -14,7 +14,8 @@ #include "qom/object.h" #include "hw/pci-host/pnv_phb.h" =20 -typedef struct PnvPHB3 PnvPHB3; +#define TYPE_PNV_PHB3 "pnv-phb3" +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3) =20 /* * PHB3 XICS Source for MSIs @@ -115,9 +116,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3RootBus, PNV_PHB3_ROO= T_BUS) /* * PHB3 PCIe Host Bridge for PowerNV machines (POWER8) */ -#define TYPE_PNV_PHB3 "pnv-phb3" -OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3) - #define PNV_PHB3_NUM_M64 16 #define PNV_PHB3_NUM_REGS (0x1000 >> 3) #define PNV_PHB3_NUM_LSI 8 diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index 8a80c0c667a..de996e718b0 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -17,8 +17,11 @@ #include "hw/ppc/xive.h" #include "qom/object.h" =20 + +#define TYPE_PNV_PHB4 "pnv-phb4" +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4) + typedef struct PnvPhb4PecStack PnvPhb4PecStack; -typedef struct PnvPHB4 PnvPHB4; =20 /* * We have one such address space wrapper per possible device under @@ -59,9 +62,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4RootBus, PNV_PHB4_ROOT_= BUS) /* * PHB4 PCIe Host Bridge for PowerNV machines (POWER9) */ -#define TYPE_PNV_PHB4 "pnv-phb4" -OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4) - #define PNV_PHB4_MAX_LSIs 8 #define PNV_PHB4_MAX_INTs 4096 #define PNV_PHB4_MAX_MIST (PNV_PHB4_MAX_INTs >> 2) diff --git a/include/hw/ppc/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h index 896ee4a2b17..76764882453 100644 --- a/include/hw/ppc/mac_dbdma.h +++ b/include/hw/ppc/mac_dbdma.h @@ -164,7 +164,9 @@ struct DBDMAState { DBDMA_channel channels[DBDMA_CHANNELS]; QEMUBH *bh; }; -typedef struct DBDMAState DBDMAState; + +#define TYPE_MAC_DBDMA "mac-dbdma" +OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA) =20 /* Externally callable functions */ =20 @@ -173,7 +175,4 @@ void DBDMA_register_channel(void *dbdma, int nchan, qem= u_irq irq, void *opaque); void DBDMA_kick(DBDMAState *dbdma); =20 -#define TYPE_MAC_DBDMA "mac-dbdma" -OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA) - #endif diff --git a/include/hw/riscv/iommu.h b/include/hw/riscv/iommu.h index 8a8acfc3f07..25f1a8b1596 100644 --- a/include/hw/riscv/iommu.h +++ b/include/hw/riscv/iommu.h @@ -24,18 +24,15 @@ =20 #define TYPE_RISCV_IOMMU "riscv-iommu" OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUState, RISCV_IOMMU) -typedef struct RISCVIOMMUState RISCVIOMMUState; =20 #define TYPE_RISCV_IOMMU_MEMORY_REGION "riscv-iommu-mr" typedef struct RISCVIOMMUSpace RISCVIOMMUSpace; =20 #define TYPE_RISCV_IOMMU_PCI "riscv-iommu-pci" OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStatePci, RISCV_IOMMU_PCI) -typedef struct RISCVIOMMUStatePci RISCVIOMMUStatePci; =20 #define TYPE_RISCV_IOMMU_SYS "riscv-iommu-device" OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStateSys, RISCV_IOMMU_SYS) -typedef struct RISCVIOMMUStateSys RISCVIOMMUStateSys; =20 #define FDT_IRQ_TYPE_EDGE_LOW 1 =20 diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index 90ee192b4d4..044bd048b49 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -10,7 +10,9 @@ =20 #define MAX_SCSI_DEVS 255 =20 -typedef struct SCSIBus SCSIBus; +#define TYPE_SCSI_BUS "SCSI" +OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS) + typedef struct SCSIBusInfo SCSIBusInfo; typedef struct SCSIDevice SCSIDevice; typedef struct SCSIRequest SCSIRequest; @@ -151,9 +153,6 @@ struct SCSIBusInfo { void (*drained_end)(SCSIBus *bus); }; =20 -#define TYPE_SCSI_BUS "SCSI" -OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS) - struct SCSIBus { BusState qbus; int busnr; diff --git a/include/hw/vfio/vfio-container-legacy.h b/include/hw/vfio/vfio= -container-legacy.h index ffd594e80d6..fe822125268 100644 --- a/include/hw/vfio/vfio-container-legacy.h +++ b/include/hw/vfio/vfio-container-legacy.h @@ -12,7 +12,8 @@ #include "hw/vfio/vfio-container.h" #include "hw/vfio/vfio-cpr.h" =20 -typedef struct VFIOLegacyContainer VFIOLegacyContainer; +OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY); + typedef struct VFIODevice VFIODevice; =20 typedef struct VFIOGroup { @@ -35,6 +36,4 @@ struct VFIOLegacyContainer { VFIOContainerCPR cpr; }; =20 -OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY); - #endif /* HW_VFIO_CONTAINER_LEGACY_H */ diff --git a/include/hw/virtio/virtio-serial.h b/include/hw/virtio/virtio-s= erial.h index d87c62eab7a..60641860bf8 100644 --- a/include/hw/virtio/virtio-serial.h +++ b/include/hw/virtio/virtio-serial.h @@ -29,7 +29,8 @@ struct virtio_serial_conf { OBJECT_DECLARE_TYPE(VirtIOSerialPort, VirtIOSerialPortClass, VIRTIO_SERIAL_PORT) =20 -typedef struct VirtIOSerial VirtIOSerial; +#define TYPE_VIRTIO_SERIAL "virtio-serial-device" +OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL) =20 #define TYPE_VIRTIO_SERIAL_BUS "virtio-serial-bus" OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerialBus, VIRTIO_SERIAL_BUS) @@ -221,7 +222,5 @@ size_t virtio_serial_guest_ready(VirtIOSerialPort *port= ); */ void virtio_serial_throttle_port(VirtIOSerialPort *port, bool throttle); =20 -#define TYPE_VIRTIO_SERIAL "virtio-serial-device" -OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL) =20 #endif diff --git a/include/net/can_emu.h b/include/net/can_emu.h index 6f9b206bb5f..777281bad96 100644 --- a/include/net/can_emu.h +++ b/include/net/can_emu.h @@ -85,7 +85,9 @@ typedef struct qemu_can_filter { #define QEMU_CAN_INV_FILTER 0x20000000U =20 typedef struct CanBusClientState CanBusClientState; -typedef struct CanBusState CanBusState; + +#define TYPE_CAN_BUS "can-bus" +OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS) =20 typedef struct CanBusClientInfo { bool (*can_receive)(CanBusClientState *); @@ -105,9 +107,6 @@ struct CanBusClientState { bool fd_mode; }; =20 -#define TYPE_CAN_BUS "can-bus" -OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS) - int can_bus_filter_match(struct qemu_can_filter *filter, qemu_canid_t can_= id); =20 int can_bus_insert_client(CanBusState *bus, CanBusClientState *client); diff --git a/backends/cryptodev-lkcf.c b/backends/cryptodev-lkcf.c index bb7a81d5d06..97a8a8812ce 100644 --- a/backends/cryptodev-lkcf.c +++ b/backends/cryptodev-lkcf.c @@ -68,7 +68,6 @@ typedef struct CryptoDevBackendLKCFSession { QCryptoAkCipherOptions akcipher_opts; } CryptoDevBackendLKCFSession; =20 -typedef struct CryptoDevBackendLKCF CryptoDevBackendLKCF; typedef struct CryptoDevLKCFTask CryptoDevLKCFTask; struct CryptoDevLKCFTask { CryptoDevBackendLKCFSession *sess; diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c index 752c6c818ab..0a7ffcd0b7e 100644 --- a/hw/char/ipoctal232.c +++ b/hw/char/ipoctal232.c @@ -93,7 +93,10 @@ #define ISR_RXRDY(CH) (((CH) & 1) ? BIT(5) : BIT(1)) #define ISR_BREAK(CH) (((CH) & 1) ? BIT(6) : BIT(2)) =20 -typedef struct IPOctalState IPOctalState; +#define TYPE_IPOCTAL "ipoctal232" + +OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL) + typedef struct SCC2698Channel SCC2698Channel; typedef struct SCC2698Block SCC2698Block; =20 @@ -122,10 +125,6 @@ struct IPOctalState { uint8_t irq_vector; }; =20 -#define TYPE_IPOCTAL "ipoctal232" - -OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL) - static const VMStateDescription vmstate_scc2698_channel =3D { .name =3D "scc2698_channel", .version_id =3D 1, diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c index 9c34a554bfa..0e73c2aee40 100644 --- a/hw/char/xen_console.c +++ b/hw/char/xen_console.c @@ -56,7 +56,6 @@ struct XenConsole { CharBackend chr; int backlog; }; -typedef struct XenConsole XenConsole; =20 #define TYPE_XEN_CONSOLE_DEVICE "xen-console" OBJECT_DECLARE_SIMPLE_TYPE(XenConsole, XEN_CONSOLE_DEVICE) diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c index a570bb08ec4..f9c91f924bb 100644 --- a/hw/dma/pl330.c +++ b/hw/dma/pl330.c @@ -111,7 +111,8 @@ typedef enum { pl330_chan_fault =3D 15, } PL330ChanState; =20 -typedef struct PL330State PL330State; +#define TYPE_PL330 "pl330" +OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330) =20 typedef struct PL330Chan { uint32_t src; @@ -274,9 +275,6 @@ struct PL330State { AddressSpace *mem_as; }; =20 -#define TYPE_PL330 "pl330" -OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330) - static const VMStateDescription vmstate_pl330 =3D { .name =3D "pl330", .version_id =3D 2, diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c index 34c6a1d0b08..e7bdc732de0 100644 --- a/hw/net/xen_nic.c +++ b/hw/net/xen_nic.c @@ -62,8 +62,6 @@ struct XenNetDev { NICState *nic; }; =20 -typedef struct XenNetDev XenNetDev; - #define TYPE_XEN_NET_DEVICE "xen-net-device" OBJECT_DECLARE_SIMPLE_TYPE(XenNetDev, XEN_NET_DEVICE) =20 diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 7d6251a78d7..cbda068ef7d 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -230,7 +230,9 @@ struct PCIBonitoState { MemoryRegion bonito_localio; =20 }; -typedef struct PCIBonitoState PCIBonitoState; + +#define TYPE_PCI_BONITO "Bonito" +OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO) =20 struct BonitoState { PCIHostState parent_obj; @@ -239,9 +241,6 @@ struct BonitoState { MemoryRegion pci_mem; }; =20 -#define TYPE_PCI_BONITO "Bonito" -OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO) - static void bonito_writel(void *opaque, hwaddr addr, uint64_t val, unsigned size) { diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c index 254f5707876..39b4ce94f10 100644 --- a/hw/ppc/pef.c +++ b/hw/ppc/pef.c @@ -19,7 +19,6 @@ #define TYPE_PEF_GUEST "pef-guest" OBJECT_DECLARE_SIMPLE_TYPE(PefGuest, PEF_GUEST) =20 -typedef struct PefGuest PefGuest; typedef struct PefGuestClass PefGuestClass; =20 struct PefGuestClass { diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index ce45c9cd061..afd7944b737 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -123,11 +123,13 @@ typedef struct { =20 /* -----------------------------------------------------------------------= */ =20 -typedef struct MTPState MTPState; typedef struct MTPControl MTPControl; typedef struct MTPData MTPData; typedef struct MTPObject MTPObject; =20 +#define TYPE_USB_MTP "usb-mtp" +OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP) + enum { EP_DATA_IN =3D 1, EP_DATA_OUT, @@ -236,9 +238,6 @@ typedef struct { /* string and other data follows */ } QEMU_PACKED ObjectInfo; =20 -#define TYPE_USB_MTP "usb-mtp" -OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP) - #define QEMU_STORAGE_ID 0x00010001 =20 #define MTP_FLAG_WRITABLE 0 diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c index 21cc2835c62..18ebe15d0c4 100644 --- a/hw/usb/dev-uas.c +++ b/hw/usb/dev-uas.c @@ -109,10 +109,12 @@ typedef struct { #define UAS_STREAM_BM_ATTR 4 #define UAS_MAX_STREAMS (1 << UAS_STREAM_BM_ATTR) =20 -typedef struct UASDevice UASDevice; typedef struct UASRequest UASRequest; typedef struct UASStatus UASStatus; =20 +#define TYPE_USB_UAS "usb-uas" +OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS) + struct UASDevice { USBDevice dev; SCSIBus bus; @@ -133,9 +135,6 @@ struct UASDevice { USBPacket *status3[UAS_MAX_STREAMS + 1]; }; =20 -#define TYPE_USB_UAS "usb-uas" -OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS) - struct UASRequest { uint16_t tag; uint64_t lun; --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637879; cv=none; d=zohomail.com; s=zohoarc; b=kXau3CK9dpCYNxOpsQMoczNYnWa5iuA9j3T6E3nLIj3eyX0KjqyJdUbGdsUz+Tl/W/GF70RXlMPyTq7m2iMST5wMvzJM8oFumTSQuzWnx2nxxQ5AmOB5lJsbcEEMZatYuw3sM53Am8IWALOoE3+PmKZL+75ksrVjgOZgeaBn8KQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637879; 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=zTLB3cFEY6Tsij+P5yppIDVPLmX58penzFNO8leReIM=; b=S+HF1PyjHI+W8Px5VtMK2oDYDylyE05cmd06N+AtzMRW6M/WG66MG/GrOENuwcq+3RgeKS47Jq1RoJc9XTsVb8yq9tpBYqxroilDDRtBQzwIdx4lTBkJATHXXR0stI4AJq89rZtNUOK5YXwhFVB4D2/jRf1ICh4r+lCwXIfv1to= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637879114213.61066820388226; Tue, 28 Oct 2025 00:51:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeTb-0000rW-FK; Tue, 28 Oct 2025 03:50: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 1vDeTB-0000bn-V8 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:50:18 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeT8-0007P5-RP for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:50:17 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-475dbb524e4so20146175e9.2 for ; Tue, 28 Oct 2025 00:50:14 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd494d5csm183211645e9.9.2025.10.28.00.50.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637811; x=1762242611; 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=zTLB3cFEY6Tsij+P5yppIDVPLmX58penzFNO8leReIM=; b=ZJd00j49Iam41xtHLzPdaJ3Brz/YXciESOmm72NbwPm0k7gjjZpHxBcuxkTN9BDhlR 1zvZA2NYAz9jV+FpfxalFWWqElR2Q6u6Hu6EAzvMhM833Emu0oaXhyEBKaaYWdtkTLID jOT9YXE9RsKRS5PeXw5TTCJJA9B7EGWdlu61WMdw4k3N5nhZeAyEicGqJ1Y9cVzMC0Lh NvxQ5YAiO0vT6vJqG1WEFxw4A+QROCipziAA43xSs3w5kUOlZpKcp2zFDYHag2XehzBr qx1nrot7SqPk+RuTZHvUmCe8nbe0PjEsERrv1bVBs2wDAs1JHpHS2UPtxpiHxtEQn8ZE dG0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637811; x=1762242611; 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=zTLB3cFEY6Tsij+P5yppIDVPLmX58penzFNO8leReIM=; b=YMUJOFll+nLz3ATWuRNFVzrqeXrRmvORJWeSFoRIATh8epWHCqFFqonR2d3rgYj0zg ikXDC0W0KPfJCopFjhB4srk3WrpVesR7+SaBqRJkM2UsyIYRkdPKtP1Xf9SBgDS4p5aV g9Ghicgh9s1nvI7+Ap90W2K55Z9j5xX1OkI9Gz7NG2gdPRSNDWRtDAHOaOPMPLmtQ7i+ ar9R3t9hhg/pyzkX21eZYZkWY6/4l9uEtLE5IDiWOCrqZ98AIH8rfEnlqywVIqSaUX5G KF7rUyi3oUlj4i9oh1GfPwmzY12+mAlLItnR3S2CR8TBN+49ZzQkaNbpHvVE+XI0xEmK IyZQ== X-Gm-Message-State: AOJu0YwiQalQglYZ2bW0ee3vMzY+C2mB9/NPQfiF4A1fYL2fFs9PEM5T 6r2hHd+AC6Ikv4Ui1004IYSAB3I+jvODR8KMQwvykvZnwexk3hhHZ3ETDpzZGvzOfPoiRO/QnHj BDc5EYvQ= X-Gm-Gg: ASbGncsvlMrzaOe7eDfpQiZSR3z+m1MOZD2n+2OgbdlwTqK2uuMoO1EMBwdDq/9R3T1 uZFihcPohdHpQeDoDhhJ5JTJAz6BDcY5ai7BwIht5APRyVsMPz8zzZWgWMVn20A1AlnwtX6jCCH PjIlB0IZYD8QYTLc+u8llYu/m2UN5SID9aTyZmAVMzNKAJvbAzDQab+2Dguu9Ya7+9ZKm8zuqyw +wYxBQXotVpUkHq/XxmmUqkoyXRv4NJA8AsYa5OScDwoPDzp/C7U2RnLU/yQmBjWha4Q3+ikpuW EGUvMUdDjlVl7njBunhZJoDnirDO5i5R0GmQi7DQuzOzNFyC5utzccLCem2cWPlPuFY1RSOjo6M SLsDz/RgB6/EFxHuyYhd4KALdAJcSRGXwEeqBY98vf93rYOhz8WPV3pZt0YZiiOj9l4/EvctCmd Czi7QSBMRoVITnq0heFV977G/eHQ6OlkDv8Wune6YnAG4vFIaU1gJxVAs= X-Google-Smtp-Source: AGHT+IEw5keHIFH1+3mzddsjpLeBiEFEAjEtmyjxajE9J84wqtnL9TyoPfgqU/NWW1vCosA3jYCeNQ== X-Received: by 2002:a05:600c:8710:b0:477:bf0:b9da with SMTP id 5b1f17b1804b1-47717e41402mr20379905e9.19.1761637810877; Tue, 28 Oct 2025 00:50:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Michael Tokarev , Akihiko Odaki , Lei Yang , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S. Tsirkin" , Jason Wang Subject: [PULL 03/23] hw/net/virtio-net: make VirtIONet.vlans an array instead of a pointer Date: Tue, 28 Oct 2025 08:48:39 +0100 Message-ID: <20251028074901.22062-4-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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 @linaro.org) X-ZM-MESSAGEID: 1761637881615154100 From: Michael Tokarev This field is a fixed-size buffer (number of elements is MAX_VLAN, known at build time). There's no need to allocate it dynamically, it can be made an integral part of VirtIONet structure. This field is the only user of VMSTATE_BUFFER_POINTER_UNSAFE() macro. Reviewed-by: Akihiko Odaki Tested-by: Lei Yang Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Michael Tokarev Message-ID: <20251023135316.31128-2-mjt@tls.msk.ru> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/virtio/virtio-net.h | 2 +- hw/net/virtio-net.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index 5b8ab7bda79..f7083553068 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -202,7 +202,7 @@ struct VirtIONet { uint8_t uni_overflow; uint8_t *macs; } mac_table; - uint32_t *vlans; + uint32_t vlans[MAX_VLAN]; virtio_net_conf net_conf; NICConf nic_conf; DeviceState *qdev; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 33116712eb4..17ed0ef9190 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -986,7 +986,7 @@ static void virtio_net_set_features(VirtIODevice *vdev, virtio_has_feature_ex(vdev->guest_features_ex, VIRTIO_NET_F_CTRL_VLAN)) { bool vlan =3D virtio_has_feature_ex(features, VIRTIO_NET_F_CTRL_VL= AN); - memset(n->vlans, vlan ? 0 : 0xff, MAX_VLAN >> 3); + memset(n->vlans, vlan ? 0 : 0xff, sizeof(n->vlans)); } =20 if (virtio_has_feature_ex(features, VIRTIO_NET_F_STANDBY)) { @@ -3600,7 +3600,8 @@ static const VMStateDescription vmstate_virtio_net_de= vice =3D { * buffer; hold onto your endiannesses; it's actually used as a bi= tmap * but based on the uint. */ - VMSTATE_BUFFER_POINTER_UNSAFE(vlans, VirtIONet, 0, MAX_VLAN >> 3), + VMSTATE_BUFFER_UNSAFE(vlans, VirtIONet, 0, + sizeof(typeof_field(VirtIONet, vlans))), VMSTATE_WITH_TMP(VirtIONet, struct VirtIONetMigTmp, vmstate_virtio_net_has_vnet), VMSTATE_UINT8(mac_table.multi_overflow, VirtIONet), @@ -4018,8 +4019,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) =20 n->mac_table.macs =3D g_malloc0(MAC_TABLE_ENTRIES * ETH_ALEN); =20 - n->vlans =3D g_malloc0(MAX_VLAN >> 3); - memset(n->vlans, 0xff, MAX_VLAN >> 3); + memset(n->vlans, 0xff, sizeof(n->vlans)); =20 nc =3D qemu_get_queue(n->nic); nc->rxfilter_notify_enabled =3D 1; @@ -4068,7 +4068,6 @@ static void virtio_net_device_unrealize(DeviceState *= dev) n->netclient_type =3D NULL; =20 g_free(n->mac_table.macs); - g_free(n->vlans); =20 if (n->failover) { qobject_unref(n->primary_opts); --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637916; cv=none; d=zohomail.com; s=zohoarc; b=kUDdo5bMicOzvOejWw0Uw99vr8jKcARe7sTAlPrH10FPfPxM0emZ+LE9aa6adeZmmS1D6TYMbsHHI+bwQpvY/HClA6vPjIpX8rfiwAAdMk70i4VI5y5rVeN2NUHZUuhnH+LrcqmFWafA/1aYacRIvkUDex88aS54UnmIr1KpmYU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637916; 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=2IGrLf5bVKU6CARCMqqRyAEgTxbtQQxxofvYEiMrdKA=; b=Q0AehzQeYKxmwaenqeezJ3csrOkuwO+2VPpiGixtXKzZzhblplVKrQF/oPdmyWKHYSElOsLItfcjtWt3HqO0FVnKj6YNJweZLHmpKIUX01wp8HwoNxpXrtRG47Cyz1vjjP4DIomYWaCnWVteHPkS+upsLO4EKf7PmPlT7Sbnwu8= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637916582389.04707816706457; Tue, 28 Oct 2025 00:51:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeTg-0000te-NO; Tue, 28 Oct 2025 03:50:49 -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 1vDeTZ-0000r8-RX for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:50:42 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeTW-0007Qm-AO for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:50:41 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4710a1f9e4cso45933025e9.0 for ; Tue, 28 Oct 2025 00:50:36 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd48a07dsm180117025e9.17.2025.10.28.00.50.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:50:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637832; x=1762242632; 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=2IGrLf5bVKU6CARCMqqRyAEgTxbtQQxxofvYEiMrdKA=; b=XPKO/3p2NJk6FcCLN7R6GvSUoRkZwAnOdISpxcatC3TYGSmvtolnPlz325pgzza++f UypVmLtvlyvX3KUsbGocMrC7wljhRst2sSxCSxW0S3Ey3h5E0+qhNAiMYyV9oBpCTXWZ 8tLluOp+q0RHZaJWjZlmDR5ufjZSe8mNa68053d/9L5WDYx0tVUEnA9EMX0X59ceQ+c8 gKyVYjXQ82DMDBvvaYSFYPyIFccT5JR7TDSuiaKu6v7ADJ0xyNix8rvSVYNVX7iBNCtX ORmnoimz1S5gQa+8wPkEIq5olh+HIE7ZgQYpe326cSRzqLgcGSrwH9TRXRPl4wVp3cbg p7EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637832; x=1762242632; 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=2IGrLf5bVKU6CARCMqqRyAEgTxbtQQxxofvYEiMrdKA=; b=uK6vi8kdVkruFzPE4a0zArmfj3iiLEJMu+LdInBYEiKrM6xUTYLzn5vUmKoXSe1Y1m rgIqROflrrqPIKacqGDLmqAa3OWjuNCdGE1eNXhBJ5l06xIwfbZYFhbccBUxPY+tLm/0 998atR+p/V2ZZmU5fCMjl4717kfTE3ypHfGMLLc73vxjjOGPtZLh60dzk0/2OvwkPkxv 2TgHOmE+F3yNKngIKw+VR3wgQk6VJbGOg3GnyeuuaruvvZ2vfRmASLz9YV5cufaolA9d j0PcDZz6VidRb55IDhatzSXoGDbodK9P0Fe4bKMC5yISjMaBglaKsHwsdLhWl4jI8jbn E7Mg== X-Gm-Message-State: AOJu0YwpXPyERXZapwgNqaqPL/1P9JYAodNVgnX5ZfLb20rrBHmDbc5j KEZz/sk0A+Nm9mFDcTH/mHKgTiyaNPPjEBJfpHryCJhEXlol9DAWo68j/y1dzAqqySf/gB5iOzP W5qUn3PA= X-Gm-Gg: ASbGncuCB8Scd4cPA05c9NclVVh7VXzTHrIxVqedV6cfSzPDpDj68VTe9TIDas8LBK5 7TwRXgB8yPAs1dKg06nROH4YYqOAOTNQRfYmJsxoErAHT8HmnWXT36uthRXu99pDd2mDj9OfZbK B17Uojms4aHBMlPsFFXRqKbsB4zLXgy3ZywAUd+b4HP8dRRvS6/7gDPlo3ftpAmle8AOS/GxVUc 2Arv7JeY96UOgZVd/msNgPR06i+YVHGDBEQ3zuSmJho3tNfzple3bj5ndY62DZldT9ZRzyb9gXx CAcTu+35PBhZfWfQaLEcqwiCvlDvhuMio8B4bdan6cZo184K7hkh2LcXrxvjNdNLeg5i7wtwwCb 8kHIjoedx0npXQ8Em1tZmOkYqOv9a9MWcUIGt1ELslblpObpo95RFf6fJRgoEEAV0fSUFo5Kaqp jCMl9//+dlkLf328zepO4iBPx9X1cdiXPDhYjcANS7JMBtftfn3DJi0kM= X-Google-Smtp-Source: AGHT+IExz3L/LvK9Wz7HXSNvuLZztaFgYtya0Ma5Ny3KTlFw50GuuF/kptSXn5uMJBBk4D6WE3FJ5g== X-Received: by 2002:a05:600c:45d5:b0:45b:80ff:58f7 with SMTP id 5b1f17b1804b1-47717e7d10amr21335975e9.36.1761637832517; Tue, 28 Oct 2025 00:50:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Michael Tokarev , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Xu , Fabiano Rosas Subject: [PULL 04/23] migration/vmstate: remove VMSTATE_BUFFER_POINTER_UNSAFE macro Date: Tue, 28 Oct 2025 08:48:40 +0100 Message-ID: <20251028074901.22062-5-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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 @linaro.org) X-ZM-MESSAGEID: 1761637917567158500 From: Michael Tokarev The only user of this macro was VirtIONet.vlans, which has been converted to regular VMSTATE_BUFFER. Signed-off-by: Michael Tokarev Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Peter Xu Message-ID: <20251023135316.31128-3-mjt@tls.msk.ru> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/migration/vmstate.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index 63ccaee07ad..09f1eefcfb6 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -727,15 +727,6 @@ extern const VMStateInfo vmstate_info_qlist; .offset =3D offsetof(_state, _field), \ } =20 -#define VMSTATE_BUFFER_POINTER_UNSAFE(_field, _state, _version, _size) { \ - .name =3D (stringify(_field)), \ - .version_id =3D (_version), \ - .size =3D (_size), \ - .info =3D &vmstate_info_buffer, \ - .flags =3D VMS_BUFFER|VMS_POINTER, \ - .offset =3D offsetof(_state, _field), \ -} - /* Allocate a temporary of type 'tmp_type', set tmp->parent to _state * and execute the vmsd on the temporary. Note that we're working with * the whole of _state here, not a field within it. --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637915; cv=none; d=zohomail.com; s=zohoarc; b=lbwMHgCIluFFI+1F1s0liypL/Wc3VZIVEnqYDHNycUCWA+96L718jTUCNnvRNg9ipkGkVeKF0Nk4tE1sHWf7JdHTHrhCKATLoKGww4jT1nTY8iubMksdtsFIpJgRE6rFg8eatqkBTBR3UBMpFZbTI74Lt8MsEPpjg6/59/CP2vU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637915; 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=9egxmHKDvuJWJJTxkhR6DcARHBOqueiUDPaa2dbAdsg=; b=dHkm9BCYNrxUsqv+aKqr5rhzJH9d6jCaUkh82EUzxQi0qp5Poxrk4ycV2qGlgUeiF3tAOrgV95VyS1DTUXTpJedN2N+KIw8m4OxMsDW3zmrd3brzYe4pcihRl0ssJoITmDC+YUiEFOdGD7BwCbWy1Lui16TVGZBdSlQt+DdqiaE= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637915285846.3349156783648; Tue, 28 Oct 2025 00:51:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeUO-0001Do-9w; Tue, 28 Oct 2025 03:51:32 -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 1vDeTw-0000xj-Jb for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:10 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeTr-0007SV-LF for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:04 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-47118259fd8so42481315e9.3 for ; Tue, 28 Oct 2025 00:50:56 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd035e05sm179237645e9.7.2025.10.28.00.50.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:50:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637854; x=1762242654; 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=9egxmHKDvuJWJJTxkhR6DcARHBOqueiUDPaa2dbAdsg=; b=fzchjVqUd51YSrnhPCFQCUk5ev/7yIWr1do2iWMTM+SBnWsubMLDzGSCnRVGJ5s6xx NRzy0NTL7u+foJ6ijv9gILRZf4mciwkLQFMpXhRffwiHxRXAc0wFRlXc7mZYjyyJpXzg 4lWWkMQxQrEbmCcyOiFqhRGRQPkLnJA06a4IShqyR2J0/EEXEp5LycaBjTaHq/Lzk2QJ 748FTgqOj7oLLnUuxikXqAHoTvKlqqFvKdU02ZnR36EA8LbGuvT+DEOoeq1H4dyAA/MI yqErhHC3U0KJUNcVSivVUIAm0SwYPBYBGN4NH+jDwRQSZ0GgQLODX7RpapQL3IRtvv8u uq3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637854; x=1762242654; 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=9egxmHKDvuJWJJTxkhR6DcARHBOqueiUDPaa2dbAdsg=; b=aaKOi8qLo489/9M1YI6QDqqSoTyFF12Bfz9ClhhPwktY83+f24ORmsxUubyzOxusuQ Tk6xLFmckE3b2SUmfMB21JPd3cMWsHI3kxrUMSwMkJlFvK6AN8TY1SMdy425mbDOccFI 2R8+oxxnIul+Rznn8YIQFAQGUsUNumt1WN7pWYYba1rcmjTuO1PinQrPzgow22y4y29C c/qoaw7V3KiBWZYWnwaodQwq+qQs2akgljas/TExrewri9iq04HLJqqxWgnAVcv1FGxj 7Kc8mkkamv+wwtvQsJF8EDI5CiOpe9nw5UQkdMoBW4PhbQOZcuS9GZcO6QSkPHeEne+R BwHA== X-Gm-Message-State: AOJu0YzmGHBbAhdB+o+IdGBjLHwBstNw/bLlw92Z2L7a7jLD7MmSbvl+ 46BAVhtUqmN+elJL7yBTB2FgwX2U6Z+CTgpO80JdQMJigHnWObx+tR6+wTRsPtEuXsU88fp+7jD mWTK7s0o= X-Gm-Gg: ASbGncu6eucHebWFkcnZgQvXCpdtqaB0Rkc68LCSgOMYBgJFskZO2PaouvnKe6gNncw hIcNe+xftIYqnV2KOxs1Dd8YGkGmZBwq1ootxLsi2K/3XbFoEyPUvhaewnTsfwDMc7MI7miyduM AMbi2JSzYm+YBqX0OKkgQu95Eh8cYUPu5UzfC5HQ2pUFkReoERXBxbH0Su6rhX4ruBTyB7/28pT puzCkcg/uGQ6wbxMxkIGK8055eaUdDczhH6j4aIUGN3GyLiILqDPmsdUlQ8hFy35wYR90Kv9hY9 kw/dvHl07M55sKGHthuKpv9CoW6QGIdbRCo1KJotJ3kU4w1Ngs6+H1Phf3UBCLlQv+4l1vWMABs CYDDu8JQUMA7vV2KhfgDTg85Z7R5Lm02aoPgAc7sUCp5v2q0O/H1O6WXrzokgTWMtG3m5LDsuP9 djYSop2n3NWFG8ZcsnQgGLw5sOuYnrHumiIV7sdcHiQlHP0Z3UmYnOQlQ= X-Google-Smtp-Source: AGHT+IGKFQ3aedt7d8Gi8vst0DpNgYVFHAHsRujUo4jBUOjxKnpJQr56ihbzQTKM6HL0LJk1blps3Q== X-Received: by 2002:a05:600c:4686:b0:471:15bb:ad7b with SMTP id 5b1f17b1804b1-47717deeb8cmr22695215e9.6.1761637854299; Tue, 28 Oct 2025 00:50:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , qemu-ppc@nongnu.org Subject: [PULL 05/23] hw/pci-host/raven: Simplify creating PCI facing part Date: Tue, 28 Oct 2025 08:48:41 +0100 Message-ID: <20251028074901.22062-6-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.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 @linaro.org) X-ZM-MESSAGEID: 1761637917913158500 From: BALATON Zoltan There is no need to init and realize the PCI facing part of the host bridge separately as it does not expose any properties that need to be available before realize. It can be simpilfied using pci_create_simple. Signed-off-by: BALATON Zoltan Reviewed-by: Mark Cave-Ayland Message-ID: <5a60e395d72e5eb4d01093434fbb645d72ac567a.1761232472.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/raven.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index eacffc86d84..c0492d14569 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -65,7 +65,6 @@ struct PRePPCIState { MemoryRegion bm_ram_alias; MemoryRegion bm_pci_memory_alias; AddressSpace bm_as; - RavenPCIState pci_dev; =20 int contiguous_map; }; @@ -260,8 +259,7 @@ static void raven_pcihost_realizefn(DeviceState *d, Err= or **errp) "pci-intack", 1); memory_region_add_subregion(address_space_mem, 0xbffffff0, &s->pci_int= ack); =20 - /* TODO Remove once realize propagates to child devices. */ - qdev_realize(DEVICE(&s->pci_dev), BUS(&s->pci_bus), errp); + pci_create_simple(&s->pci_bus, PCI_DEVFN(0, 0), TYPE_RAVEN_PCI_DEVICE); } =20 static void raven_pcihost_initfn(Object *obj) @@ -269,7 +267,6 @@ static void raven_pcihost_initfn(Object *obj) PCIHostState *h =3D PCI_HOST_BRIDGE(obj); PREPPCIState *s =3D RAVEN_PCI_HOST_BRIDGE(obj); MemoryRegion *address_space_mem =3D get_system_memory(); - DeviceState *pci_dev; =20 memory_region_init(&s->pci_io, obj, "pci-io", 0x3f800000); memory_region_init_io(&s->pci_io_non_contiguous, obj, &raven_io_ops, s, @@ -306,12 +303,6 @@ static void raven_pcihost_initfn(Object *obj) pci_setup_iommu(&s->pci_bus, &raven_iommu_ops, s); =20 h->bus =3D &s->pci_bus; - - object_initialize(&s->pci_dev, sizeof(s->pci_dev), TYPE_RAVEN_PCI_DEVI= CE); - pci_dev =3D DEVICE(&s->pci_dev); - object_property_set_int(OBJECT(&s->pci_dev), "addr", PCI_DEVFN(0, 0), - NULL); - qdev_prop_set_bit(pci_dev, "multifunction", false); } =20 static void raven_realize(PCIDevice *d, Error **errp) --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637936; cv=none; d=zohomail.com; s=zohoarc; b=BZR9W3e0X6m51U0TxHmPEsrx8SrxHdWWnrCokubebU9gLPS6CZoDzkpdYs9WYnH38HcCKvrKgvZ066QonLvrqeOzd6PKPY3KRMrEzEUdfaC25TrxQLkCMppwNO8BqTzJFZK6k/vcMgWGhshuyM0T8jmucOaOH7Gr0PYxQPNpqNA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637936; 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=mAiY/ORuhCuU5FJAi2wbmg3bd/8hEKzfQnI+Ob1U31Q=; b=KOqmCCaIMdyTG7YxYnyA3BZM4vtx9vsCwQccQaXoP528I+k4warJAwihv73mDkfBV0XcsA2ltnwd+3/MeF6MYSg719g1OuLisgCmLqu4gasqYhMx+ZpxOq+UJk9IV5bZIrtJEhvKk/YRqCRTRITgNIvN95bkv4CM2Qa8074Z1ak= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637936264785.3799043028661; Tue, 28 Oct 2025 00:52:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeUS-0001Os-ST; Tue, 28 Oct 2025 03:51:36 -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 1vDeUP-0001Ju-Rb for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:34 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeUI-0007UK-GU for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:33 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4711810948aso41124775e9.2 for ; Tue, 28 Oct 2025 00:51:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd035dc2sm183600905e9.5.2025.10.28.00.51.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:51:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637876; x=1762242676; 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=mAiY/ORuhCuU5FJAi2wbmg3bd/8hEKzfQnI+Ob1U31Q=; b=ktVDSYKe5Dyg5LpOqBnLoLhNnNrLZq8mzAo1K1hShG7RJc8JEPfQjPLbswD/rWUvZJ s0Bzk4BLdx1YCIBOk0h66nzPqbzazn1MREUSwSZp1SNXh4b19Zl+eiPdg7ufn/8rSDPe IrwXnTMy+9CkKtBp+5SWteAhJncP0uQESW//P25Zjsr9VFabJP3+3d8u2+HUhTAX7Eeb tntUv/U7CRO015DY9RcpWSAQsXvQWbubrFwfEYEqae+QRC4XokW4lL8x1cljzM4OaR5L D4RlCSUmOy9apQPsVENt9BPFrVtQx2EwbDYRIEjXREmfI4rtAXBzlEIyOaJbVK2shWy5 QfZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637876; x=1762242676; 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=mAiY/ORuhCuU5FJAi2wbmg3bd/8hEKzfQnI+Ob1U31Q=; b=i+NOz3DsYaRGTsmzviGhZtchxOsDBxAztrmII1+2Pyg47r71/DeF/Fwu1+kXXNYgBh hM3BGsNGckGdqoR7jVgJcH3t9+UZoaavZcXazCDo/p0VNkuGO3TC8NguyHC1RQVaFYIV fCRGcCWZW2DudfBR+fi+vsQ2YnejgXHRPZOa0uCNvSJQcWHH+SwaghHgObWQu3G1B7Rq BwW0S8m72hZyXg1DOQxBAFD62t/4tnRW2NuzrKcsN+tUYGjtxukPU0TnBLLyzLRZ1WgD 3q4wvAjXo4zuwnOsaLksEe3z32UdkNSn70k2YmpnHLIIu7PfxRAmOrgz6KBS157gm28a S7LQ== X-Gm-Message-State: AOJu0Yz/NqJD/wcEwbSRNsEKO1i9v8TTSA8u/ESZmfTkjKat3TgIPgxU XiGh6bW1COjB7qTrBPsg5wGUl6oAZlylV4gKefUOjBiJ0m37r5EPqtfboKVYYd++Fgi0E0H4nFS ZszFGJ8o= X-Gm-Gg: ASbGnct/XhJYqfEgIhNJq9E4F/RKL9CcxsX5/rsMO7tqHKnDCKKZi2u+dMek+atjIFu PKItOVul5HSe2wZRpVw0BBTujnOvT6wfy3daJoU+p20Upb/2n32xLci9vT2mhVYQRAyZHJnlD67 XeTYHMfirgH/5tx/zxIPgWKxNtH0iGhSBPflTgFpLoHXWrRLIcmHRV3DkqG9iXsU58P5T+ootZi Krxl95gcVi2Ceqc/u16YHdvh5nUneugt0k5yxFx/Hpcwcx55SCelB7os4gTIEbfUgxsGWANchav xMCn5TIkxnJHD7Qa4LNhuvBffd9dstcM59xEYUn2mSuyIQKbEialJmB9NjtKDQFdR3cZDoXDzHd gP3InZ1WQKxJBffKLbn3KLKl2HEcivORDNoPzwCrsBdHO8O7Nzroj5GSsjqRJO1PbsTLOZPnmAM kg3IN4L4CeI1ncLFXJ8GBuiqd7n6Jxt7nDy0FwAkPH9c/P8VLc6tVArM4= X-Google-Smtp-Source: AGHT+IFq2SE0DiQDUt7RXSMWjsQnEFmRM9pgaFLl2pQ9NHt1hWPnfD8jCer+6ke2T7k3PtnCEMSqcQ== X-Received: by 2002:a05:600c:5487:b0:475:de68:3c28 with SMTP id 5b1f17b1804b1-47717def760mr22234015e9.8.1761637876009; Tue, 28 Oct 2025 00:51:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , qemu-ppc@nongnu.org Subject: [PULL 06/23] hw/pci-host/raven: Simplify PCI facing part Date: Tue, 28 Oct 2025 08:48:42 +0100 Message-ID: <20251028074901.22062-7-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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 @linaro.org) X-ZM-MESSAGEID: 1761637937913154100 From: BALATON Zoltan The raven PCI device does not need a state struct as it has no data to store there any more, so we can remove that to simplify code. Signed-off-by: BALATON Zoltan Reviewed-by: Mark Cave-Ayland Message-ID: <3c4cb144c24a2a729669549c4c0e6e47d230e68e.1761232472.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/raven.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index c0492d14569..fa76e5170c8 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -31,7 +31,6 @@ #include "hw/pci/pci_bus.h" #include "hw/pci/pci_host.h" #include "hw/qdev-properties.h" -#include "migration/vmstate.h" #include "hw/intc/i8259.h" #include "hw/irq.h" #include "hw/or-irq.h" @@ -40,12 +39,6 @@ #define TYPE_RAVEN_PCI_DEVICE "raven" #define TYPE_RAVEN_PCI_HOST_BRIDGE "raven-pcihost" =20 -OBJECT_DECLARE_SIMPLE_TYPE(RavenPCIState, RAVEN_PCI_DEVICE) - -struct RavenPCIState { - PCIDevice dev; -}; - typedef struct PRePPCIState PREPPCIState; DECLARE_INSTANCE_CHECKER(PREPPCIState, RAVEN_PCI_HOST_BRIDGE, TYPE_RAVEN_PCI_HOST_BRIDGE) @@ -312,16 +305,6 @@ static void raven_realize(PCIDevice *d, Error **errp) d->config[PCI_CAPABILITY_LIST] =3D 0x00; } =20 -static const VMStateDescription vmstate_raven =3D { - .name =3D "raven", - .version_id =3D 0, - .minimum_version_id =3D 0, - .fields =3D (const VMStateField[]) { - VMSTATE_PCI_DEVICE(dev, RavenPCIState), - VMSTATE_END_OF_LIST() - }, -}; - static void raven_class_init(ObjectClass *klass, const void *data) { PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); @@ -333,7 +316,6 @@ static void raven_class_init(ObjectClass *klass, const = void *data) k->revision =3D 0x00; k->class_id =3D PCI_CLASS_BRIDGE_HOST; dc->desc =3D "PReP Host Bridge - Motorola Raven"; - dc->vmsd =3D &vmstate_raven; /* * Reason: PCI-facing part of the host bridge, not usable without * the host-facing part, which can't be device_add'ed, yet. @@ -344,7 +326,6 @@ static void raven_class_init(ObjectClass *klass, const = void *data) static const TypeInfo raven_info =3D { .name =3D TYPE_RAVEN_PCI_DEVICE, .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(RavenPCIState), .class_init =3D raven_class_init, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637934; cv=none; d=zohomail.com; s=zohoarc; b=TonjIGzLGcQyV11ZFHuaZTVuEU/nF4p2g7SjfRuZRhMPWKhjMjY5KXIlsquH5I2efDcO8RCZ1qsyOusaKIQ8Sw+WWVGvjFLP2XpvBfbXO7Pnpso0SS+UYhC4ZwoT/3gqWF1DvWKBmwrAdmiMp01JvN0j1kkrQKUtriSLXX3shqU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637934; 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=2fnD+hCc2mdU4naImyfEXieGQuHfdgsBV07f/58jWTc=; b=gA4zB9apbznZq5ReBulSuBFkF4HCg9h0pELqsGzUgSEpNQpqB4lL87ZzH0nfa8ipooPNBZALyx4/xhLu4NDdyunKzqjax+YOcuc8kSY+PvJW7X5JIm9kzXKyuYpgt49Pqy6AfWQZjKcXmwLzxSGe+W+WNUJth7QQFOR7aPXmb2Q= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637934829981.4417875554456; Tue, 28 Oct 2025 00:52:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeUk-0001bR-Hv; Tue, 28 Oct 2025 03:51:54 -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 1vDeUZ-0001Ut-Fo for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:45 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeUV-0007Wv-TK for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:51:43 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-47719ad0c7dso4046845e9.0 for ; Tue, 28 Oct 2025 00:51:39 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd035dc2sm183617865e9.5.2025.10.28.00.51.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:51:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637898; x=1762242698; 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=2fnD+hCc2mdU4naImyfEXieGQuHfdgsBV07f/58jWTc=; b=pgdhqpoGBWFsGNBc4Tft1puGyPQKTtW69Mkx0QE+AHjRKFY2aN2vBB3z/85HuGjtJg z339DrhdMrpDI42lIfcrJ9jEApOVxQpvpQJu/513W1HAbVTQDQOmwyuzsYer9aGQ5t/I TxR9G29D8SSsBPAQp/z60sntAAVV/6RajmPaX3n4L+4bl1CP2RrmNVIanXY2erqdUquy heYO9rs7SkoLsFd+329mdJAB4uvIKDrr1ZO0rKTBNBvBc6LZYMKZYcSysrCVyygE4UEZ FsNG7Yyq3IDBN2J2KgvXTM5KkmaulMJYkARS574Gyzh4Tt6/Cj+c7rZGNNTrVEFKfxi5 Zo4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637898; x=1762242698; 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=2fnD+hCc2mdU4naImyfEXieGQuHfdgsBV07f/58jWTc=; b=jdoYpplFrvIdZsUgrOmrbPj+4bvjTjPy7huNoFg7MIYdQBs1wz7vZ8pBW8/L49dHqt xFeBdNNk94wmoKvPUZwcQTwDECMQ+jRqy+C38MAHlbfGQTVPF9IIfG56h8viwMwySZYL cmFdPqmOamsI/8eDefpTnJvCCjOblrxsLnTysfsgfcPMqctluGlPCBjgyhqxRjMvtFyS NrrQLNLoJ/DE4+o4LnH/T9w3qooI7Xewrtr83x4c9QVd8/qHwtIQvCksMTpJAQCv9lGU jaoityo4CCjFo9gGkuZh0O5AhM5bn3cbFOI4F/8fLzM7R5K30/Km6o4UrhwmoAzQCMj7 LwuA== X-Gm-Message-State: AOJu0Yz0y/fNc50Puven7wiwDD6JfvJCC1ehAtv2B4vQio5xl2aG+Y7j 8zMYTxNMLIUHp8rmSJt5wcKwWwiww9+uIiG/Ej6P8yz1KG8lit8+Z1wytyHuwHo3cUOHuWt8MpD WdW58OSQ= X-Gm-Gg: ASbGnctIczOdfGnmNn0J/eum9wjaf8cAnu4sYeGGANIb8yeGC0nlvt+nxAP7MZAtVcz FaExJaqzx30jnr7O2QrpddnL4zEpkyKpgDHm45z9jLZrhAR/FFmDZWSG80UD8UJWhlf04rYRVfw TEplFJ9m8Howv5IWwrZihQQzmOdfonvN9NXl0o3xfV2unCYZqgBIMXvcbfOQaQtz5oz/XQlsm6k 9xqHzibarbKiWSoFhtURRpZdT/XW4S2QokRyZtZk2Kb6z3Ptp5aka1zKQksdOCIVFZibjl4QCFu JXWxbMbTe3JLSlIPwmR5Sk/BNLCCoDdzrigYV7FhqQf/4gdddVCoM4C4op+/BJUbnQHaGtA1qhy a73TBYMVdvbXjEqXvTUxgVbCNPHRVNGnGyhrK5lTpKM5lIdBLzEVZUmnGgBlif2xS1nAsraJFgO J3fqLhMhKJwdAzRw0qwcUHp7UgXuM3PbiKZpfiJO45XYRnP/HfA6Li8yI= X-Google-Smtp-Source: AGHT+IGGp1aglM6ApwmlDr6vFy1zOHaNLMplccfUwbB8hLP410lJjwlbWe2FI1zwNEuM/iDVPeAMKw== X-Received: by 2002:a05:600c:45d5:b0:46f:b42e:ed87 with SMTP id 5b1f17b1804b1-47717e62bd2mr19303325e9.40.1761637897675; Tue, 28 Oct 2025 00:51:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , qemu-ppc@nongnu.org Subject: [PULL 07/23] hw/pci-host/raven: Simplify host bridge type declaration Date: Tue, 28 Oct 2025 08:48:43 +0100 Message-ID: <20251028074901.22062-8-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.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 @linaro.org) X-ZM-MESSAGEID: 1761637937697158500 From: BALATON Zoltan Use OBJECT_DECLARE_SIMPLE_TYPE macro instead of open coding it and change state struct name to match the previous typedef. Signed-off-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-ID: Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/raven.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index fa76e5170c8..ea5ad69547a 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -39,11 +39,9 @@ #define TYPE_RAVEN_PCI_DEVICE "raven" #define TYPE_RAVEN_PCI_HOST_BRIDGE "raven-pcihost" =20 -typedef struct PRePPCIState PREPPCIState; -DECLARE_INSTANCE_CHECKER(PREPPCIState, RAVEN_PCI_HOST_BRIDGE, - TYPE_RAVEN_PCI_HOST_BRIDGE) +OBJECT_DECLARE_SIMPLE_TYPE(PREPPCIState, RAVEN_PCI_HOST_BRIDGE) =20 -struct PRePPCIState { +struct PREPPCIState { PCIHostState parent_obj; =20 OrIRQState *or_irq; --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761637981; cv=none; d=zohomail.com; s=zohoarc; b=LVuAaAvpzsK2GBPbizOukUH11ptRdEbWjYcvNrRUHMzj29b2s23EIGZuKiXYyHpy7VUjGY6qq5tUmfU9tvZz6U8tBpg3drXFlF2i1glohGwt+o/m6tWqPJMmPjGUYnPxK/xytfL8/AlFCsPt843lT3kUICu4USPpRNVHAbC7FPk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761637981; 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=V9WtpCOfKaEaJh4imVy+lkl1W31r/jVxnQllCP35oEs=; b=AJFUq0vM8zgBnIlRPa6OtRetjXKdCWljYfBzCmJjSQ5o2T1/GPnyssUENljpq9Ehc3KaxUBLA7K4eg/eQhw7SLlxvNrU3gw8oqLsnYG2grB1bxTQqYxxAJR2kwGIyAN1J9zDUdTP9t4lbR645Xv+UFFTFntlgdU7+SEsWw/9CC0= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761637981617953.2167144580761; Tue, 28 Oct 2025 00:53:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeVB-0002zW-Fd; Tue, 28 Oct 2025 03:52:21 -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 1vDeV3-0002ld-A4 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:13 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeUy-0007Zp-75 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:11 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-475dbc3c9efso22253245e9.0 for ; Tue, 28 Oct 2025 00:52:03 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd02ce46sm215875605e9.3.2025.10.28.00.51.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:51:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637919; x=1762242719; 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=V9WtpCOfKaEaJh4imVy+lkl1W31r/jVxnQllCP35oEs=; b=F9i3tDY01sAzopWX8cOmn9IrIk1vQUiI4NdAGRCwiPNb43yfegqs2Xb8VxsH/EgRQt IkNEqgdB2LbzSa54CWH4TRUPXIeoVUhwEzsKKxlC/X2mjzaxtbiJxEWpqFmdqZ/GqpoX IWqB9N/+metPp/+CqP2I7D7ydSM70fUcv8pOTE2sTSiRgogJbxebzHJXZCUZDV5mVXCj u1awqMO0c9BykoSfQK2g63LktpAT0vK+5nlcbBEYeZm7Id1lFbxauEXDE3hQuiqjdD+8 OezokR6KiSQ5Dc4FkfcYBbnAnlRce+uT9ZyKG4X/FF/VR2+pZtz/eipQNyptOBsI+Yhs b+Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637919; x=1762242719; 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=V9WtpCOfKaEaJh4imVy+lkl1W31r/jVxnQllCP35oEs=; b=c2/uASIZfbaHyAchQsptLSqGbxUwMxSGeSEqgSkVXh1FqKc9qDX6mCx4rh0ovqNCVq 2AeLfaPoRyP5xGEOQDO14lyR7/SJo1B/3PZJ8mBiLWDUflG1mF7ZkcyE9xP0vvmLsE+8 ntTWWxe26NLmg3FtEsi3bPLMoMjGExqNr3S/wHhUr2njCkf0sLDIlm31bREL43pAI8oZ wfZhlDqbjOOSAo/UyDZ59cZlt0qTHmSdqT9zcnIUelnUhE+aczkSSP9l6VeptExiLXXu vKhb6pPAXc31WGbcK4gtmdZhOhwfV28wcf76ImaLtHarajVYjQtwd4x4/5QU40W5UZbX cjYA== X-Gm-Message-State: AOJu0YzZ8jt8FMgqHv6pxIer+CP3DzgZpNOrjdfzqMkvZadm1BHZFxLH 1ILkykem7VhxDeq3NGSVLmCYH+sflNkQNkMt+RBOaAsqfWTEsggDKPxDPnJ2HsGFm+2CzAtTjt+ KaKI35Nk= X-Gm-Gg: ASbGncvExThS0JMA3SVqb3OMooOxbYzwIn24T/EHaZB71AGTYytEezLXYKxiQ9lecmj pRnidjroZQDmes1+FFbJCz2eakmH5rY0ei6LLD2UbtYMm5jxn7+JhNMqXausUPC4zh69XHCvjF6 nsIeRWMVc9+XxfGsAo4YVhjoaLoUtuzpp0K+A0v2iDWLJ3ZINCYeEmW7GLFxRCyKfRFqZsCYugq PiY+W16onm8U2/0fE3C6/G6P6HfADj7aB2/3YTGXkRgJgSVE8HXsFt4luhAlxZhqh5xuZW+Zb64 ZuehyzEmpkWZXFeOeSgp2TaMbEzC19fBbjdBJhCeMCC9//vFDzHpXS4cG1ZVMaYdtH13RVJsF5G fpFKlZQc21KKVyLjw/k0KbSA7STB3Yk/LSKPEpj4cIh6MRjCSY2RSjhlOz/vgDpMB+X/9Ho8fgs 1S7jVgUDQl8M6E7Rd+EOsgWmA1F397d4IiokmlTePMscuAlu1FuPVN0Sw= X-Google-Smtp-Source: AGHT+IEl+H8afhMl8OG56RzAO5MlkxmZV3EBLQpkhhvHV9AK8MOclpchsWQn+kHQcHLc2BPnhgSmQQ== X-Received: by 2002:a05:600c:1e0f:b0:475:dbb5:2397 with SMTP id 5b1f17b1804b1-47717d488f1mr17666755e9.0.1761637919411; Tue, 28 Oct 2025 00:51:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , qemu-ppc@nongnu.org Subject: [PULL 08/23] hw/pci-host/raven: Use DEFINE_TYPES macro Date: Tue, 28 Oct 2025 08:48:44 +0100 Message-ID: <20251028074901.22062-9-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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 @linaro.org) X-ZM-MESSAGEID: 1761637982277158500 From: BALATON Zoltan Convert to using DEFINE_TYPES macro and move raven_pcihost_class_init so methods of each object are grouped together. Signed-off-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-ID: <4ff8a3e1de847846f08d9ea6b389efeb3eb12aed.1761232472.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/raven.c | 57 +++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index ea5ad69547a..1d09a28bff2 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -296,6 +296,15 @@ static void raven_pcihost_initfn(Object *obj) h->bus =3D &s->pci_bus; } =20 +static void raven_pcihost_class_init(ObjectClass *klass, const void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); + dc->realize =3D raven_pcihost_realizefn; + dc->fw_name =3D "pci"; +} + static void raven_realize(PCIDevice *d, Error **errp) { d->config[PCI_CACHE_LINE_SIZE] =3D 0x08; @@ -321,37 +330,23 @@ static void raven_class_init(ObjectClass *klass, cons= t void *data) dc->user_creatable =3D false; } =20 -static const TypeInfo raven_info =3D { - .name =3D TYPE_RAVEN_PCI_DEVICE, - .parent =3D TYPE_PCI_DEVICE, - .class_init =3D raven_class_init, - .interfaces =3D (const InterfaceInfo[]) { - { INTERFACE_CONVENTIONAL_PCI_DEVICE }, - { }, +static const TypeInfo raven_types[] =3D { + { + .name =3D TYPE_RAVEN_PCI_HOST_BRIDGE, + .parent =3D TYPE_PCI_HOST_BRIDGE, + .instance_size =3D sizeof(PREPPCIState), + .instance_init =3D raven_pcihost_initfn, + .class_init =3D raven_pcihost_class_init, + }, + { + .name =3D TYPE_RAVEN_PCI_DEVICE, + .parent =3D TYPE_PCI_DEVICE, + .class_init =3D raven_class_init, + .interfaces =3D (const InterfaceInfo[]) { + { INTERFACE_CONVENTIONAL_PCI_DEVICE }, + { }, + }, }, }; =20 -static void raven_pcihost_class_init(ObjectClass *klass, const void *data) -{ - DeviceClass *dc =3D DEVICE_CLASS(klass); - - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); - dc->realize =3D raven_pcihost_realizefn; - dc->fw_name =3D "pci"; -} - -static const TypeInfo raven_pcihost_info =3D { - .name =3D TYPE_RAVEN_PCI_HOST_BRIDGE, - .parent =3D TYPE_PCI_HOST_BRIDGE, - .instance_size =3D sizeof(PREPPCIState), - .instance_init =3D raven_pcihost_initfn, - .class_init =3D raven_pcihost_class_init, -}; - -static void raven_register_types(void) -{ - type_register_static(&raven_pcihost_info); - type_register_static(&raven_info); -} - -type_init(raven_register_types) +DEFINE_TYPES(raven_types) --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638021; cv=none; d=zohomail.com; s=zohoarc; b=gt9guE+iKPzn3YkON+O7UlNEKVKVYJRrx9NoOpKbHwnL+Yv+dUVB4HusGpZSRsS54fgsjR86HF4gaEs8xOEqxFoizl5HbePbEKrXKZEWJb77Buy7gImfwfd1QS7ut9n3EBY4zL6qFyjvH73GGy4S5MTCgv2/FTEXfWdYItn0nrs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638021; 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=SAxBBkCqgLgCPIEwX8+ZvguN0WfFyZlBComHTDd1AJ4=; b=WCivXEgZeh52f3bNavsf/9fbKCGqfGqT/vQWbArjPXAKBi9uAjPJaju77afoDkR7HWdQlabnxDrWrNYZTRzV/znCIiC7I6ffD9JHw0kQtu71qygnpdaiEiEaCnmPMlJTaO9daV3f4V5MIPVUQyLKeMH2CT6LdExhbscq/y3WV9M= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638021436826.5401969273397; Tue, 28 Oct 2025 00:53:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeVc-0003JE-Dk; Tue, 28 Oct 2025 03:52:48 -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 1vDeVK-00037J-GZ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:33 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeVF-0007dH-KE for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:29 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-47109187c32so30371725e9.2 for ; Tue, 28 Oct 2025 00:52:23 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd4924e2sm181072405e9.8.2025.10.28.00.52.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637941; x=1762242741; 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=SAxBBkCqgLgCPIEwX8+ZvguN0WfFyZlBComHTDd1AJ4=; b=IeQg5tigF53PKhDh2ZX4NsjjeWo8My83sUkHf9FyGQ//EwoDqZDLPX5jaMCeJIimrE 9nlc1iyTNt6O9BA6p6s9xiBdpbJLAvPni0mecnHJa3l6j+Y2cby1fkZn/OR+vh3psRKU C0bPp98EDXhL/h/8AjVYg+XKXtdw2X1AKiwjYpji0RosomLiEwG9Y+r8x3S6SN+EdmBf IZdOGB7o+BCt3OUxDKEuEu+YKmdsONY4QpzY7toSdQCJYfj3zw2YNEVqsjlnM9ZAVx1F RSvL4KMhSY2GsfIvJpj8v6GxZx+V55h9CJOqi2Di2pCYtxfzP+Cd+2/T0afJlWfx6GD/ uBAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637941; x=1762242741; 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=SAxBBkCqgLgCPIEwX8+ZvguN0WfFyZlBComHTDd1AJ4=; b=NSwkwPlrmZVhNwdRnNgJRRwGZ1J+Ej7xsv64yQySaldQP6QcbaQ/9G8dMZZpSVPtMS BWu6j37ZqllP0BRDx3Imno0oBnNmSBIzr4qiFMUXSFrpRPFHnnoLhRHCRz+t6Vvvin+N YphC25kg6BpPt/gqMtae59mvrBrSGNs8amK2sHr7M4aXxvLKRio8scWvVibx3yE7JgLs 2Dqrf9eQ7ANn3WqDGmKzHEGhULHN5/QQjc9AmIM2BmWyLXOcu+JOFtL0LSNOdlaxnxrR F4IC6WW8GWW30f7OP+hBHiQIWL8lYjg0TrJrJxzqfIJMswQMFYyWFp7EScd/+iOLZOEl 74wg== X-Gm-Message-State: AOJu0YxXP2oG7xTMVsjeM85dnv222zxAWnKYYg15VKtlgL8C+fM8HEIa zX0yhP0U8lW3PlKXUDzN0e5I6cKXLnAP91vxiLrqVa7IFPc/tnrSY/LRGyytfe73Zi4QofN7Lef 0lu9si60= X-Gm-Gg: ASbGncsh5JtNaM6ykz/jsEIFBOCjzHs8ncuytElCzjKJ72Yz+o04CGjuNexXgQfpAv4 6hvPwKjtUtwjp2+zpb2sOXLvEXmdAnVGju3m6sIR/Exnfg216RyAjtk3OUKl+QadpcTgpBtYfjy RZ1RYiVNxX/4CjNKLuZwDOfbhnxjviZW3ZkMucN548+trYBEoTbVLk5dHyj3W7IDamynL98WVHj XNDCmMaIdMq1iqIR8AuJEroBxs3/PzRSr4g9BLXRyHX+LDoxfr+zNYIF6wlJV08VcuurDCl/n/W ZdTQtnWb6RD15/Kml+aaP35izDj4f28qgOP9FTZ2D8PZdIROMSxJVvZtQ5v0ILoAhukjCVsQDXf 4wL4QMjoJ/2s6hcuWkpGIBR7sCHcx9NXnGTprnYsH8tAo2rMUYVO3dO+OURcleBPbJJBctoHZj+ UWIcgzqW0mF5mkyjI7K+Pw6eJMvtv6nccw+Jb0GU4aGD0EWO9AqGWHQx4TY/hAbR2rHw== X-Google-Smtp-Source: AGHT+IHpTH7QbxftT9yhLQutctgheaKO8pmj3YHLjGTEzCOccAqpF3T115V5616yoz7VMlDSp1tw/w== X-Received: by 2002:a05:600c:4588:b0:459:db7b:988e with SMTP id 5b1f17b1804b1-47717dfe6a0mr15197675e9.13.1761637941117; Tue, 28 Oct 2025 00:52:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , qemu-ppc@nongnu.org Subject: [PULL 09/23] hw/pci-host/raven: Simplify PCI bus creation Date: Tue, 28 Oct 2025 08:48:45 +0100 Message-ID: <20251028074901.22062-10-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.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 @linaro.org) X-ZM-MESSAGEID: 1761638022688158500 From: BALATON Zoltan Instead of doing it manually use pci_register_root_bus() to create and register the PCI bus. Also drop pci_bus from PREPPCIState and use the existing bus field in the parent PCIHostState. Signed-off-by: BALATON Zoltan Reviewed-by: Mark Cave-Ayland Message-ID: <4ffa168d68947d95a16c51d73cedd141b0df0ea0.1761232472.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/raven.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index 1d09a28bff2..22ad244eb6e 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -46,7 +46,6 @@ struct PREPPCIState { =20 OrIRQState *or_irq; qemu_irq pci_irqs[PCI_NUM_PINS]; - PCIBus pci_bus; AddressSpace pci_io_as; MemoryRegion pci_io; MemoryRegion pci_io_non_contiguous; @@ -231,8 +230,9 @@ static void raven_pcihost_realizefn(DeviceState *d, Err= or **errp) =20 qdev_init_gpio_in(d, raven_change_gpio, 1); =20 - pci_bus_irqs(&s->pci_bus, raven_set_irq, s, PCI_NUM_PINS); - pci_bus_map_irqs(&s->pci_bus, raven_map_irq); + h->bus =3D pci_register_root_bus(d, NULL, raven_set_irq, raven_map_irq, + s, &s->pci_memory, &s->pci_io, 0, 4, + TYPE_PCI_BUS); =20 memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, = s, "pci-conf-idx", 4); @@ -250,12 +250,14 @@ static void raven_pcihost_realizefn(DeviceState *d, E= rror **errp) "pci-intack", 1); memory_region_add_subregion(address_space_mem, 0xbffffff0, &s->pci_int= ack); =20 - pci_create_simple(&s->pci_bus, PCI_DEVFN(0, 0), TYPE_RAVEN_PCI_DEVICE); + pci_create_simple(h->bus, PCI_DEVFN(0, 0), TYPE_RAVEN_PCI_DEVICE); + + address_space_init(&s->bm_as, &s->bm, "raven-bm"); + pci_setup_iommu(h->bus, &raven_iommu_ops, s); } =20 static void raven_pcihost_initfn(Object *obj) { - PCIHostState *h =3D PCI_HOST_BRIDGE(obj); PREPPCIState *s =3D RAVEN_PCI_HOST_BRIDGE(obj); MemoryRegion *address_space_mem =3D get_system_memory(); =20 @@ -278,8 +280,6 @@ static void raven_pcihost_initfn(Object *obj) memory_region_add_subregion_overlap(address_space_mem, PCI_IO_BASE_ADD= R, &s->pci_io_non_contiguous, 1); memory_region_add_subregion(address_space_mem, 0xc0000000, &s->pci_mem= ory); - pci_root_bus_init(&s->pci_bus, sizeof(s->pci_bus), DEVICE(obj), NULL, - &s->pci_memory, &s->pci_io, 0, TYPE_PCI_BUS); =20 /* Bus master address space */ memory_region_init(&s->bm, obj, "bm-raven", 4 * GiB); @@ -290,10 +290,6 @@ static void raven_pcihost_initfn(Object *obj) get_system_memory(), 0, 0x80000000); memory_region_add_subregion(&s->bm, 0 , &s->bm_pci_memory_alia= s); memory_region_add_subregion(&s->bm, 0x80000000, &s->bm_ram_alias); - address_space_init(&s->bm_as, &s->bm, "raven-bm"); - pci_setup_iommu(&s->pci_bus, &raven_iommu_ops, s); - - h->bus =3D &s->pci_bus; } =20 static void raven_pcihost_class_init(ObjectClass *klass, const void *data) --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638037; cv=none; d=zohomail.com; s=zohoarc; b=GQ8u3GQAj168lve2OkSuvW8vOdqxxc6Ki38aLNxUFapq1j0ri37W7LKC18w6YKv9al8fD2FDPhMtnvIOnffjVyPtJG8wHsZf3kgru4fp1zDB7tQ2lQePDdADWP/Da9qA5whRqIfxtr91pNvcOfub7akoqtJEwg+50pwnKzIyphE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638037; 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=/qetPs5lSPgCgvhVMykRD8ni1yPZazQy3tqwaS7dIqw=; b=Mj60k1wmAuu6qMDCqlUTYj8x6FOHL8gwxFQMkiijtRPvfyoyQ5wo79BCejBRP8CXPctC1tysNWPFGFRcqmzkeO3UmFnbBP8lq8juy8hZ2cItPML+NRHPwv+XBVbxAFaW/mGyaoFZGol0QzOH05CxtfH7figWz20Z8JFyNnY+46Y= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17616380378731017.8174314219344; Tue, 28 Oct 2025 00:53:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeW3-0003mJ-Tb; Tue, 28 Oct 2025 03:53: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 1vDeVg-0003f6-MS for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:53 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeVc-0007fV-0D for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:52:52 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3f2cf786abeso3274582f8f.3 for ; Tue, 28 Oct 2025 00:52:45 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd4cc596sm184295305e9.15.2025.10.28.00.52.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:52:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637963; x=1762242763; 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=/qetPs5lSPgCgvhVMykRD8ni1yPZazQy3tqwaS7dIqw=; b=oJuPf9MFIvyjeEAMaf4nFnReIQTtNSSkWQXYeSekcH5zBsUW/JH3RR6TzxsDsMAmUL 1FiqNbRSLl9vk8s7BHNTmbZ3b7pkaRyrdobAIQEzXFapo/z1eOQhts2fOE2saxbwnCEE pdCtPZb7ju1bUPQKTEjNPJvnsmxbj8039hy9pQ+xgVvlSNEoN2wywkuBJ/YGEAkEndyv 2xcgtvURvrp4w5o7cE1nUBlXBG93NzYC9rx/tQo1SstvgIkmVcBPCZOOO1V/WBy8U1g2 3GGxg21xEv2qbxhdaLpw9wL23/Ewpq321HY+oK4RkaGN53xco3L/JlsSn3hlGkOeHdoa Rz0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637963; x=1762242763; 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=/qetPs5lSPgCgvhVMykRD8ni1yPZazQy3tqwaS7dIqw=; b=QnDpNT9txYAKUjRjqzVLx5ySap5DgziWzEqbS/5B/nCQ8R8oWogUoutIxA6N/hxslm aY6+iMZGdUMW27lLHBNcmnnJoavcFCuwRXFxCHtsca32NXgyWwhupYrRDNvsELCPrORk +qyZuV6Tms3zGCgmlGfVdBS+frfdMrijsY1ehDMK3FsdZigFiYQ7SrfhG1TtShjoNfIG q3oa7vjUabLC7B8ielIy9fRiJyWvGEbzsYibhVoyB7cBgSWOYeEF5g0J/wvIcDqYwLq3 +jLslpy0G3Mlmo1SDxY7BZcXUDrjubBd6qcw69PF/yB9kPN+fU8q0BDG8kdYbg/VGHHZ W5FQ== X-Gm-Message-State: AOJu0Yx0OK5W+TULBli1yQZjSAGCdZKaemQbQdaUyRgdx85aTUOczUCQ z3kPeaoG+4ZbxLo9Kgz35VUBUnr+uMvJ781P3u7jkaLK88dH0WeLKCKwkxleMxrQRA2KgCfgZcm OyW/eJyc= X-Gm-Gg: ASbGnctAYuWcgWf9TKq+gHz/Sjk3u7Q8LmTkiGTiVLehIoeiObY+HJiBQoD8Lr8bvpC gX0GNSK0URIBbAxryFx5Stbzeu/GwMDvnjXQp+MsvFsSN0b/wB0L9WwE5FPEMuPiWEOej3yESOw Dvcvi9NtAF+RbWxwb1bFRMpu/eLLZxGy2ed+I7yDk2fW0cpDXVfHe2pKL59OoRuZDDFWihhKJ5K DwCGPiD2V5my7bjsvdMOfqvCZuqUXCQ6DZ7/IIRZQrYM4SL8tqr08zpKGY4YiaJfbESXiddoW3G ZVt0n+A4yC/y/EZsesowUoEz2wKxjf8v7W0n6HtX5LwesxKaKZigmJ6Eix5EnWM4XFlnP+yYWvs FTywYXUS63NWTWb/vnMCjzjaieHdP/mth5AChSAQgzWzuYYU3yyeIIWMCEx3EysIYPQDu42AqXf 3dqRAlA8X2CUnzRvahg8WNkLda62+zmT7YbwNYK151PgKCZkjIWj5URqg= X-Google-Smtp-Source: AGHT+IHrZKKvda/FZnIVCQLcv0ZzZHA9d2UpJJYXqH7IE3Qy6/XvxddK236sfn2QVUIuwKcOrYf2LQ== X-Received: by 2002:a05:600c:4686:b0:471:15bb:ad7b with SMTP id 5b1f17b1804b1-47717deeb8cmr22743985e9.6.1761637962776; Tue, 28 Oct 2025 00:52:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland , Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Eduardo Habkost Subject: [PULL 10/23] hw/qdev: Have qdev_get_gpio_out_connector() take const DeviceState arg Date: Tue, 28 Oct 2025 08:48:46 +0100 Message-ID: <20251028074901.22062-11-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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 @linaro.org) X-ZM-MESSAGEID: 1761638040913154100 This getter doesn't update any DeviceState internal fields, make it const. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-Id: <20251024190416.8803-2-philmd@linaro.org> --- include/hw/qdev-core.h | 3 ++- hw/core/gpio.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index a7bfb10dc70..2caa0cbd26f 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -725,7 +725,8 @@ void qdev_connect_gpio_out_named(DeviceState *dev, cons= t char *name, int n, * * Return: qemu_irq associated with GPIO or NULL if un-wired. */ -qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, i= nt n); +qemu_irq qdev_get_gpio_out_connector(const DeviceState *dev, + const char *name, int n); =20 /** * qdev_intercept_gpio_out: Intercept an existing GPIO connection diff --git a/hw/core/gpio.c b/hw/core/gpio.c index 6e32a8eec61..c7c2936fc55 100644 --- a/hw/core/gpio.c +++ b/hw/core/gpio.c @@ -129,7 +129,8 @@ void qdev_connect_gpio_out_named(DeviceState *dev, cons= t char *name, int n, g_free(propname); } =20 -qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, i= nt n) +qemu_irq qdev_get_gpio_out_connector(const DeviceState *dev, + const char *name, int n) { g_autofree char *propname =3D g_strdup_printf("%s[%d]", name ? name : "unnamed-gpio-out", n); --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638043; cv=none; d=zohomail.com; s=zohoarc; b=WHkX1JQVjzfbZYSn2nd8b+ZD+9hMwPDyt8zl43iy0c34PD8+a7Yk2anw1EoPFmZuEiGgk+R8D/MCdLc/xJYzLqpfKmeYJ11HZh5PrPMqtJHvbauwblVPqVInJMn+vU91Hwgfd+R3dX1BlrB6psa6xzyJW/Vp/85vElesVAb8PkE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638043; 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=wfxMyfRhymW2+pro7iyHUD4s7/sami6rn5TnQpiWkU4=; b=g4o2fno7NNqkTBzqjXVAAQe9jNuGpZGUA4JULW73V9TTtPDq++t0IbnCqOMllA1Al8HqetYV1AxwR7bbQ3OvSJP7p6tMFIW1X5s/bNtF3L2flacN6DhTQ6eVpRNinew3GTLSzAHwBpvwAvSqF6deKcJQR01Bn/0ARTekFZdN56M= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638043900561.3333982632943; Tue, 28 Oct 2025 00:54:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeWW-0004Vz-5J; Tue, 28 Oct 2025 03:53: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 1vDeW0-0003sd-Te for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:19 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeVw-0007hd-8p for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:12 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4770e7062b5so16819405e9.2 for ; Tue, 28 Oct 2025 00:53:06 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952de4a1sm18811924f8f.37.2025.10.28.00.53.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:53:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761637984; x=1762242784; 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=wfxMyfRhymW2+pro7iyHUD4s7/sami6rn5TnQpiWkU4=; b=fD/RVtOG45T3u6jIYbGyORwGJCytYLHX3cjA2T3B9FA3CX3s/3cQfRJ9JX/OHwia9F 8WuFvotSeh5olj8mC4m04iR4uJp7Np2+3ul6yZXdFGkwycFsqOmA3xP89QdNTLtxN7yt BbUrkouHIjkTst1sh+neKQBwiGJzM34baAufKPLwJGP3adBiZN6RP7HJYdjQ1CbpJ6vy UZEftxaFXFar6fLSkXNZBz9gJOMq5TtMB06gcyaF7GZW59v8kwACWmbsDBB+PTXvZUT0 8/YdsLpJmGQDccA9cpQaKetZRaFrUD87faCAH3HO5q+ibsQeEP98QU2UJ+YMyoEBhxlV mmgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761637984; x=1762242784; 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=wfxMyfRhymW2+pro7iyHUD4s7/sami6rn5TnQpiWkU4=; b=FwiI66UveQVY0Bl1/wB+gcGnidahFJJvWCgMaOVzLRNaW7hheQx6QSPMq0NfRgFmKJ MKdxAHvLpBIORv/FYLa+x+KBir3sTcfXVM5Skb+TJ93VobDCJRLOAM7d3wJK6e5TsHLU 6dJ+T8MtO0TCwvD99EjbwvyKViuI/lFGnNcBIBe94tTsBK/qlOi8uh06qQIScCWCt9Lb dwcfMoEesZR5D7GLpwkeDmf5TPWdd+0zCpNBqRMSMQinQ6q49p9yr/kFieipNOEI4VfS OB9PD5IiR1rMLHiR0WI3/NfIAwG+SI+OS7MPdQEjmplNP7/WPMGoRUpqNUPP1Sm+IVFw /pNw== X-Gm-Message-State: AOJu0YymiLGD0RFPqwVkeXSMXNLtGACdlSI0F7i6WZhzLr6dk9wzK+Dy EJUSoIPLD9BaPLA1JeVVgVWlEjLYiF6P5GHVIE0t7HdtsLzMqCrVLPlbOxMrap2ImEPyWRg4rQP WkggZrJs= X-Gm-Gg: ASbGncs//30eBv1FOnvBhO+qQLVo562VGaUDhHYwFzYqiuNlYPkZ2LV8A+gofRGK34r +I1Z2G2oCv+iaWNHCBdkgF8WY0XCoOYRSkYQ6OyKlRtoVTDs2vRW/JGzFAnTHPACVaOO88x6n+P bksh2JGAy0ZG827CuqMOM2gMSr+/k0rDqFNBKAZXXJ2HIknJiABByQr0EgO7bX6Gp2UFXzZA3Fo GIc7z5l/Hr2YwHo15w6PQB4pQN53X4zdr88GkzbtvrLwo5pgFbaffqCLLv9IWhSwuDodx2IfU4B PfOGvYb3mn54WJDMeIQRD4av8TuU05KsS64RZTNJzV173JZqQtAoUWRq71l12+JDlq8iDYK88b3 nAIgP2iQycdPCq2Tr1QiQehbvLwN9ROX074WShSZBjSwjuhLdc/2Fv51B1QDWPCHX799K9m/+9E 6eRd+hFRvwyjVzmwDPbT0ZZUUmlmjhHxn2nkd6mV4P6aLctSutzcwylGg= X-Google-Smtp-Source: AGHT+IFOB9T73BS/pQsKvdAVhHtUvlr9uw/r/iy2bUvEswUU4YRBRFEkGo2+RBVOb8eySagDT8pGkQ== X-Received: by 2002:a05:600c:34c8:b0:471:c72:c7f8 with SMTP id 5b1f17b1804b1-47717e4df73mr17623005e9.21.1761637984432; Tue, 28 Oct 2025 00:53:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland , Paolo Bonzini , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Eduardo Habkost Subject: [PULL 11/23] hw/sysbus: Have various helpers take a const SysBusDevice argument Date: Tue, 28 Oct 2025 08:48:47 +0100 Message-ID: <20251028074901.22062-12-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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 @linaro.org) X-ZM-MESSAGEID: 1761638060606154100 These getters don't update any SysBusDevice internal fields, make the argument const. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-Id: <20251024190416.8803-3-philmd@linaro.org> --- include/hw/sysbus.h | 10 +++++----- hw/core/sysbus.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h index 18fde8a7b48..69eb62e29c8 100644 --- a/include/hw/sysbus.h +++ b/include/hw/sysbus.h @@ -70,17 +70,17 @@ struct SysBusDevice { typedef void FindSysbusDeviceFunc(SysBusDevice *sbdev, void *opaque); =20 void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *memory); -MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n); +MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n); void sysbus_init_irq(SysBusDevice *dev, qemu_irq *p); void sysbus_pass_irq(SysBusDevice *dev, SysBusDevice *target); void sysbus_init_ioports(SysBusDevice *dev, uint32_t ioport, uint32_t size= ); =20 =20 -bool sysbus_has_irq(SysBusDevice *dev, int n); -bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n); +bool sysbus_has_irq(const SysBusDevice *dev, int n); +bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n); void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq); -bool sysbus_is_irq_connected(SysBusDevice *dev, int n); -qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n); +bool sysbus_is_irq_connected(const SysBusDevice *dev, int n); +qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n); void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr); int sysbus_mmio_map_name(SysBusDevice *dev, const char*name, hwaddr addr); void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr, diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index ec69e877a2c..ae447c1196a 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -80,7 +80,7 @@ static void system_bus_class_init(ObjectClass *klass, con= st void *data) } =20 /* Check whether an IRQ source exists */ -bool sysbus_has_irq(SysBusDevice *dev, int n) +bool sysbus_has_irq(const SysBusDevice *dev, int n) { char *prop =3D g_strdup_printf("%s[%d]", SYSBUS_DEVICE_GPIO_IRQ, n); ObjectProperty *r; @@ -91,12 +91,12 @@ bool sysbus_has_irq(SysBusDevice *dev, int n) return (r !=3D NULL); } =20 -bool sysbus_is_irq_connected(SysBusDevice *dev, int n) +bool sysbus_is_irq_connected(const SysBusDevice *dev, int n) { return !!sysbus_get_connected_irq(dev, n); } =20 -qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n) +qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n) { DeviceState *d =3D DEVICE(dev); return qdev_get_gpio_out_connector(d, SYSBUS_DEVICE_GPIO_IRQ, n); @@ -114,7 +114,7 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_= irq irq) } =20 /* Check whether an MMIO region exists */ -bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n) +bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n) { return (n < dev->num_mmio); } @@ -190,7 +190,7 @@ void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *= memory) dev->mmio[n].memory =3D memory; } =20 -MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n) +MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n) { assert(n >=3D 0 && n < QDEV_MAX_MMIO); return dev->mmio[n].memory; --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638043; cv=none; d=zohomail.com; s=zohoarc; b=md+DEBFdwGfgqLVwd4H3n6KGnsJ3ZMWTJ1gan1cieGHBA8iwHQ43EDxM1CN42NyLfWZAR6cna8Uq+X7rIo22espeK/sKvaed0EQziD0OfKRR2Y2VqXJJOtE2pBlpmAavCOrBeCLKdhFs/Y4fe5DUBV3f2yOBfYxXuffHwWkIEBw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638043; 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=A4d66WWc5Hpw4yRePBR2zkZh6NCjsXXJl36Dw0QUZv0=; b=W1w1kbXwEady4yPgaXbh4F20iE53D/iq1dlhDM3M+r1UpgFtdfoE973HU61jJICfVnLLlWUr7e/zL6F2ZJk68wT5aZ8jt92U8d0HP06Z1WDjqWtCiU5TSU1tuA/oYMewA1CM847ADvgpuQ8WPAn/FxQNrBac5T9mHbtC3PhaNIk= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638043348704.912606037247; Tue, 28 Oct 2025 00:54:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeWc-00055H-Ay; Tue, 28 Oct 2025 03:53:51 -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 1vDeWO-00049a-6s for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:37 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeWG-0007jf-Lt for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:35 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-4711810948aso41142825e9.2 for ; Tue, 28 Oct 2025 00:53:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd47853csm182083155e9.13.2025.10.28.00.53.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:53:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638006; x=1762242806; 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=A4d66WWc5Hpw4yRePBR2zkZh6NCjsXXJl36Dw0QUZv0=; b=W1JGPHAD9A4f2UXepcV1q+LvNGoGg1gNVAaweokqCfdv8L966916IO2IhMjnZ8Fmna ZvUW/+CUqNfnYOk3GAlTQFvDiGzhe2bfl0GAccIx68n0apteqhp9+YsPtpBH3msuZjLc vu4lALWk+Hcsov254rLuDyQbTCl9dYtc9G/Yr1wl1CD+0vV0QWi22XGzaUutayS+AINe kIJDf1eizNH3hJYtuPQmFHQXMk7SoqVSCBm0u6shajSTZPc0HE5dPJWc1NFaFOiYuyCw 8wmMowjxgEyAEjd2DFBA/A2enEoCPmXN/0ITcORKP7w/qW2vig+RXuNw8Oszgw8C9iIH C/bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638006; x=1762242806; 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=A4d66WWc5Hpw4yRePBR2zkZh6NCjsXXJl36Dw0QUZv0=; b=Zb0WcNB7Wh0fj6Wv995wy43wHypZAsioo/9rP4ZgAhizC8366bAs0Dx2WZApNjnO0O oFDWC8ROQ5nJReIaim/FQpaUPY+4QXYGYH3QQxcplQXp/ayv4wn4DPb1s3WbCM+2ukoi 3Aqg5V75Nxp7XcJf5FC50xAnkXWvJV83Wyk0qQH5HfL4GZVSadbkX4oAPFIGKuymZ5P0 10FPLhBCJ/iAwhy6Kt/8U+AC5MEfrf4UIA6zgXiulg4vRYPdjuzXpUVifwbHfyi4Lqzx Gglj/LhnMQfnO0VOknZwzHqE+UUFT2M/WNnJ1b+HJq3p2s4oRYjMgb83b9xE6UMGGU7H X8hw== X-Gm-Message-State: AOJu0YyruHSF1ab0a9H3H5VbP+Scqn1wu2FSb+VmRXSq+i6DRnRQO7+H AjmDkkU4VTxgvJ3vicO7qUt8z8EtDgBripKxDwqw1D7WjG7K0ZmIk18//8pObIMgYzLTuH5eQMr ml+QLEtk= X-Gm-Gg: ASbGncvbcRjNKZnVhH47TbGV9lx0R0bZ+Vq/LKWU/K1QHa+gBcVC9yeJuOJ4W6SPjEc TapkyA95dGdcIjWmFZLWizaDcKVlEv6yfp8HYVYPZplm3vvw2noiPLHN0doDJGoVX/5PQmtIoIK koM6QUjTK3PjXlSCHVvQdDEZoDG+LQfh1SW1UamJC2WgGQzDOelWikkcYOZcNeam+Qyzhf38uvB fGgIbwWjIcIGcpWs4ishfFChQpDEzx30ZETEul7gnT0HjNBywht5mSvexXgwLOR1YSli33jjJwX BXHEPFndk5TOGTMChALlDOjDxE7jApPW0a5XIYmztSkV4pqYUCsDPT61pxbTX0JfCNeP4jtmq0p 3pHGUyyHBOos1fdLwRskKoX6bAlIipEHs6MQWCQX8CsB09QvQ72HvUo1u0Lb243fFeDHZz1m6Iv VjGim+7uMQzzIT6SFVsl2XeSewnPmmeajLM6foWQIM9k3y6KVxQ6w7HeY= X-Google-Smtp-Source: AGHT+IEgT0B3VI/CsozY+rCH2pFY7krDWXhRhOD+8a3+eHkLuQ4iBewIVhAip0Tx/ZXzlS3gQ2o5qA== X-Received: by 2002:a05:600c:45cc:b0:46e:37fc:def0 with SMTP id 5b1f17b1804b1-47717df9db5mr20101135e9.9.1761638005951; Tue, 28 Oct 2025 00:53:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Gerd Hoffmann Subject: [PULL 12/23] hw/uefi: Include missing 'system/memory.h' header Date: Tue, 28 Oct 2025 08:48:48 +0100 Message-ID: <20251028074901.22062-13-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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 @linaro.org) X-ZM-MESSAGEID: 1761638045027154100 "system/memory.h" header is indirectly pulled by "hw/sysbus.h". Include it explicitly to avoid when refactoring the latter: include/hw/uefi/var-service.h:50:39: error: field has incomplete type 'Me= moryRegion' (aka 'struct MemoryRegion') 50 | MemoryRegion mr; | ^ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Gerd Hoffmann Message-Id: <20251024190416.8803-14-philmd@linaro.org> --- include/hw/uefi/var-service.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/hw/uefi/var-service.h b/include/hw/uefi/var-service.h index f7ceac4ce24..91fb4a20918 100644 --- a/include/hw/uefi/var-service.h +++ b/include/hw/uefi/var-service.h @@ -9,6 +9,7 @@ #include "qemu/uuid.h" #include "qemu/queue.h" =20 +#include "system/memory.h" #include "hw/uefi/var-service-edk2.h" =20 #define MAX_BUFFER_SIZE (64 * 1024) --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638062; cv=none; d=zohomail.com; s=zohoarc; b=g3zIJu5FH+L6BPwkGhgBTJPJB4soP1Xju6OtXaqRH9yoIhWvzhQQ9fBVT8QkOommKDkyfwqI9yGRodCXK+IUg3H3ZphjT5FUZ6Im45e+icashigP0Bm9VjXNNAU5F5+9A5Lyasj0PBXHj/oyoWP4OAQWq7VLQRIkuIu8Q4TO+7I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638062; 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=tN9+o1MHirw7CB9gDKCqT7ChD79lp84JZH+uUf/YZy4=; b=kNqp2uTGF3RGJYXCuJp68ZksI82ZrpHVlEnBX1qHDj4MoH5gSSOHdPcgfgfCBJ3LkbWsy4PIP2b4SUOvs0Ue/QtRhifGcalVGigXcR5IT74cEdqpu5nb2z+KwjCmISqvhMftGbhl+6jAwVULd+3JnnloyICD763Pm7JUtVz9JrY= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638062215673.2307768087625; Tue, 28 Oct 2025 00:54:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeWm-0005VN-E5; Tue, 28 Oct 2025 03:54:00 -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 1vDeWk-0005Mo-8P for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:58 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450: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 1vDeWh-0007mk-1J for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:53:57 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-4298b865f84so3036273f8f.3 for ; Tue, 28 Oct 2025 00:53:54 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952cb7d1sm19038498f8f.16.2025.10.28.00.53.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:53:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638028; x=1762242828; 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=tN9+o1MHirw7CB9gDKCqT7ChD79lp84JZH+uUf/YZy4=; b=aaKnZGcHFMD7Xvfh3ODusj6JwHej1fvr+dV8KkVuUP8UVBUyrqa8KakBNwHXN9gsOM C1Q3mksG3AU+oOsIX24ALVjqwuax/pKVCwzjwuJMJ7naw26q6rDc8aKvZB04o7dM1mmX Gk909NgcSgGzwTt6KqbmGey1GiImf4P2vyDbY0/NLy4HainnGgAFMeKfTwiEzgIzgLWT 2kfJzxhmoqWVypOJlNmFn8knJvzROC2ykxtn2zm4KOx+fAJbccGjLn/k18h4odb8mI38 X1DFYI2n+siHd7SscZCkH0Bmbo4PH8Mma450qQAF+5bwqSEFyPhrcY8JKbmpN9qN8dh4 DdzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638028; x=1762242828; 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=tN9+o1MHirw7CB9gDKCqT7ChD79lp84JZH+uUf/YZy4=; b=mFHSpZ8lHn7qIHLIcf6rtr5VUcWyBBu6gI/ldSF+Rg5upq6lKC3LdEGK8T9roZ4yKQ CpzZNyrvGuEXSRb4JTE5qscYQ20yYryG1CMdfIUqe0zAijGMMM9gOjzBk/kLFJcGq4yi VRTDHGZpuISpB99dePbCbOPAkSKVjnM6EpBLgfAUez44KcC4eWUejDtgJ4QDZzHf3nNV 1iPWlFCKBy+EPuLzOgUOf2Gpz66UEJvteUsWjldba/T9UP4Kd83zeLHPxiVzsZ6ga9dv hBkQLJdVQDzsQDdnxG/hV1fvexBKmh2bYJ75kTK26JJX1uabfDw4i3wZhooZ8JtRTkp/ D8ug== X-Gm-Message-State: AOJu0YwbyxNQCFeIpjsi8Ukhk64aRq2nPKvUWL1p5XdIuxgyTozACsXd nGo3HBXzXY5WMTAYFOqIx06cemC489bDOs89DxHlkM6sf0jD6lxN/pX1TBxU8IhTLjgG72RVugk zzYSLwjU= X-Gm-Gg: ASbGncsmACERFcj3H/lejpsl0j5zuRtKSfVjOz1P2TUe2jrlcfnTM54MpNiz1ah4Gfd zbCM8km4fL6FEaSnCQ2bfphz3QVLTwFiIAy4IgHQozkRbQhqByEa80WNNNt8uHkMFJ8jTDP4Qki y6H2LfyLYpJ8uB3yOYAK6IGb5Hoi9VhzS6qaAzp7mglOshLGm331rbbFYFttG5IMBAVkfGYezVs 4J4sEbUiXFM7r/muoK3+Qc677I+13N2+gdmt6HfJqCnLUI0oEYFT5cu/gdgaj5yfvPa5z1iDd2H zyJ38c3coyoF6uvN9sSCuHSOXb2OUrT6LV0VWaHzrfhhmywySCx7QXh5o+oDjSs9Ee8I/glrxEO rKrmFpn8zOf47vC7/kfoJ4RQ1tbRgOhncVW4Ytt2F/O5d5Qhmxm9iJH2gaLRxORqqMjIE34i2bM M8v3Tvl1qhbOv13JkwnokIpgMOcK4x5wqZNJIzf7sWo1ejMRYESN+00Ig= X-Google-Smtp-Source: AGHT+IHcABFnH8jE6bCqVHBwVQZ1rbYW7Px8FRvCeLCO0Zc/zDrPxji2Ec2Ao+VKZr0F6rkIZRrcGg== X-Received: by 2002:a05:6000:1aca:b0:426:ee44:6d9 with SMTP id ffacd0b85a97d-429a7e52be4mr1745993f8f.21.1761638027701; Tue, 28 Oct 2025 00:53:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bibo Mao , Song Gao , Jiaxun Yang , Huacai Chen Subject: [PULL 13/23] hw/int/loongarch: Include missing 'system/memory.h' header Date: Tue, 28 Oct 2025 08:48:49 +0100 Message-ID: <20251028074901.22062-14-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-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=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 @linaro.org) X-ZM-MESSAGEID: 1761638090885154100 "system/memory.h" header is indirectly pulled by "hw/sysbus.h". Include it explicitly to avoid when refactoring the latter: In file included from ../../hw/intc/loongson_ipi.c:9: In file included from /Users/philmd/source/qemu/include/hw/intc/loongson_= ipi.h:12: include/hw/intc/loongson_ipi_common.h:37:18: error: field has incomplete = type 'MemoryRegion' (aka 'struct MemoryRegion') 37 | MemoryRegion ipi_iocsr_mem; | ^ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Bibo Mao Message-Id: <20251024190416.8803-21-philmd@linaro.org> --- include/hw/intc/loongarch_dintc.h | 2 +- include/hw/intc/loongarch_extioi_common.h | 1 + include/hw/intc/loongarch_pch_msi.h | 1 + include/hw/intc/loongarch_pic_common.h | 1 + include/hw/intc/loongson_ipi_common.h | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/hw/intc/loongarch_dintc.h b/include/hw/intc/loongarch_= dintc.h index 0b0b5347b2c..01bb1e465cb 100644 --- a/include/hw/intc/loongarch_dintc.h +++ b/include/hw/intc/loongarch_dintc.h @@ -8,7 +8,7 @@ #include "qom/object.h" #include "hw/sysbus.h" #include "hw/loongarch/virt.h" - +#include "system/memory.h" =20 #define NR_VECTORS 256 =20 diff --git a/include/hw/intc/loongarch_extioi_common.h b/include/hw/intc/lo= ongarch_extioi_common.h index c021ccee0fa..1bd2bfa07fc 100644 --- a/include/hw/intc/loongarch_extioi_common.h +++ b/include/hw/intc/loongarch_extioi_common.h @@ -10,6 +10,7 @@ #include "qom/object.h" #include "hw/sysbus.h" #include "hw/loongarch/virt.h" +#include "system/memory.h" =20 #define LS3A_INTC_IP 8 #define EXTIOI_IRQS (256) diff --git a/include/hw/intc/loongarch_pch_msi.h b/include/hw/intc/loongarc= h_pch_msi.h index b8586fb3b6f..ef4ec4fdeb8 100644 --- a/include/hw/intc/loongarch_pch_msi.h +++ b/include/hw/intc/loongarch_pch_msi.h @@ -6,6 +6,7 @@ */ =20 #include "hw/sysbus.h" +#include "system/memory.h" =20 #define TYPE_LOONGARCH_PCH_MSI "loongarch_pch_msi" OBJECT_DECLARE_SIMPLE_TYPE(LoongArchPCHMSI, LOONGARCH_PCH_MSI) diff --git a/include/hw/intc/loongarch_pic_common.h b/include/hw/intc/loong= arch_pic_common.h index 675ba96e64e..179361eb567 100644 --- a/include/hw/intc/loongarch_pic_common.h +++ b/include/hw/intc/loongarch_pic_common.h @@ -9,6 +9,7 @@ =20 #include "hw/loongarch/virt.h" #include "hw/sysbus.h" +#include "system/memory.h" =20 #define PCH_PIC_INT_ID 0x00 #define PCH_PIC_INT_ID_VAL 0x7 diff --git a/include/hw/intc/loongson_ipi_common.h b/include/hw/intc/loongs= on_ipi_common.h index e58ce2aa1c4..4fa03bc351f 100644 --- a/include/hw/intc/loongson_ipi_common.h +++ b/include/hw/intc/loongson_ipi_common.h @@ -11,6 +11,7 @@ #include "qom/object.h" #include "hw/sysbus.h" #include "exec/memattrs.h" +#include "system/memory.h" =20 #define IPI_MBX_NUM 4 =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638074; cv=none; d=zohomail.com; s=zohoarc; b=Z5tSMZWPRjbxhLZzbASi1Nzs5UKHi9KslUMoi2C71uQEIYDAgEXD6MhyZ9VT9jjle1RuekjKXO6JKxAmEOuLCc1ySKuTYyiKoBzbxSp1Hoj/nqIBoApBIWrXNePDs7GAzLSIonI5j59GGFvaGfZrihYFOLM4AlNMQZLInF2XQRo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638074; 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=A1wTqGfxroYNlh7jZZ0rSRCtHsLrALGGJnp3dDpAgqg=; b=oD/NKIfiRJiX1CV9aDXum0QpB+2+cordhDlT7+2EbCA3AhOiauX4jpy4CD4zqqJUzVqLR2kYKgToveXd+v94yv7YT8g1EPYan8IaqD8UjnP2yMl2Az044sVQ0tllTd3GDe/m2vctEYgMCFiudDAdj2Zct8Jsbps3IQmb9qOX+LU= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638074740118.74444675383836; Tue, 28 Oct 2025 00:54:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeX7-0006Fh-RW; Tue, 28 Oct 2025 03:54:22 -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 1vDeX5-00061S-1w for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:54:19 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeWz-0007oa-Qt for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:54:18 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-475dd54d7cdso10541055e9.1 for ; Tue, 28 Oct 2025 00:54:12 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477184ff5a0sm14742405e9.6.2025.10.28.00.54.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638049; x=1762242849; 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=A1wTqGfxroYNlh7jZZ0rSRCtHsLrALGGJnp3dDpAgqg=; b=wJhfBtVzLUX2Bh214UEnMFJDj+QqdhzoLFa9CgUIQNk1j5WVPB9X0A/K/kmJE2Uskf 3jwecax4vPX89blMn+fRoHwOYm87BwJ3kGb/oZmatIS99Fk7YN1AAVCIrdY88i/xo2H6 e25TW/uh44DONbp0jXWFo4xEe7xcggCwdr3QU2r5cIOzBZAf0pqcXgzJWuI1fUIQ7FN9 gZKzfdX15WwSWDVwt47FQEaZDWv7anr36fmCZyRYmR+sU/nrx7Bhkd692vQioJJNiLAW NJc2SBkNCqgWlEMKJsCsy9oP8AOpMQhGeQd2i5g8ijSsreVTulabL0aQShzIRHJnddND qEIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638049; x=1762242849; 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=A1wTqGfxroYNlh7jZZ0rSRCtHsLrALGGJnp3dDpAgqg=; b=b5xWIDCuT1GQSWui/XnLhAiqmbw1WiSQ47jwHD7AD0aC35vPhwpOxlYWS6EFkgr4hv AQi1VMPJQQj+RjztLj0WmvmEr4u1HOijj+1dM/eFL0vWnZ/Kx+Sys6fy99zT4RzI161q Obl4uGH+Tu84ks7rEcCbgLQgBbg6T0ubdwqhRxI8BfKZQooKmw1I10BRsiwnAyH3+px8 4DKu5kLFshObp+roHg8sVo6bsFcDrYv2HwlN50QK2GUaxWEyiAXezDo7/CHkinh+zQM/ GeYo004FIjcfAAIEFkDBrFKQu4reqT3uutUkNFXLRl8ww1hOyaqx7AX1Rg0hsZvX3RSy A4Pg== X-Gm-Message-State: AOJu0YwbemDh+ZR9t4cPB/uNlZ10psIELkM48ilE9r7P6mqti7iINsff H5gfopNRTkjOgi8VtCAAWzk5yYCr2RB2Qe3cAdNMjARONpRxYGtWd6H3sbGq9hFTRBmroIWH0rj kiGbdwQo= X-Gm-Gg: ASbGncuozaWM/uzgdAcULKaxtruNkjo8BirhOUtafJaa7acuETJpUanEXZImu6B5Rt9 NT45AvrqO9fr+KTifhA9m+bKRWbgu7nC09bCqCo1F9Itxrsw1YVWwx/91cvNB0Cjvi+yMORbZ64 9qzOtZbDuTC/XrrrQCQsm/iVRVt1dClwW2kBWP6BsqiBPkFBBqBWpjCcWH9dePjRlFS+YebiXcz P5tZCMpA0OLU+ZmRDxFD6TjcJLn5INftIk1LZHosGaZpyhw/kClUzoOeyW084Ka/F/YpulXhhaZ lR9E/mSKnJntUP2/+JaSGra8gN2ogVJin0Kig1Y+uuWNPvsYmXh3y8TMARoZj3M7kThs8rkM6cv Zefoo3i44+TDE7WW5CrWVIMIrC/+obIbXXaSfO9YPpYVcrRLXhwWAN9IKM6vvuU+IMb24kbx/Br TzPSZnLIi73aGoMZyMjdrXBN47TCj8+snPHUMAekMQcLcBJtQXCsbj2xs= X-Google-Smtp-Source: AGHT+IHzMjeoNH1FNiov7bailjR0kfGRCe945nTHWe/NpzoLLvG2p5nbrnDm+uv+YLheRb30msxPQg== X-Received: by 2002:a05:600c:4ecc:b0:46e:37a7:48d1 with SMTP id 5b1f17b1804b1-47717e6ac1cmr23026255e9.34.1761638049412; Tue, 28 Oct 2025 00:54:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 14/23] hw/core/loader: Use qemu_open() instead of open() in get_image_size() Date: Tue, 28 Oct 2025 08:48:50 +0100 Message-ID: <20251028074901.22062-15-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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 @linaro.org) X-ZM-MESSAGEID: 1761638077315154100 From: Vishal Chourasia Replace open() with qemu_open() which provides better error handling via the Error object, automatically sets O_CLOEXEC, and supports FD passing with /dev/fdset. Currently pass errp argument as NULL. Suggested-by: Daniel P. Berrang=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-4-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index 477661a0255..c9782d67e86 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -74,7 +74,7 @@ int64_t get_image_size(const char *filename) { int fd; int64_t size; - fd =3D open(filename, O_RDONLY | O_BINARY); + fd =3D qemu_open(filename, O_RDONLY | O_BINARY, NULL); if (fd < 0) return -1; size =3D lseek(fd, 0, SEEK_END); --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638173; cv=none; d=zohomail.com; s=zohoarc; b=cf0igCgVEMreLISLKI6GeGeA3iVL/nUamBuaDDevwJlBRgKqPz6geQuPGGf+SKPuvnbiLdfHC6uVYSb4kPohMZBvIUQGXa6CDwzLMPxN3fvdIci55okkLNc412Syv1VwHfF1HYyVF5Pvbf9hXJqYrQdwEZgkGK9XGPSvcSTyVrM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638173; 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=iEXf1iTNvju/0qCkmlIbqPXceBSmDEb0O/+ERD/Eqbk=; b=KDmnlTpqVGVAkKgeRvCAdxQqojzrooYxBeXWqctb3XPpSRWjYlgojk0nZirHNvtKz9cjf7DiNMI8qofaQSNbSbP1s8VN5lzu7uuutGHqFxEM1w05u3hSvIojrN4xP4UTaeF6ZapKh2yzNTbF5FxlQd7l7hRERPptBuKzGpiupms= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638173675309.6206462193412; Tue, 28 Oct 2025 00:56:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeXc-0007NW-15; Tue, 28 Oct 2025 03:54:52 -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 1vDeXS-0007CH-5y for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:54:45 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeXM-0007pv-Ff for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:54:41 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3ee64bc6b85so5752571f8f.3 for ; Tue, 28 Oct 2025 00:54:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952d5c9dsm19503426f8f.26.2025.10.28.00.54.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:54:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638074; x=1762242874; 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=iEXf1iTNvju/0qCkmlIbqPXceBSmDEb0O/+ERD/Eqbk=; b=mPVGqusQ/fZP5WIFHoFOQggtP1F2/FSQak0WJDUuOMxnASoEL09c/rhyaUT0BdaeJp 1TNS/0xCqErqIOHGtme0nZvO62kNp9MqSFUv8o7Uy59c60v+CFbHStt76NEGKKb1vLTE x+92tWPCUHIQnzZeKPBp/gLcy8Z2fbULiScVD9i1TR4joadmhROHnWCmYyJ9Dyc4eWag 16aKjwaUWt6bADok9xc6S4KNuouqRZTztafDujKqiszI06zAeMw5e7FTIRDP8E7arhr3 nX4PrDlr3YQZdRTdeuguUfIotSQGdC3mAuqWd5jVgmSlGBfuPGUWSSq5ihAZ057aJwPU 3QDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638074; x=1762242874; 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=iEXf1iTNvju/0qCkmlIbqPXceBSmDEb0O/+ERD/Eqbk=; b=Uv8WSM3mtZ/VUEPGxZbyZxUG/TC/et293HqlMBOwGpMn1XTN69E0afBTJgwGl801U5 yTuNGx1dXv1ChOSs+nW86/c4N5Rd+zilxXneMk8wAYtp1oPTdNRhP+VPAj8/ZAoaE1ek afi6iFbKokZCCpZGMPga0YQ0qxDUQC9hXSMLNZJsvDhLhKxbMp5yITas+XehXLvM4psT Iu4HkMrpXGAnRB1Z81SMoleKrLlcSAHU2V0MQiyD5pz68bDEuWXhCGV7cnz8SRWR0JwL VGVO3aGhF4xTMolAaKtasYMtlGoKMYROW1yqIQBIWESIa/RH4+2Vfz8eZkaZlKKvTxYa vHbg== X-Gm-Message-State: AOJu0YyBl8EyvmtxaQ1ZcRW3793WsVrV5f4Rhle7vyfSXSVREGi7smWP 6zijoCQUX+mrmFf///WQv9vPs8C+XUxyGCld92wAncOATgmVaZj68I5lwX77+US0JqxwlgQjBwx U7S0xI0c= X-Gm-Gg: ASbGncsY/LvOLoBzbs9NF7Tav+viA9Xq9t2bLWuRyx9bByJ7RlX4rlGzh9LfFXYGpdR KtZA/tVESINSlGsZcTwCDcSXQE3jHZqJMiI6l1hEhWyKAA/7HVcq4LaJX/Dq7OCtq7DXElZT2xc h9GWvrh2W4Y1+t8aGwmLNpayBkUaaOEGZyRdc0lIWmmsug5Cm64tN3QZOX9RKv+K0Fx6C4SGxkS n9+Er0hsNU5tczoThN++BAAw//V55EE/EAKSkNauQ/VNDzK79CdrNMRJ7ByrtNw4iOhqB7dBTbl jKw0xrnTGO1MPKvAFlc1Gqad5pRy+pOT2M7Fi5J6E53D5wlQDQSR8jjdj4X4SBY1r+iUELAX5J0 ToHScc6QUOqssrzEpAz/dFWujvCnLnc0y9EIoGNABChereyulgo2v0cvV1mR0VbvjCqNAzWta8W xn7ap0dRjK8/mYgt4aFmX6fAnTf2me9+xTkNGj5KnDQYzxs7T9ppa7kgk= X-Google-Smtp-Source: AGHT+IFf13OU1ZPusAWSPVHihsiwy391vLPhdFrs6JeMIwxTttzkkwHZp/kMhWxFQJCzm2Y24v+pZQ== X-Received: by 2002:a05:6000:2406:b0:427:847:9d59 with SMTP id ffacd0b85a97d-429a7e7a6c4mr2205809f8f.45.1761638073322; Tue, 28 Oct 2025 00:54:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aditya Gupta , Richard Henderson , Antony Pavlov , Rob Herring , Alistair Francis , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Helge Deller , "Michael S. Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , Eduardo Habkost , Corey Minyard , Song Gao , Bibo Mao , Jiaxun Yang , Thomas Huth , Laurent Vivier , "Edgar E. Iglesias" , Paul Burton , Aleksandar Rikalo , Huacai Chen , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aurelien Jarno , Stafford Horne , BALATON Zoltan , Bernhard Beschow , Mark Cave-Ayland , Nicholas Piggin , Glenn Miles , Harsh Prateek Bora , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Yoshinori Sato , Christian Borntraeger , Jared Rossi , Zhuoying Cai , Halil Pasic , Eric Farman , Matthew Rosato , David Hildenbrand , Ilya Leoshkevich , Magnus Damm , Igor Mammedov , Ani Sinha , =?UTF-8?q?Cl=C3=A9ment=20Chigot?= , Frederic Konrad , Artyom Tarasenko , Max Filippov , David Gibson , qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org, qemu-s390x@nongnu.org Subject: [PULL 15/23] hw/core/loader: capture Error from load_image_targphys Date: Tue, 28 Oct 2025 08:48:51 +0100 Message-ID: <20251028074901.22062-16-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.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 @linaro.org) X-ZM-MESSAGEID: 1761638176960158500 From: Vishal Chourasia Add Error **errp parameter to load_image_targphys(), load_image_targphys_as(), and get_image_size() to enable better error reporting when image loading fails. Pass NULL for errp in all existing call sites to maintain current behavior. No functional change intended in this patch. Suggested-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aditya Gupta Tested-by: Aditya Gupta Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-6-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/loader.h | 8 +++++--- hw/alpha/dp264.c | 4 ++-- hw/arm/armv7m.c | 2 +- hw/arm/boot.c | 5 +++-- hw/arm/digic_boards.c | 2 +- hw/arm/highbank.c | 3 ++- hw/arm/raspi.c | 2 +- hw/arm/vexpress.c | 2 +- hw/core/generic-loader.c | 3 ++- hw/core/guest-loader.c | 2 +- hw/core/loader.c | 16 +++++++++------- hw/hppa/machine.c | 5 +++-- hw/i386/multiboot.c | 2 +- hw/i386/x86-common.c | 4 ++-- hw/ipmi/ipmi_bmc_sim.c | 2 +- hw/loongarch/boot.c | 5 ++--- hw/m68k/an5206.c | 2 +- hw/m68k/mcf5208.c | 4 ++-- hw/m68k/next-cube.c | 2 +- hw/m68k/q800.c | 7 ++++--- hw/m68k/virt.c | 4 ++-- hw/microblaze/boot.c | 5 +++-- hw/mips/boston.c | 2 +- hw/mips/fuloong2e.c | 9 +++++---- hw/mips/jazz.c | 2 +- hw/mips/loongson3_virt.c | 10 ++++++---- hw/mips/malta.c | 9 +++++---- hw/nubus/nubus-device.c | 2 +- hw/openrisc/boot.c | 5 +++-- hw/pci/pci.c | 2 +- hw/ppc/amigaone.c | 4 ++-- hw/ppc/e500.c | 5 +++-- hw/ppc/mac_newworld.c | 9 ++++++--- hw/ppc/mac_oldworld.c | 9 ++++++--- hw/ppc/pegasos2.c | 5 +++-- hw/ppc/pnv.c | 9 ++++++--- hw/ppc/ppc440_bamboo.c | 3 ++- hw/ppc/prep.c | 8 +++++--- hw/ppc/sam460ex.c | 3 ++- hw/ppc/spapr.c | 8 ++++---- hw/ppc/virtex_ml507.c | 5 +++-- hw/riscv/boot.c | 7 ++++--- hw/rx/rx-gdbsim.c | 2 +- hw/s390x/ipl.c | 8 +++++--- hw/sh4/r2d.c | 8 +++++--- hw/smbios/smbios.c | 2 +- hw/sparc/leon3.c | 4 ++-- hw/sparc/sun4m.c | 8 +++++--- hw/sparc64/sun4u.c | 7 ++++--- hw/xtensa/xtfpga.c | 3 ++- system/device_tree.c | 2 +- 51 files changed, 145 insertions(+), 106 deletions(-) diff --git a/include/hw/loader.h b/include/hw/loader.h index c96b5e141c6..d035e72748a 100644 --- a/include/hw/loader.h +++ b/include/hw/loader.h @@ -1,6 +1,7 @@ #ifndef LOADER_H #define LOADER_H #include "hw/nvram/fw_cfg.h" +#include "qemu/typedefs.h" =20 /* loader.c */ /** @@ -10,7 +11,7 @@ * Returns the size of the image file on success, -1 otherwise. * On error, errno is also set as appropriate. */ -int64_t get_image_size(const char *filename); +int64_t get_image_size(const char *filename, Error **errp); /** * load_image_size: load an image file into specified buffer * @filename: Path to the image file @@ -41,7 +42,8 @@ ssize_t load_image_size(const char *filename, void *addr,= size_t size); * Returns the size of the loaded image on success, -1 otherwise. */ ssize_t load_image_targphys_as(const char *filename, - hwaddr addr, uint64_t max_sz, AddressSpace = *as); + hwaddr addr, uint64_t max_sz, AddressSpace = *as, + Error **errp); =20 /**load_targphys_hex_as: * @filename: Path to the .hex file @@ -61,7 +63,7 @@ ssize_t load_targphys_hex_as(const char *filename, hwaddr= *entry, * an AddressSpace. */ ssize_t load_image_targphys(const char *filename, hwaddr, - uint64_t max_sz); + uint64_t max_sz, Error **errp); =20 /** * load_image_mr: load an image into a memory region diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index 19562b59674..b6155646ef7 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -182,7 +182,7 @@ static void clipper_init(MachineState *machine) long initrd_base; int64_t initrd_size; =20 - initrd_size =3D get_image_size(initrd_filename); + initrd_size =3D get_image_size(initrd_filename, NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -192,7 +192,7 @@ static void clipper_init(MachineState *machine) /* Put the initrd image as high in memory as possible. */ initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base); + ram_size - initrd_base, NULL); =20 address_space_stq(&address_space_memory, param_offset + 0x100, initrd_base + 0xfffffc0000000000ULL, diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index cea3eb49ee5..c4a9c3ac529 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -611,7 +611,7 @@ void armv7m_load_kernel(ARMCPU *cpu, const char *kernel= _filename, NULL, ELFDATA2LSB, EM_ARM, 1, 0, as); if (image_size < 0) { image_size =3D load_image_targphys_as(kernel_filename, mem_bas= e, - mem_size, as); + mem_size, as, NULL); } if (image_size < 0) { error_report("Could not load kernel '%s'", kernel_filename); diff --git a/hw/arm/boot.c b/hw/arm/boot.c index e77d8679d88..b91660208f5 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -964,7 +964,8 @@ static void arm_setup_direct_kernel_boot(ARMCPU *cpu, /* 32-bit ARM */ entry =3D info->loader_start + KERNEL_LOAD_ADDR; kernel_size =3D load_image_targphys_as(info->kernel_filename, entr= y, - ram_end - KERNEL_LOAD_ADDR, a= s); + ram_end - KERNEL_LOAD_ADDR, a= s, + NULL); is_linux =3D 1; if (kernel_size >=3D 0) { image_low_addr =3D entry; @@ -1025,7 +1026,7 @@ static void arm_setup_direct_kernel_boot(ARMCPU *cpu, info->initrd_start, ram_end - info->initrd_start, - as); + as, NULL); } if (initrd_size < 0) { error_report("could not load initrd '%s'", diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 466b8b84c0e..de56991baca 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -97,7 +97,7 @@ static void digic_load_rom(DigicState *s, hwaddr addr, exit(1); } =20 - rom_size =3D load_image_targphys(fn, addr, max_size); + rom_size =3D load_image_targphys(fn, addr, max_size, NULL); if (rom_size < 0 || rom_size > max_size) { error_report("Couldn't load rom image '%s'.", filename); exit(1); diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index 165c0b741a5..ff987467a99 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -235,7 +235,8 @@ static void calxeda_init(MachineState *machine, enum cx= machines machine_id) if (machine->firmware !=3D NULL) { sysboot_filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->= firmware); if (sysboot_filename !=3D NULL) { - if (load_image_targphys(sysboot_filename, 0xfff88000, 0x8000) = < 0) { + if (load_image_targphys(sysboot_filename, 0xfff88000, 0x8000, + NULL) < 0) { error_report("Unable to load %s", machine->firmware); exit(1); } diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 9d9af63d654..fbf3e09c030 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -230,7 +230,7 @@ static void setup_boot(MachineState *machine, ARMCPU *c= pu, ? FIRMWARE_ADDR_2 : FIRMWARE_ADDR_3; /* load the firmware image (typically kernel.img) */ r =3D load_image_targphys(machine->firmware, firmware_addr, - ram_size - firmware_addr); + ram_size - firmware_addr, NULL); if (r < 0) { error_report("Failed to load firmware from %s", machine->firmw= are); exit(1); diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 35f8d05ea17..60cd375fe75 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -578,7 +578,7 @@ static void vexpress_common_init(MachineState *machine) exit(1); } image_size =3D load_image_targphys(fn, map[VE_NORFLASH0], - VEXPRESS_FLASH_SIZE); + VEXPRESS_FLASH_SIZE, NULL); g_free(fn); if (image_size < 0) { error_report("Could not load ROM image '%s'", machine->firmwar= e); diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index e72bbde2a23..6689847c33f 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -148,7 +148,8 @@ static void generic_loader_realize(DeviceState *dev, Er= ror **errp) =20 if (size < 0 || s->force_raw) { /* Default to the maximum size being the machine's ram size */ - size =3D load_image_targphys_as(s->file, s->addr, current_mach= ine->ram_size, as); + size =3D load_image_targphys_as(s->file, s->addr, + current_machine->ram_size, as, NULL); } else { s->addr =3D entry; } diff --git a/hw/core/guest-loader.c b/hw/core/guest-loader.c index 3db89d7a2e1..59f325ad9c5 100644 --- a/hw/core/guest-loader.c +++ b/hw/core/guest-loader.c @@ -101,7 +101,7 @@ static void guest_loader_realize(DeviceState *dev, Erro= r **errp) =20 /* Default to the maximum size being the machine's ram size */ size =3D load_image_targphys_as(file, s->addr, current_machine->ram_si= ze, - NULL); + NULL, NULL); if (size < 0) { error_setg(errp, "Cannot load specified image %s", file); return; diff --git a/hw/core/loader.c b/hw/core/loader.c index c9782d67e86..7aca4989ef0 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -48,6 +48,7 @@ #include "qapi/error.h" #include "qapi/qapi-commands-machine.h" #include "qapi/type-helpers.h" +#include "qemu/units.h" #include "trace.h" #include "hw/hw.h" #include "disas/disas.h" @@ -70,11 +71,11 @@ static int roms_loaded; =20 /* return the size or -1 if error */ -int64_t get_image_size(const char *filename) +int64_t get_image_size(const char *filename, Error **errp) { int fd; int64_t size; - fd =3D qemu_open(filename, O_RDONLY | O_BINARY, NULL); + fd =3D qemu_open(filename, O_RDONLY | O_BINARY, errp); if (fd < 0) return -1; size =3D lseek(fd, 0, SEEK_END); @@ -118,18 +119,19 @@ ssize_t read_targphys(const char *name, } =20 ssize_t load_image_targphys(const char *filename, - hwaddr addr, uint64_t max_sz) + hwaddr addr, uint64_t max_sz, Error **errp) { - return load_image_targphys_as(filename, addr, max_sz, NULL); + return load_image_targphys_as(filename, addr, max_sz, NULL, errp); } =20 /* return the size or -1 if error */ ssize_t load_image_targphys_as(const char *filename, - hwaddr addr, uint64_t max_sz, AddressSpace = *as) + hwaddr addr, uint64_t max_sz, AddressSpace = *as, + Error **errp) { ssize_t size; =20 - size =3D get_image_size(filename); + size =3D get_image_size(filename, errp); if (size < 0 || size > max_sz) { return -1; } @@ -150,7 +152,7 @@ ssize_t load_image_mr(const char *filename, MemoryRegio= n *mr) return -1; } =20 - size =3D get_image_size(filename); + size =3D get_image_size(filename, NULL); =20 if (size < 0 || size > memory_region_size(mr)) { return -1; diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index cddca69b938..ba894f8b1e9 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -495,7 +495,7 @@ static void machine_HP_common_init_tail(MachineState *m= achine, PCIBus *pci_bus, ram_addr_t initrd_base; int64_t initrd_size; =20 - initrd_size =3D get_image_size(initrd_filename); + initrd_size =3D get_image_size(initrd_filename, NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -516,7 +516,8 @@ static void machine_HP_common_init_tail(MachineState *m= achine, PCIBus *pci_bus, exit(1); } =20 - load_image_targphys(initrd_filename, initrd_base, initrd_size); + load_image_targphys(initrd_filename, initrd_base, initrd_size, + NULL); cpu[0]->env.initrd_base =3D initrd_base; cpu[0]->env.initrd_end =3D initrd_base + initrd_size; } diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c index 6e6b96bc345..78690781b74 100644 --- a/hw/i386/multiboot.c +++ b/hw/i386/multiboot.c @@ -337,7 +337,7 @@ int load_multiboot(X86MachineState *x86ms, *next_space =3D '\0'; } mb_debug("multiboot loading module: %s", one_file); - mb_mod_length =3D get_image_size(one_file); + mb_mod_length =3D get_image_size(one_file, NULL); if (mb_mod_length < 0) { error_report("Failed to open file '%s'", one_file); exit(1); diff --git a/hw/i386/x86-common.c b/hw/i386/x86-common.c index 7512be64d67..6e78f3d07d6 100644 --- a/hw/i386/x86-common.c +++ b/hw/i386/x86-common.c @@ -924,7 +924,7 @@ void x86_load_linux(X86MachineState *x86ms, exit(1); } =20 - dtb_size =3D get_image_size(dtb_filename); + dtb_size =3D get_image_size(dtb_filename, NULL); if (dtb_size <=3D 0) { fprintf(stderr, "qemu: error reading dtb %s: %s\n", dtb_filename, strerror(errno)); @@ -1025,7 +1025,7 @@ void x86_bios_rom_init(X86MachineState *x86ms, const = char *default_firmware, bios_name =3D MACHINE(x86ms)->firmware ?: default_firmware; filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (filename) { - bios_size =3D get_image_size(filename); + bios_size =3D get_image_size(filename, NULL); } else { bios_size =3D -1; } diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index 04e1dcd0e76..4604d632b1e 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -2211,7 +2211,7 @@ static void ipmi_fru_init(IPMIFru *fru) goto out; } =20 - fsize =3D get_image_size(fru->filename); + fsize =3D get_image_size(fru->filename, NULL); if (fsize > 0) { size =3D QEMU_ALIGN_UP(fsize, fru->areasize); fru->data =3D g_malloc0(size); diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c index 3dd48cb8aab..8857a049980 100644 --- a/hw/loongarch/boot.c +++ b/hw/loongarch/boot.c @@ -328,14 +328,13 @@ static int64_t load_kernel_info(struct loongarch_boot= _info *info) } =20 if (info->initrd_filename) { - ssize_t initrd_size =3D get_image_size(info->initrd_filename); - + ssize_t initrd_size =3D get_image_size(info->initrd_filename, NULL= ); if (initrd_size > 0) { initrd_offset =3D ROUND_UP(kernel_high + 4 * kernel_size, 64 *= KiB); initrd_offset =3D alloc_initrd_memory(info, initrd_offset, initrd_size); initrd_size =3D load_image_targphys(info->initrd_filename, - initrd_offset, initrd_size); + initrd_offset, initrd_size, = NULL); } =20 if (initrd_size =3D=3D -1) { diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index d97399b882b..ff21d7779e1 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -82,7 +82,7 @@ static void an5206_init(MachineState *machine) } if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, KERNEL_LOAD_A= DDR, - ram_size - KERNEL_LOAD_ADDR); + ram_size - KERNEL_LOAD_ADDR, NUL= L); entry =3D KERNEL_LOAD_ADDR; } if (kernel_size < 0) { diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 75cc076f787..4a585b231db 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -351,7 +351,7 @@ static void mcf5208evb_init(MachineState *machine) error_report("Could not find ROM image '%s'", machine->firmwar= e); exit(1); } - if (load_image_targphys(fn, 0x0, ROM_SIZE) < 8) { + if (load_image_targphys(fn, 0x0, ROM_SIZE, NULL) < 8) { error_report("Could not load ROM image '%s'", machine->firmwar= e); exit(1); } @@ -380,7 +380,7 @@ static void mcf5208evb_init(MachineState *machine) } if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, 0x40000000, - ram_size); + ram_size, NULL); entry =3D 0x40000000; } if (kernel_size < 0) { diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 957644b2d1e..cfb2b319e5e 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -1325,7 +1325,7 @@ static void next_cube_init(MachineState *machine) memory_region_init_alias(&m->rom2, NULL, "next.rom2", &m->rom, 0x0, 0x20000); memory_region_add_subregion(sysmem, 0x0, &m->rom2); - if (load_image_targphys(bios_name, 0x01000000, 0x20000) < 8) { + if (load_image_targphys(bios_name, 0x01000000, 0x20000, NULL) < 8) { if (!qtest_enabled()) { error_report("Failed to load firmware '%s'.", bios_name); } diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index 793b23f8155..b8676feb418 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -629,7 +629,7 @@ static void q800_machine_init(MachineState *machine) =20 /* load initrd */ if (initrd_filename) { - initrd_size =3D get_image_size(initrd_filename); + initrd_size =3D get_image_size(initrd_filename, NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -638,7 +638,7 @@ static void q800_machine_init(MachineState *machine) =20 initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base); + ram_size - initrd_base, NULL); BOOTINFO2(param_ptr, BI_RAMDISK, initrd_base, initrd_size); } else { @@ -668,7 +668,8 @@ static void q800_machine_init(MachineState *machine) =20 /* Load MacROM binary */ if (filename) { - bios_size =3D load_image_targphys(filename, MACROM_ADDR, MACRO= M_SIZE); + bios_size =3D load_image_targphys(filename, MACROM_ADDR, MACRO= M_SIZE, + NULL); g_free(filename); } else { bios_size =3D -1; diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c index 98cfe43c73a..3f65d915561 100644 --- a/hw/m68k/virt.c +++ b/hw/m68k/virt.c @@ -283,7 +283,7 @@ static void virt_init(MachineState *machine) =20 /* load initrd */ if (initrd_filename) { - initrd_size =3D get_image_size(initrd_filename); + initrd_size =3D get_image_size(initrd_filename, NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -292,7 +292,7 @@ static void virt_init(MachineState *machine) =20 initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base); + ram_size - initrd_base, NULL); BOOTINFO2(param_ptr, BI_RAMDISK, initrd_base, initrd_size); } else { diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index 4a9c9df3181..ec38107f503 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -170,7 +170,7 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, bool is= _little_endian, /* Not an ELF image nor an u-boot image, try a RAW image. */ if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, ddr_base, - ramsize); + ramsize, NULL); boot_info.bootstrap_pc =3D ddr_base; high =3D (ddr_base + kernel_size + 3) & ~3; } @@ -189,7 +189,8 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, bool is= _little_endian, if (initrd_size < 0) { initrd_size =3D load_image_targphys(initrd_filename, boot_info.initrd_start, - ramsize - initrd_offset); + ramsize - initrd_offset, + NULL); } if (initrd_size < 0) { error_report("could not load initrd '%s'", diff --git a/hw/mips/boston.c b/hw/mips/boston.c index 149a263bd5a..0a3a827b5f6 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -778,7 +778,7 @@ static void boston_mach_init(MachineState *machine) =20 if (machine->firmware) { fw_size =3D load_image_targphys(machine->firmware, - 0x1fc00000, 4 * MiB); + 0x1fc00000, 4 * MiB, NULL); if (fw_size =3D=3D -1) { error_report("unable to load firmware image '%s'", machine->firmware); diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 2a8507b8b0a..5fe40eee65a 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -118,7 +118,7 @@ static uint64_t load_kernel(MIPSCPU *cpu) initrd_size =3D 0; initrd_offset =3D 0; if (loaderparams.initrd_filename) { - initrd_size =3D get_image_size(loaderparams.initrd_filename); + initrd_size =3D get_image_size(loaderparams.initrd_filename, NULL); if (initrd_size > 0) { initrd_offset =3D ROUND_UP(kernel_high, INITRD_PAGE_SIZE); if (initrd_offset + initrd_size > loaderparams.ram_size) { @@ -127,8 +127,9 @@ static uint64_t load_kernel(MIPSCPU *cpu) exit(1); } initrd_size =3D load_image_targphys(loaderparams.initrd_filena= me, - initrd_offset, - loaderparams.ram_size - init= rd_offset); + initrd_offset, + loaderparams.ram_size - initrd_of= fset, + NULL); } if (initrd_size =3D=3D (target_ulong) -1) { error_report("could not load initial ram disk '%s'", @@ -264,7 +265,7 @@ static void mips_fuloong2e_init(MachineState *machine) machine->firmware ?: FULOONG_BIOSNAME); if (filename) { bios_size =3D load_image_targphys(filename, 0x1fc00000LL, - BIOS_SIZE); + BIOS_SIZE, NULL); g_free(filename); } else { bios_size =3D -1; diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c index 7fb0b97a388..1d6bdc00917 100644 --- a/hw/mips/jazz.c +++ b/hw/mips/jazz.c @@ -245,7 +245,7 @@ static void mips_jazz_init(MachineState *machine, machine->firmware ?: bios_name); if (filename) { bios_size =3D load_image_targphys(filename, 0xfff00000LL, - MAGNUM_BIOS_SIZE); + MAGNUM_BIOS_SIZE, NULL); g_free(filename); } else { bios_size =3D -1; diff --git a/hw/mips/loongson3_virt.c b/hw/mips/loongson3_virt.c index 672083dec98..77dc895648f 100644 --- a/hw/mips/loongson3_virt.c +++ b/hw/mips/loongson3_virt.c @@ -371,7 +371,7 @@ static uint64_t load_kernel(CPUMIPSState *env) initrd_size =3D 0; initrd_offset =3D 0; if (loaderparams.initrd_filename) { - initrd_size =3D get_image_size(loaderparams.initrd_filename); + initrd_size =3D get_image_size(loaderparams.initrd_filename, NULL); if (initrd_size > 0) { initrd_offset =3D MAX(loader_memmap[LOADER_INITRD].base, ROUND_UP(kernel_high, INITRD_PAGE_SIZE)); @@ -383,8 +383,9 @@ static uint64_t load_kernel(CPUMIPSState *env) } =20 initrd_size =3D load_image_targphys(loaderparams.initrd_filena= me, - initrd_offset, - loaderparams.ram_size - init= rd_offset); + initrd_offset, + loaderparams.ram_size - initrd_off= set, + NULL); } =20 if (initrd_size =3D=3D (target_ulong) -1) { @@ -650,7 +651,8 @@ static void mips_loongson3_virt_init(MachineState *mach= ine) if (filename) { bios_size =3D load_image_targphys(filename, virt_memmap[VIRT_BIOS_ROM].bas= e, - virt_memmap[VIRT_BIOS_ROM].siz= e); + virt_memmap[VIRT_BIOS_ROM].siz= e, + NULL); g_free(filename); } else { bios_size =3D -1; diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 02da629b5af..806e8d50789 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -892,7 +892,7 @@ static uint64_t load_kernel(void) initrd_size =3D 0; initrd_offset =3D 0; if (loaderparams.initrd_filename) { - initrd_size =3D get_image_size(loaderparams.initrd_filename); + initrd_size =3D get_image_size(loaderparams.initrd_filename, NULL); if (initrd_size > 0) { /* * The kernel allocates the bootmap memory in the low memory a= fter @@ -908,8 +908,9 @@ static uint64_t load_kernel(void) exit(1); } initrd_size =3D load_image_targphys(loaderparams.initrd_filena= me, - initrd_offset, - loaderparams.ram_size - init= rd_offset); + initrd_offset, + loaderparams.ram_size - initrd_off= set, + NULL); } if (initrd_size =3D=3D (target_ulong) -1) { error_report("could not load initial ram disk '%s'", @@ -1176,7 +1177,7 @@ void mips_malta_init(MachineState *machine) machine->firmware ?: bios_name); if (filename) { bios_size =3D load_image_targphys(filename, FLASH_ADDRESS, - BIOS_SIZE); + BIOS_SIZE, NULL); g_free(filename); } else { bios_size =3D -1; diff --git a/hw/nubus/nubus-device.c b/hw/nubus/nubus-device.c index 7797e61c7fc..0d4d6c0d875 100644 --- a/hw/nubus/nubus-device.c +++ b/hw/nubus/nubus-device.c @@ -68,7 +68,7 @@ static void nubus_device_realize(DeviceState *dev, Error = **errp) path =3D g_strdup(nd->romfile); } =20 - size =3D get_image_size(path); + size =3D get_image_size(path, NULL); if (size < 0) { error_setg(errp, "failed to find romfile \"%s\"", nd->romfile); g_free(path); diff --git a/hw/openrisc/boot.c b/hw/openrisc/boot.c index c81efe8138a..db6fea071e8 100644 --- a/hw/openrisc/boot.c +++ b/hw/openrisc/boot.c @@ -44,7 +44,8 @@ hwaddr openrisc_load_kernel(ram_addr_t ram_size, if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, - ram_size - KERNEL_LOAD_ADDR); + ram_size - KERNEL_LOAD_ADDR, + NULL); high_addr =3D KERNEL_LOAD_ADDR + kernel_size; } =20 @@ -74,7 +75,7 @@ hwaddr openrisc_load_initrd(void *fdt, const char *filena= me, =20 size =3D load_ramdisk(filename, start, mem_size - start); if (size < 0) { - size =3D load_image_targphys(filename, start, mem_size - start); + size =3D load_image_targphys(filename, start, mem_size - start, NU= LL); if (size < 0) { error_report("could not load ramdisk '%s'", filename); exit(1); diff --git a/hw/pci/pci.c b/hw/pci/pci.c index acc03fd4707..738b0c41ae5 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2557,7 +2557,7 @@ static void pci_add_option_rom(PCIDevice *pdev, bool = is_default_rom, path =3D g_strdup(pdev->romfile); } =20 - size =3D get_image_size(path); + size =3D get_image_size(path, NULL); if (size < 0) { error_setg(errp, "failed to find romfile \"%s\"", pdev->romfil= e); return; diff --git a/hw/ppc/amigaone.c b/hw/ppc/amigaone.c index 47fb016b4aa..192474e0aee 100644 --- a/hw/ppc/amigaone.c +++ b/hw/ppc/amigaone.c @@ -324,7 +324,7 @@ static void amigaone_init(MachineState *machine) error_report("Could not find firmware '%s'", machine->firmware= ); exit(1); } - sz =3D load_image_targphys(filename, PROM_ADDR, PROM_SIZE); + sz =3D load_image_targphys(filename, PROM_ADDR, PROM_SIZE, NULL); if (sz <=3D 0 || sz > PROM_SIZE) { error_report("Could not load firmware '%s'", filename); exit(1); @@ -413,7 +413,7 @@ static void amigaone_init(MachineState *machine) loadaddr =3D ROUND_UP(loadaddr + 4 * MiB, 4 * KiB); loadaddr =3D MAX(loadaddr, INITRD_MIN_ADDR); sz =3D load_image_targphys(machine->initrd_filename, loadaddr, - bi->bd_info - loadaddr); + bi->bd_info - loadaddr, NULL); if (sz <=3D 0) { error_report("Could not load initrd '%s'", machine->initrd_filename); diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 3d69428f31c..418e1bb2fb4 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1227,7 +1227,7 @@ void ppce500_init(MachineState *machine) kernel_base =3D cur_base; kernel_size =3D load_image_targphys(machine->kernel_filename, cur_base, - machine->ram_size - cur_base); + machine->ram_size - cur_base, NU= LL); if (kernel_size < 0) { error_report("could not load kernel '%s'", machine->kernel_filename); @@ -1241,7 +1241,8 @@ void ppce500_init(MachineState *machine) if (machine->initrd_filename) { initrd_base =3D (cur_base + INITRD_LOAD_PAD) & ~INITRD_PAD_MASK; initrd_size =3D load_image_targphys(machine->initrd_filename, init= rd_base, - machine->ram_size - initrd_base); + machine->ram_size - initrd_base, + NULL); =20 if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 0b6e096116a..004efc6b97b 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -188,7 +188,8 @@ static void ppc_core99_init(MachineState *machine) =20 if (bios_size <=3D 0) { /* or load binary ROM image */ - bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE); + bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE, + NULL); } g_free(filename); } @@ -210,7 +211,8 @@ static void ppc_core99_init(MachineState *machine) if (kernel_size < 0) { kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, - machine->ram_size - kernel_b= ase); + machine->ram_size - kernel_b= ase, + NULL); } if (kernel_size < 0) { error_report("could not load kernel '%s'", @@ -222,7 +224,8 @@ static void ppc_core99_init(MachineState *machine) initrd_base =3D TARGET_PAGE_ALIGN(kernel_base + kernel_size + = KERNEL_GAP); initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, - machine->ram_size - initrd_b= ase); + machine->ram_size - initrd_b= ase, + NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", machine->initrd_filename); diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 40ae936ad8a..c7e44d49b07 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -143,7 +143,8 @@ static void ppc_heathrow_init(MachineState *machine) =20 if (bios_size <=3D 0) { /* or if could not load ELF try loading a binary ROM image */ - bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE); + bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE, + NULL); bios_addr =3D PROM_BASE; } g_free(filename); @@ -166,7 +167,8 @@ static void ppc_heathrow_init(MachineState *machine) if (kernel_size < 0) { kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, - machine->ram_size - kernel_b= ase); + machine->ram_size - kernel_b= ase, + NULL); } if (kernel_size < 0) { error_report("could not load kernel '%s'", @@ -179,7 +181,8 @@ static void ppc_heathrow_init(MachineState *machine) KERNEL_GAP); initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, - machine->ram_size - initrd_b= ase); + machine->ram_size - initrd_b= ase, + NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", machine->initrd_filename); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 93696ed381f..a9e706644c5 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -197,7 +197,8 @@ static void pegasos_init(MachineState *machine) sz =3D load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ELFDATA2MSB, PPC_ELF_MACHINE, 0, 0); if (sz <=3D 0) { - sz =3D load_image_targphys(filename, pm->vof ? 0 : prom_addr, PROM= _SIZE); + sz =3D load_image_targphys(filename, pm->vof ? 0 : prom_addr, PROM= _SIZE, + NULL); } if (sz <=3D 0 || sz > PROM_SIZE) { error_report("Could not load firmware '%s'", filename); @@ -301,7 +302,7 @@ static void pegasos_init(MachineState *machine) pm->initrd_addr =3D ROUND_UP(pm->initrd_addr, 4); pm->initrd_addr =3D MAX(pm->initrd_addr, INITRD_MIN_ADDR); sz =3D load_image_targphys(machine->initrd_filename, pm->initrd_ad= dr, - machine->ram_size - pm->initrd_addr); + machine->ram_size - pm->initrd_addr, NULL= ); if (sz <=3D 0) { error_report("Could not load initrd '%s'", machine->initrd_filename); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index f0469cdb8b6..1c0dadda876 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1068,7 +1068,8 @@ static void pnv_init(MachineState *machine) exit(1); } =20 - fw_size =3D load_image_targphys(fw_filename, pnv->fw_load_addr, FW_MAX= _SIZE); + fw_size =3D load_image_targphys(fw_filename, pnv->fw_load_addr, FW_MAX= _SIZE, + NULL); if (fw_size < 0) { error_report("Could not load OPAL firmware '%s'", fw_filename); exit(1); @@ -1080,7 +1081,8 @@ static void pnv_init(MachineState *machine) long kernel_size; =20 kernel_size =3D load_image_targphys(machine->kernel_filename, - KERNEL_LOAD_ADDR, KERNEL_MAX_SIZ= E); + KERNEL_LOAD_ADDR, KERNEL_MAX_SIZ= E, + NULL); if (kernel_size < 0) { error_report("Could not load kernel '%s'", machine->kernel_filename); @@ -1092,7 +1094,8 @@ static void pnv_init(MachineState *machine) if (machine->initrd_filename) { pnv->initrd_base =3D INITRD_LOAD_ADDR; pnv->initrd_size =3D load_image_targphys(machine->initrd_filename, - pnv->initrd_base, INITRD_MAX_SIZE); + pnv->initrd_base, + INITRD_MAX_SIZE, NULL); if (pnv->initrd_size < 0) { error_report("Could not load initial ram disk '%s'", machine->initrd_filename); diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 6fff0d8afbc..7c66912c103 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -242,7 +242,8 @@ static void bamboo_init(MachineState *machine) /* Load initrd. */ if (initrd_filename) { initrd_size =3D load_image_targphys(initrd_filename, RAMDISK_ADDR, - machine->ram_size - RAMDISK_ADDR= ); + machine->ram_size - RAMDISK_ADDR, + NULL); =20 if (initrd_size < 0) { error_report("could not load ram disk '%s' at %x", diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index c730cb3429e..0759e95cb64 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -280,7 +280,7 @@ static void ibm_40p_init(MachineState *machine) bios_size =3D load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, N= ULL, ELFDATA2MSB, PPC_ELF_MACHINE, 0, 0); if (bios_size < 0) { - bios_size =3D load_image_targphys(filename, BIOS_ADDR, BIOS_SIZE); + bios_size =3D load_image_targphys(filename, BIOS_ADDR, BIOS_SIZE, = NULL); } if (bios_size < 0 || bios_size > BIOS_SIZE) { error_report("Could not load bios image '%s'", filename); @@ -379,7 +379,8 @@ static void ibm_40p_init(MachineState *machine) kernel_base =3D KERNEL_LOAD_ADDR; kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, - machine->ram_size - kernel_base); + machine->ram_size - kernel_base, + NULL); if (kernel_size < 0) { error_report("could not load kernel '%s'", machine->kernel_filename); @@ -392,7 +393,8 @@ static void ibm_40p_init(MachineState *machine) initrd_base =3D INITRD_LOAD_ADDR; initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, - machine->ram_size - initrd_b= ase); + machine->ram_size - initrd_b= ase, + NULL); if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", machine->initrd_filename); diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index ee31bd8f349..68d3eacbff8 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -494,7 +494,8 @@ static void sam460ex_init(MachineState *machine) if (machine->initrd_filename) { initrd_size =3D load_image_targphys(machine->initrd_filename, RAMDISK_ADDR, - machine->ram_size - RAMDISK_ADDR= ); + machine->ram_size - RAMDISK_ADDR, + NULL); if (initrd_size < 0) { error_report("could not load ram disk '%s' at %x", machine->initrd_filename, RAMDISK_ADDR); diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 6764730beb4..cdf2fdeadc2 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2854,7 +2854,7 @@ static void spapr_machine_init(MachineState *machine) error_report("Could not find LPAR firmware '%s'", bios_name); exit(1); } - fw_size =3D load_image_targphys(filename, 0, FW_MAX_SIZE); + fw_size =3D load_image_targphys(filename, 0, FW_MAX_SIZE, NULL); if (fw_size <=3D 0) { error_report("Could not load LPAR firmware '%s'", filename); exit(1); @@ -3115,9 +3115,9 @@ static void spapr_machine_init(MachineState *machine) spapr->initrd_base =3D (spapr->kernel_addr + spapr->kernel_size + 0x1ffff) & ~0xffff; spapr->initrd_size =3D load_image_targphys(initrd_filename, - spapr->initrd_base, - load_limit - - spapr->initrd_base); + spapr->initrd_base, + load_limit - spapr->initrd= _base, + NULL); if (spapr->initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index c9969ae48a8..00d9ab75090 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -253,7 +253,7 @@ static void virtex_init(MachineState *machine) /* If we failed loading ELF's try a raw image. */ kernel_size =3D load_image_targphys(kernel_filename, boot_offset, - machine->ram_size); + machine->ram_size, NULL); boot_info.bootstrap_pc =3D boot_offset; high =3D boot_info.bootstrap_pc + kernel_size + 8192; } @@ -264,7 +264,8 @@ static void virtex_init(MachineState *machine) if (machine->initrd_filename) { initrd_base =3D high =3D ROUND_UP(high, 4); initrd_size =3D load_image_targphys(machine->initrd_filename, - high, machine->ram_size - hi= gh); + high, machine->ram_size - hi= gh, + NULL); =20 if (initrd_size < 0) { error_report("couldn't load ram disk '%s'", diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 828a867be39..f38078c8c22 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -172,7 +172,8 @@ target_ulong riscv_load_firmware(const char *firmware_f= ilename, =20 firmware_size =3D load_image_targphys_as(firmware_filename, *firmware_load_addr, - current_machine->ram_size, NULL= ); + current_machine->ram_size, NULL, + NULL); =20 if (firmware_size > 0) { return *firmware_load_addr + firmware_size; @@ -207,7 +208,7 @@ static void riscv_load_initrd(MachineState *machine, RI= SCVBootInfo *info) =20 size =3D load_ramdisk(filename, start, mem_size - start); if (size =3D=3D -1) { - size =3D load_image_targphys(filename, start, mem_size - start); + size =3D load_image_targphys(filename, start, mem_size - start, NU= LL); if (size =3D=3D -1) { error_report("could not load ramdisk '%s'", filename); exit(1); @@ -262,7 +263,7 @@ void riscv_load_kernel(MachineState *machine, } =20 kernel_size =3D load_image_targphys_as(kernel_filename, kernel_start_a= ddr, - current_machine->ram_size, NULL); + current_machine->ram_size, NULL, = NULL); if (kernel_size > 0) { info->kernel_size =3D kernel_size; info->image_low_addr =3D kernel_start_addr; diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c index 5b9004e9e15..ed91c631788 100644 --- a/hw/rx/rx-gdbsim.c +++ b/hw/rx/rx-gdbsim.c @@ -63,7 +63,7 @@ static void rx_load_image(RXCPU *cpu, const char *filenam= e, long kernel_size; int i; =20 - kernel_size =3D load_image_targphys(filename, start, size); + kernel_size =3D load_image_targphys(filename, start, size, NULL); if (kernel_size < 0) { fprintf(stderr, "qemu: could not load kernel '%s'\n", filename); exit(1); diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 2f082396c73..3843d2a8505 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -169,7 +169,7 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) } else { /* Try to load non-ELF file */ bios_size =3D load_image_targphys(bios_filename, ZIPL_IMAGE_ST= ART, - 4096); + 4096, NULL); ipl->bios_start_addr =3D ZIPL_IMAGE_START; } g_free(bios_filename); @@ -188,7 +188,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) &pentry, NULL, NULL, NULL, ELFDATA2MSB, EM_S390, 0, 0); if (kernel_size < 0) { - kernel_size =3D load_image_targphys(ipl->kernel, 0, ms->ram_si= ze); + kernel_size =3D load_image_targphys(ipl->kernel, 0, ms->ram_si= ze, + NULL); if (kernel_size < 0) { error_setg(errp, "could not load kernel '%s'", ipl->kernel= ); return; @@ -247,7 +248,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) initrd_offset +=3D 0x100000; } initrd_size =3D load_image_targphys(ipl->initrd, initrd_offset, - ms->ram_size - initrd_offset= ); + ms->ram_size - initrd_offset, + NULL); if (initrd_size =3D=3D -1) { error_setg(errp, "could not load initrd '%s'", ipl->initrd= ); return; diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c index d68c94e82ef..010be6d5394 100644 --- a/hw/sh4/r2d.c +++ b/hw/sh4/r2d.c @@ -329,8 +329,9 @@ static void r2d_init(MachineState *machine) int kernel_size; =20 kernel_size =3D load_image_targphys(kernel_filename, - SDRAM_BASE + LINUX_LOAD_OFFSET, - INITRD_LOAD_OFFSET - LINUX_LOAD_= OFFSET); + SDRAM_BASE + LINUX_LOAD_OFFSET, + INITRD_LOAD_OFFSET - LINUX_LOAD_OF= FSET, + NULL); if (kernel_size < 0) { error_report("qemu: could not load kernel '%s'", kernel_filena= me); exit(1); @@ -350,7 +351,8 @@ static void r2d_init(MachineState *machine) =20 initrd_size =3D load_image_targphys(initrd_filename, SDRAM_BASE + INITRD_LOAD_OFFSET, - SDRAM_SIZE - INITRD_LOAD_OFFSET); + SDRAM_SIZE - INITRD_LOAD_OFFSET, + NULL); =20 if (initrd_size < 0) { error_report("qemu: could not load initrd '%s'", initrd_filena= me); diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index 13e21a9c43e..7558b2ad839 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -1340,7 +1340,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) return; } =20 - size =3D get_image_size(val); + size =3D get_image_size(val, NULL); if (size =3D=3D -1 || size < sizeof(struct smbios_structure_header= )) { error_setg(errp, "Cannot read SMBIOS file %s", val); return; diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index 09d2cec488c..631c6113b5c 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -349,7 +349,7 @@ static void leon3_generic_hw_init(MachineState *machine) filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); =20 if (filename) { - bios_size =3D get_image_size(filename); + bios_size =3D get_image_size(filename, NULL); } else { bios_size =3D -1; } @@ -360,7 +360,7 @@ static void leon3_generic_hw_init(MachineState *machine) } =20 if (bios_size > 0) { - ret =3D load_image_targphys(filename, LEON3_PROM_OFFSET, bios_size= ); + ret =3D load_image_targphys(filename, LEON3_PROM_OFFSET, bios_size= , NULL); if (ret < 0 || ret > prom_size) { error_report("could not load prom '%s'", filename); exit(1); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 8ac7e625ef1..53d7ae08ae9 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -245,7 +245,8 @@ static unsigned long sun4m_load_kernel(const char *kern= el_filename, if (kernel_size < 0) kernel_size =3D load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, - RAM_size - KERNEL_LOAD_ADDR); + RAM_size - KERNEL_LOAD_ADDR, + NULL); if (kernel_size < 0) { error_report("could not load kernel '%s'", kernel_filename); exit(1); @@ -256,7 +257,8 @@ static unsigned long sun4m_load_kernel(const char *kern= el_filename, if (initrd_filename) { *initrd_size =3D load_image_targphys(initrd_filename, INITRD_LOAD_ADDR, - RAM_size - INITRD_LOAD_ADDR= ); + RAM_size - INITRD_LOAD_ADDR, + NULL); if ((int)*initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -700,7 +702,7 @@ static void prom_init(hwaddr addr, const char *bios_nam= e) translate_prom_address, &addr, NULL, NULL, NULL, NULL, ELFDATA2MSB, EM_SPARC, 0, 0); if (ret < 0 || ret > PROM_SIZE_MAX) { - ret =3D load_image_targphys(filename, addr, PROM_SIZE_MAX); + ret =3D load_image_targphys(filename, addr, PROM_SIZE_MAX, NUL= L); } g_free(filename); } else { diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index e9f9b0a4cb9..82c3e7c855b 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -182,7 +182,8 @@ static uint64_t sun4u_load_kernel(const char *kernel_fi= lename, if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR, - RAM_size - KERNEL_LOAD_ADDR); + RAM_size - KERNEL_LOAD_ADDR, + NULL); } if (kernel_size < 0) { error_report("could not load kernel '%s'", kernel_filename); @@ -195,7 +196,7 @@ static uint64_t sun4u_load_kernel(const char *kernel_fi= lename, =20 *initrd_size =3D load_image_targphys(initrd_filename, *initrd_addr, - RAM_size - *initrd_addr); + RAM_size - *initrd_addr, NU= LL); if ((int)*initrd_size < 0) { error_report("could not load initial ram disk '%s'", initrd_filename); @@ -437,7 +438,7 @@ static void prom_init(hwaddr addr, const char *bios_nam= e) ret =3D load_elf(filename, NULL, translate_prom_address, &addr, NULL, NULL, NULL, NULL, ELFDATA2MSB, EM_SPARCV9, 0,= 0); if (ret < 0 || ret > PROM_SIZE_MAX) { - ret =3D load_image_targphys(filename, addr, PROM_SIZE_MAX); + ret =3D load_image_targphys(filename, addr, PROM_SIZE_MAX, NUL= L); } g_free(filename); } else { diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index 55de1a7a073..db3b0155495 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -381,7 +381,8 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, M= achineState *machine) if (initrd_size < 0) { initrd_size =3D load_image_targphys(initrd_filename, cur_lowmem, - lowmem_end - cur_lowmem); + lowmem_end - cur_lowmem, + NULL); } if (initrd_size < 0) { error_report("could not load initrd '%s'", initrd_filename= ); diff --git a/system/device_tree.c b/system/device_tree.c index aa3fe9516f3..7850b90fa72 100644 --- a/system/device_tree.c +++ b/system/device_tree.c @@ -83,7 +83,7 @@ void *load_device_tree(const char *filename_path, int *si= zep) void *fdt =3D NULL; =20 *sizep =3D 0; - dt_size =3D get_image_size(filename_path); + dt_size =3D get_image_size(filename_path, NULL); if (dt_size < 0) { error_report("Unable to get size of device tree file '%s'", filename_path); --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638169; cv=none; d=zohomail.com; s=zohoarc; b=RZDLYocB6FRm1SeFn5ZxbUp3L3PNQWdk/ijJvNtEa+XSjA2teWp0LZ3q1ZKhTg6+rElFn/qTd8ohge8nT5ipQHPYZtnkBSjfMdGB6k3edY6tZ/Qlkv3mxNU6ZlA4zG145YbXVccgio0rLC0pOp+Kf33UtLDHDiQvBjr8CUYR4og= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638169; 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=oO7sLokKX2QCnssZFO5WFHuq3Y1NfJEe4m2IyupwL7s=; b=ZS7v6LvVoI+WFxl8U+5pu0OI5okgVWdhboV4AVkRFvSEy/L8B7vDQ/B34BHZgpvbjnk2FTgHLfI3e++LyLDxR7KZQOxp+ypA5W+JY7fM867/pWtx/Q7YmhjD/lNn7Lk5+yGu90ok7gpPKig5xymztr2JbZ+rVtc6LSB0GAC5Sjo= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638169303225.05343305833185; Tue, 28 Oct 2025 00:56:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeY6-00080X-ED; Tue, 28 Oct 2025 03:55: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 1vDeXo-0007y7-8F for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:04 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeXi-0007rc-Bw for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:03 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3ee12807d97so4997590f8f.0 for ; Tue, 28 Oct 2025 00:54:57 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd477c92sm179297925e9.2.2025.10.28.00.54.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:54:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638095; x=1762242895; 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=oO7sLokKX2QCnssZFO5WFHuq3Y1NfJEe4m2IyupwL7s=; b=AKtN13lIduOpOWUP7/q05hSNzlD1XTQ6iMZbl2/L2bYLK/ljpjJJAxX24GfbTVeK7u 5+524V7RgHt1Ev8sUMAGgRwyl4mi+eQ6A6/3GzxomXGxsq7vq1J6mdpvAi7lO5omKLC2 GWhXZhFKKyoURT9lhF+yU+QX6qTmSUW+a0OKMUFvbHE8mUO/DObV/0M4ktW7kS/WcuhA 5wH7It6Mj4lW6yGPUjLqNipvU8Lwqnpvi30Z7qkvEM2yLceuRJeIfdwaiZ87HfF0I5Va 8LgzYYaPDzy9USgWmH8GQAL0JM3nJ8YMERd0PfpGy7tWNUKuRHwb+99XL+WKpoih1YhA abAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638095; x=1762242895; 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=oO7sLokKX2QCnssZFO5WFHuq3Y1NfJEe4m2IyupwL7s=; b=DovZgaf1LHqd5mPMLWBkfHJJdMPpHTHVhqPowlgN4quPxeH0jOihhBsyP00Hs1tmn1 Ee2/QDuz0T6t4uHUHxIaHUs3BfLFYt288oHEFmyaE/vniVWbAt+TSkJ4c7Ud4GaZORb3 Gg0XNqgV0HBZg8c8DtlkGk3wUfDXjSxUSQSZLJJ1Nd76okLfFqH0znpDx3/wUP7x/Xjh cDeJOAjtXQn7WkHMKO5BN6zeCPsDvCV3j4/xvsfexM3jU51hIUebotE/++cl4svRlrup NQ7ilDj2eunna2TTDazg07BSQ9h4la5kEiLdQ+Ie/hWbsEkrDaPukXURpqbBHrc4R9Ds 1H7A== X-Gm-Message-State: AOJu0YwFOSR1UyzsyWf4tpUuxWI5hBTYDP0sZ3Y5VfXfIwKK3kph/eHE uLCk5h4JAzunih7y4IHUwfld9vLdPhODquHeUPBeJkoQ2+uASaRDz7GB8tSlcYGNlEB4xIx8Mhi gU+cFdvc= X-Gm-Gg: ASbGncun7HSSURVxLhowZhKYDUCebW0OdurmI595e20oryBNSo566UBAn9q/xuL/lSa dwZPhsvEbuaNS0DPjgHKceLDn+tJdDEZTiRodRU5KiOPzkJM5Mo8yW7tsBwkguEM8FGmS9/nKht P0boaWNqd48C+rAIYulvnCe/SagqDqrMcl4AL+5haDlHA46JCdEawdTu9Rc3kbiM+I/AEJ7u0Rz prBpNG7PTmCshElRrcS4rgOgjpdG7xDbELPVtkZqKY2BGpw6FTsLK2VC2HK1gDuMCtljJSBJCOr CsRAt5dV91M/juW0TDyrosJY51VwtKgQDdLvHd69EEhhUg6RGhe6j665bP409GZyljQ2QEaYH6L ShFiJ9Fr6JCfcwXPdp7BTuzCs3mZjYjG0u/pnSrilMsPsavcm2cVY6zCRG9EtVkr8DfYlkf+Zle aNxpxTv4Y2CRtoukRNQAXp1kg03cXcEloywfE47DlIDQoDkUBvKLhLdK8= X-Google-Smtp-Source: AGHT+IEAC5rkPk/V/A7gAkhFq3w97Ons4XCs+XrkDcHwrhePrTQQpdcnfmFDHVI2pHC4C+SQVWnT5w== X-Received: by 2002:a05:6000:2f86:b0:426:d51c:4d71 with SMTP id ffacd0b85a97d-429a7e4d2ddmr1776777f8f.8.1761638095013; Tue, 28 Oct 2025 00:54:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aditya Gupta Subject: [PULL 16/23] hw/core/loader: improve error handling in image loading functions Date: Tue, 28 Oct 2025 08:48:52 +0100 Message-ID: <20251028074901.22062-17-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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 @linaro.org) X-ZM-MESSAGEID: 1761638170429158500 From: Vishal Chourasia Add error checking for lseek() failure and provide better error messages when image loading fails, including filenames and addresses. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aditya Gupta Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-8-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/loader.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index 7aca4989ef0..d7c11c18f11 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -79,6 +79,10 @@ int64_t get_image_size(const char *filename, Error **err= p) if (fd < 0) return -1; size =3D lseek(fd, 0, SEEK_END); + if (size < 0) { + error_setg_errno(errp, errno, "lseek failure: %s", filename); + return -1; + } close(fd); return size; } @@ -132,11 +136,20 @@ ssize_t load_image_targphys_as(const char *filename, ssize_t size; =20 size =3D get_image_size(filename, errp); - if (size < 0 || size > max_sz) { + if (size < 0) { return -1; } + + if (size > max_sz) { + error_setg(errp, "%s exceeds maximum image size (%s)", + filename, size_to_str(max_sz)); + return -1; + } + if (size > 0) { if (rom_add_file_fixed_as(filename, addr, -1, as) < 0) { + error_setg(errp, "could not load '%s' at %" HWADDR_PRIx, + filename, addr); return -1; } } --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638198; cv=none; d=zohomail.com; s=zohoarc; b=MAwrGK8tPHXjXSycSkYHCQPIwMF/SMw1WWdU8YEre2zEsXkqE/vjhbew0QqpHt1mGTp8aPWuU397GcxUag5/aSVWNklyfwzwTrGfvCYlGqYpynBJ025bEOOlKnrii9vNN6oEcM5gC1u5r8onaWobT/sw+I7H9NaaLjgMCYK1Wi4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638198; 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=o2Vwqg5FFZQQtmEVDjtXvUPqRVr9tAzsMqdepzlnyg0=; b=DU7dHgUBtTALxv654r7b8FngGNOV03MRNlNq5TJkAdzHsMoQFBgOWaHKdJw8iUbQZ040KvWtgR85sp+mvJAcTMTUnRbHvq0DDNxllr1MFb4E0B4iif10Fr0kCgt0HixPH4L2kNOtHSbnwgn2QYjx/hRVlX7FsLbjLzz39Yb12lA= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638198528487.7071017247672; Tue, 28 Oct 2025 00:56:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeYa-0008I4-B6; Tue, 28 Oct 2025 03:55: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 1vDeYI-0008Ap-LS for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:36 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeY6-000849-Nw for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:29 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-475dd559b0bso40457175e9.1 for ; Tue, 28 Oct 2025 00:55:19 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4771906af34sm12511305e9.14.2025.10.28.00.55.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:55:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638117; x=1762242917; 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=o2Vwqg5FFZQQtmEVDjtXvUPqRVr9tAzsMqdepzlnyg0=; b=bBj3LSlVejCE6LBJAievxb6EtoBiECXW508sounJrzDsDWbhAPgScZqes1Vinp7TS8 uGBUTtAPNy1gkr9q39ZXKEWK5HpHE4UXhfFA8NN5Hz4RrpIvEOoM6iS8qkzm2sj5LHtA H/2sfS4J2TO1NGuP2lNl2rWitfW5v+QJZBXqnKqLcdWIrwX+oyOoKsEcgvfq+4U/XPM5 C7oHPQ406BC3yYI35+fegwNr38CCZNdXF71raXDLpUKSI+arwa4JBAbQiZXAMCMFf2zM NYjxpAjYMJLeTlACh3nf4Qenh77HRqBwnqsJyuIDe3g5JILOD0pxv4q2v+OBHKIb+uXQ R+gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638117; x=1762242917; 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=o2Vwqg5FFZQQtmEVDjtXvUPqRVr9tAzsMqdepzlnyg0=; b=xEGDxk/J1exMUbqabIwndpnixSfXvhJ3jtm6egSp2EGH3tYxiDZWIvDVFRMgR6Ow6v X8TiI80dgJG1QVeufz3nO7gXT2DwtLpuBaxi9RdfN/Wa9yeeQZi3y0rO380XB2iY6FZL UaqTWnW2jHbiMUkFP5fKxXznj1+BQaDMyWZb3s54Ss+Uc6wgwtBvIOXWxxpav2fVFjFk AxlacBEHSJzcoGy2FOgIWKCvrPQiggnfxZXcKpvMMYmC2t6EgnqyGXPmZ/oAncziA549 Wrmo5aWMgDFOO3cdiyIaxEkvckFzWjElGkmIWx1z0UN0zaHDszxaWxhPJlT6Q5U9/9o2 iJ1g== X-Gm-Message-State: AOJu0Ywm2SFqKX02dC3VZ7XPVDcOXFgcDj8BYndwVC4lVUS7h+CjFJiC BrL5FGAjcfU0ByBGY8LpjupBA6A5N91AwsZSAHD5THGJb7VUtgZyhHWZ2yaV+hAVUbq79+lZMsD PMionnUk= X-Gm-Gg: ASbGncukoBd98qenDY4vuB0mejbhw2wMx4CuhFy1Xvo811g43lO9cuMQLtOxMjUL4ps 9irDzTVoBQ6A6SwIc6J0mWLR8Id8IxW/Q72ERZRmPRX88xDws0s4alBbTXAo62W3ZRzGgkt0fB0 GZipBYDCmSP1MaI99CVY+R6cQNyVwAuTEbHCBK2NX45OCsutHweE21jfIkQ1f/Q2bIBTA2rIEty 2vbrh70fipm5wFJ+MoU0NysD1DPV2o71cRYBqt05dF7UMWpeVmDtxHDpbEhPgUZWjniZ6LibxAG SUxdZrX3OppRg/rTQ45IcDVhDu2R4dpMOnEc5EFhNvTRvlGsloXQdyP9J/hzrGFJZtJoaBrjftv Di1jepLadHpblNzgEGMYGy46WV/YQPZoN8LSaDXbFrcJ8oQzjQQTRZebaBLwibB9mlquPYXMsk9 yCncDupZYS6zJvd7xCd3KdwM6d4pGBm9dKR8Pxk5378Vd54lWqN/+mV5A= X-Google-Smtp-Source: AGHT+IF5t32D4u++whWLR9vPw4g3NLtOqlFRgnRyzphMV1aj0lOVX4t0iCknsmqzXPC836l+NGUW0g== X-Received: by 2002:a05:600c:a009:b0:477:e66:4082 with SMTP id 5b1f17b1804b1-47717e6f566mr21791075e9.29.1761638116728; Tue, 28 Oct 2025 00:55:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 17/23] hw/core/loader: add check for zero size in load_image_targphys_as Date: Tue, 28 Oct 2025 08:48:53 +0100 Message-ID: <20251028074901.22062-18-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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 @linaro.org) X-ZM-MESSAGEID: 1761638200853154100 From: Vishal Chourasia Currently load_image_targphys_as() returns -1 on file open failure or when max size is exceeded. Add an explicit check for zero-sized files to catch this error early, since some callers check for size <=3D 0. Also, remove the redundant size > 0 check later in the function. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-10-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/loader.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index d7c11c18f11..590c5b02aa1 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -140,18 +140,21 @@ ssize_t load_image_targphys_as(const char *filename, return -1; } =20 + if (size =3D=3D 0) { + error_setg(errp, "empty file: %s", filename); + return -1; + } + if (size > max_sz) { error_setg(errp, "%s exceeds maximum image size (%s)", filename, size_to_str(max_sz)); return -1; } =20 - if (size > 0) { - if (rom_add_file_fixed_as(filename, addr, -1, as) < 0) { - error_setg(errp, "could not load '%s' at %" HWADDR_PRIx, - filename, addr); - return -1; - } + if (rom_add_file_fixed_as(filename, addr, -1, as) < 0) { + error_setg(errp, "could not load '%s' at %" HWADDR_PRIx, + filename, addr); + return -1; } return size; } --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638193; cv=none; d=zohomail.com; s=zohoarc; b=hqAoaFzAmu4U3OJypibW6IKMg6qJa9SXFQgAUoICK1ZDSU/2Usy+VPuk6sYIiLRlTLQmOvg9dlKYXjA4ksVrwNwIunUl7fSHnz21Lf2C+1Pe1MnmE0GVmn/cSyriV6/W1QRF/6edJ3jb8LJ4Dam6uY63HolMmCgY6dX4LrprJFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638193; 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=SgrlwEbBbokECIQjMQOcgQT5HbEwcbI2kgxYyH9CUJg=; b=OG6t2nbzBANfVpqtWUdee8DwqWRYLXwHZjBnn8Ibau3/gI05epRk6XOCCOGM84RWVIiKFuDglZfdjQKWtlKwFTRjmYMmB86IMVIxYVRJnODzHr+SwSXtgsNX+vprcb0r7Q+OepoV7eTG2+YWW+1Bqz1kP80Wd8PP095N6ChOkew= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176163819324115.358989512914377; Tue, 28 Oct 2025 00:56:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeYp-0008Qv-CF; Tue, 28 Oct 2025 03:56:08 -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 1vDeYY-0008M2-OL for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:54 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeYT-00085g-Cp for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:55:49 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3ece1102998so4007346f8f.2 for ; Tue, 28 Oct 2025 00:55:43 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952ca979sm19241887f8f.14.2025.10.28.00.55.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:55:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638138; x=1762242938; 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=SgrlwEbBbokECIQjMQOcgQT5HbEwcbI2kgxYyH9CUJg=; b=mlQNaLGOHlQV70Y0dElWB6LsU3ImIFd4+iBYH4WsLs4LmgxUWp2mM2vP69xFrvtB6B 2X8XVp2myOCV+u/8+DKbOJu2gOnpiyk17aDm3e/wzrwd6imwhqXzCpJ1RcyNpXab5eLR MxaAWSXxjylLk0CwER3It6JlBtcWjEfbJhVRHq7z+vtgwccGpxQTBNVyJ2oUs0Lti8JR jigOMFwVNeKsGovj12zLnEU6HCY5OP5Bd5EIdBc0qzkeU6ZUOSseb0Vv9XgTscO7OwGF 7TE0hA5qUg9/GpfRndilB9hN5hjiSxsliol2MA/sLn7QFZO1rKktEJd4cvV0Njohrqqd Gwbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638138; x=1762242938; 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=SgrlwEbBbokECIQjMQOcgQT5HbEwcbI2kgxYyH9CUJg=; b=MpzR+AzDZYjVh/MoSVZaG/BPbV5Dw3aCL9p8vhgLCpYdu064SkZnkq9ftQWpYfbMtp yb3wXCa9pWUub95I8KKH43JyG/DFWEiKoSuS5TGCeC8zN0QS3qoJFSoDRl7O2AGB+wzl LkHVrRstsi8ApbfGmKLkNkjRuDfl6x80fDx+lCc5ocRtewrIlBlXbaeuM/WMBx2YbEsq LRGmDJaePSx47jRWcaxEDcwd9qSvj/4r0WqeQbKH1gpwBKZkPzxRERQh+JxSFGazMB4t UrfAQxz7Parp4B6TdVRACFtSrbJY97KNFam9MH+vlVWUhizg7BJy068MFagKg6VCPBnl c94Q== X-Gm-Message-State: AOJu0Yx5iezEVsArtxLIwNNteiKuwYF9bhb8Sdxzj8Eb91Cex5XTmuO7 tv+5NTW5wR9nDsXfXrKyN1WGOzVLEbbS3leHyWMQdsYz7a/6gcgeL3RFfgD/839xMmK1kVjOb/K 1tcHFBss= X-Gm-Gg: ASbGncviNk02K4IrR+JAKq2FVCUltkLWbChtzvF3nYbjL823MczudkMe7KMHev/KGQ7 RgIXOUMtc1/rZJcKkrAUcU7Pw1kHgi7HcR1XuSkmBsCfbXib7bsiggEZ+RI+D3mCrj29twbtuYP GkCwRjd3wG4HOBE/fwLjBeKQlJdobWm0wHNBiqM3gG9AODnubMRGNJyWFL2iEQxTKRFqhRitIjj gCfTF6m+zAbVV4Nhm7KLt6fekcgUM8Ozw8CRjklu3k97DCxu1xMudezdMa6Ws7n+e9ivBNSejeg 5Vk7dQSzVBnH1412nMzI1MaGkqzkt0jXCmUA0CZoQX2BqICuS/WRwtJd20dEoqxOiXXM9R+Jqvz 57xtGzmM2ejO9RT3XUO5NC+vBg1lBe0cfsYozeEBdYD//33CHefRn1oD2R1pKDGPO/z5E48ymop dbqYTK7R6gBH8gFYNZmIAyz4WIZYutIvgkjNQBAKtyHtjFnLFMZdziICk= X-Google-Smtp-Source: AGHT+IFbgGzFCmXQ3PmafVjqqWU2YpxDA8CadyM82dzrVzpgLvIeSbYa9R0HbfYVxfRgtPGZLE9AxQ== X-Received: by 2002:a05:6000:26d0:b0:426:d53a:fbb6 with SMTP id ffacd0b85a97d-429a7e75edbmr1958133f8f.31.1761638138265; Tue, 28 Oct 2025 00:55:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Alistair Francis , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 18/23] hw/core/loader: Pass errp to load_image_targphys_as() Date: Tue, 28 Oct 2025 08:48:54 +0100 Message-ID: <20251028074901.22062-19-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.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 @linaro.org) X-ZM-MESSAGEID: 1761638196582158500 From: Vishal Chourasia Pass errp to load_image_targphys_as() in generic-loader and guest-loader to capture detailed error information from the loader functions. Use error_prepend() instead of error_setg() to preserve the underlying error details while adding context about which image failed to load. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-12-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/generic-loader.c | 4 ++-- hw/core/guest-loader.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index 6689847c33f..433efb73872 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -149,13 +149,13 @@ static void generic_loader_realize(DeviceState *dev, = Error **errp) if (size < 0 || s->force_raw) { /* Default to the maximum size being the machine's ram size */ size =3D load_image_targphys_as(s->file, s->addr, - current_machine->ram_size, as, NULL); + current_machine->ram_size, as, errp); } else { s->addr =3D entry; } =20 if (size < 0) { - error_setg(errp, "Cannot load specified image %s", s->file); + error_prepend(errp, "Cannot load specified image %s: ", s->fil= e); return; } } diff --git a/hw/core/guest-loader.c b/hw/core/guest-loader.c index 59f325ad9c5..618455e5566 100644 --- a/hw/core/guest-loader.c +++ b/hw/core/guest-loader.c @@ -101,9 +101,9 @@ static void guest_loader_realize(DeviceState *dev, Erro= r **errp) =20 /* Default to the maximum size being the machine's ram size */ size =3D load_image_targphys_as(file, s->addr, current_machine->ram_si= ze, - NULL, NULL); + NULL, errp); if (size < 0) { - error_setg(errp, "Cannot load specified image %s", file); + error_prepend(errp, "Cannot load specified image %s: ", file); return; } =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638206; cv=none; d=zohomail.com; s=zohoarc; b=hrHIAKhIwwgwHRu0Wn/1rt+fH8HnvqQZ1LNCMpE2d9ABAJw8RTP+DfhOkEEpGm9UCOtOVdxzGxW8Y0m4ZbOwi4IQ9WFe1Wx/+7vESVgcJgwdc5hr1Vo51KdKLxh580txoPhQopvTKkgEFaDRxlR7ofsmz3/A2n1Hl5f4UXQj+4Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638206; 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=lF28QKdT3RfIB/W6XCisIVlSd4+8PsjB71ZnMRL0G44=; b=Y87H/poU+UC+ml7a+gyKG3upjK0vMcMvA8K1dCUwD0OCBMK1J8A8pCfTTJcI3g/d353mMP/f3upts1hmn6vSbKFhw1gLSrHqVaUgROz2l0LFfc1OX+04MWBlJXY6FQop8iyEngAWDKjQbxqVWK4EKNGzjXtPY2dlRQkkkKPd1d8= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638206324184.33614618361446; Tue, 28 Oct 2025 00:56:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeZ0-0000CH-Kd; Tue, 28 Oct 2025 03:56:19 -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 1vDeYr-000063-8B for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:12 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeYn-00087u-7t for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:08 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4770e7062b5so16839325e9.2 for ; Tue, 28 Oct 2025 00:56:04 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd4783b8sm181131845e9.15.2025.10.28.00.55.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638161; x=1762242961; 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=lF28QKdT3RfIB/W6XCisIVlSd4+8PsjB71ZnMRL0G44=; b=ivBcSU9RnFxi955TK7RlYN8ToTS3/e6OnU0abUKzsfI98Vw0ziYgJuI8lsuyVeFRkH yM4sVuP8mN/fFt1eb3g1p+ej+wInjH+NIx6GpsK2EgLk8opyRqY5IozmIxGLBtzex3hj MsyKxxYVGNjm/tN0k7XAsdwZlD+SMcZswjnEPuovJ3ZDv8IZOwcwxSWqbQbHpcYhQVHL 2teLA+79mT9luCk3bS2+8/N7PdWU93vJNZjqOGcC+UENkpa9Y+ky/vlybtnu3tIjhFGn +JpGZ1P1PRwo+4DZvCttaFKKrQzy+FeJoc77MfaXaDKFstxBfbo53bA38QrUUUx89Km6 WNnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638161; x=1762242961; 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=lF28QKdT3RfIB/W6XCisIVlSd4+8PsjB71ZnMRL0G44=; b=bvt9sXUemtmqJ320WrZcZdFcD9L2vZ+FxAHrZkJHLhsNIpgPQsz8O2zU6Z8j7bF3qF YOQl3t9zZ2rqwASRONtq3sZ9kSBJYhb0vHqohtKBDooK32FvXXj65S0Vo7+4KTcDHjM4 ngvm7uxZJD+sWY/K0l9xPMKOYEV7F95e8qwPta9LAniC2yDk5QZNFWB3W4kzvNvFnu3k pyxYp6DqSSta7h98aBnsZQtMu0O6QC65Tsk+CSDqV+tU5eekQWxwAwpIlAriVTC4swE5 V57jIJ/j58kmcuenHcQPL6vpy4mIXJwPNnJQyLFNAT4HqICCEQXS5013aSVSeif75RPN 6I2w== X-Gm-Message-State: AOJu0YwDUjTAM4Af6OMUX19CT58TSSeHGXjQcmOr+W8CyKC/wS2n5FOC 8aa1bNCcPO9FcAZq0xhoDkK0uDPcffDtIDD80xqem5gJQ5GRNDn2k4DGWe8Wgqf8pgX30YOahRE jlyLU6q8= X-Gm-Gg: ASbGncv4I/OgJb6Nc8X8DAFx+GApLeylC32GYKh9hp5gurmHV8aRB0LgrG5f/tHnosx 256ZOvmlYTfvwCq1AGq6NkpDBtLRxzSpAiso7b7yhn3rcYfm/oSP+vZ2oIn+GXPs0JKfBmpLMBa cXPJPr/HjLcvpf7bFdGO3euaX7kYFNXqLwid/Tg7hDEWgK6xbJoI7ksMxe3CMacG6MRhKPwh142 dMrwnaI8ING17iIWrCP0jQPOewTRaOO/f/ILTx3DVzGfvsGllde+Dk3IRv6fZcwdwmG4Vbth027 u4N2QWEtI4wqCh2JLEoBJ0ZDVhLjFuhU7MZ5Cx2IFamEiWxLXA6UCekl7zpxaddnQ6I3Q4DQwNs Rlp4reZm1IgeQLXEJPBRsLNgydme5DCSRg1eI9TnElEahJWpHp0oLgeJKV7m85DH5zLxj1jXM/L qWvCnDWw8wBoLbJ4bROf1oFIsssqjOId422glcTy55XvHiYqEt1CDKJ1I= X-Google-Smtp-Source: AGHT+IH97XIWgZ94XsCwA9YCZQjyfoTtiHGb4Jhygm3ekbasZL0s6GjW0oJcsAgz90j0ZINdWSweXg== X-Received: by 2002:a05:600c:3b14:b0:46e:394b:49b7 with SMTP id 5b1f17b1804b1-47717e7cca6mr18280415e9.37.1761638161087; Tue, 28 Oct 2025 00:56:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Vishal Chourasia , Aditya Gupta , BALATON Zoltan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bernhard Beschow , Mark Cave-Ayland , Nicholas Piggin , Glenn Miles , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Harsh Prateek Bora , "Edgar E. Iglesias" , qemu-ppc@nongnu.org Subject: [PULL 19/23] hw/ppc: Pass error_fatal to load_image_targphys() Date: Tue, 28 Oct 2025 08:48:55 +0100 Message-ID: <20251028074901.22062-20-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 @linaro.org) X-ZM-MESSAGEID: 1761638209038154100 From: Vishal Chourasia Pass error_fatal to load_image_targphys() calls in ppc machine initializati= on to capture detailed error information when loading firmware, kernel, and initrd images. Passing error_fatal automatically reports detailed error messages and exits immediately on failure. Eliminating redundant exit(1) calls, as error_fatal handles termination The behavior remains functionally identical, but error messages now come directly from the loader function with more context about the failure cause. Reviewed-by: Aditya Gupta Reviewed-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Vishal Chourasia Message-ID: <20251024130556.1942835-14-vishalc@linux.ibm.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ppc/amigaone.c | 13 ++----------- hw/ppc/e500.c | 19 +++---------------- hw/ppc/mac_newworld.c | 16 +++------------- hw/ppc/mac_oldworld.c | 16 +++------------- hw/ppc/pegasos2.c | 9 ++------- hw/ppc/pnv.c | 28 +++++----------------------- hw/ppc/ppc440_bamboo.c | 8 +------- hw/ppc/prep.c | 17 ++++------------- hw/ppc/sam460ex.c | 7 +------ hw/ppc/spapr.c | 13 ++----------- hw/ppc/virtex_ml507.c | 10 ++-------- 11 files changed, 28 insertions(+), 128 deletions(-) diff --git a/hw/ppc/amigaone.c b/hw/ppc/amigaone.c index 192474e0aee..74a1fa3b635 100644 --- a/hw/ppc/amigaone.c +++ b/hw/ppc/amigaone.c @@ -324,11 +324,7 @@ static void amigaone_init(MachineState *machine) error_report("Could not find firmware '%s'", machine->firmware= ); exit(1); } - sz =3D load_image_targphys(filename, PROM_ADDR, PROM_SIZE, NULL); - if (sz <=3D 0 || sz > PROM_SIZE) { - error_report("Could not load firmware '%s'", filename); - exit(1); - } + sz =3D load_image_targphys(filename, PROM_ADDR, PROM_SIZE, &error_= fatal); } =20 /* Articia S */ @@ -413,12 +409,7 @@ static void amigaone_init(MachineState *machine) loadaddr =3D ROUND_UP(loadaddr + 4 * MiB, 4 * KiB); loadaddr =3D MAX(loadaddr, INITRD_MIN_ADDR); sz =3D load_image_targphys(machine->initrd_filename, loadaddr, - bi->bd_info - loadaddr, NULL); - if (sz <=3D 0) { - error_report("Could not load initrd '%s'", - machine->initrd_filename); - exit(1); - } + bi->bd_info - loadaddr, &error_fatal); bi->initrd_start =3D loadaddr; bi->initrd_end =3D loadaddr + sz; } diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 418e1bb2fb4..8842f7f6b88 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1226,14 +1226,8 @@ void ppce500_init(MachineState *machine) if (machine->kernel_filename && !kernel_as_payload) { kernel_base =3D cur_base; kernel_size =3D load_image_targphys(machine->kernel_filename, - cur_base, - machine->ram_size - cur_base, NU= LL); - if (kernel_size < 0) { - error_report("could not load kernel '%s'", - machine->kernel_filename); - exit(1); - } - + cur_base, machine->ram_size - cur_ba= se, + &error_fatal); cur_base +=3D kernel_size; } =20 @@ -1242,14 +1236,7 @@ void ppce500_init(MachineState *machine) initrd_base =3D (cur_base + INITRD_LOAD_PAD) & ~INITRD_PAD_MASK; initrd_size =3D load_image_targphys(machine->initrd_filename, init= rd_base, machine->ram_size - initrd_base, - NULL); - - if (initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - machine->initrd_filename); - exit(1); - } - + &error_fatal); cur_base =3D initrd_base + initrd_size; } =20 diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 004efc6b97b..951de4bae4b 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -189,7 +189,7 @@ static void ppc_core99_init(MachineState *machine) if (bios_size <=3D 0) { /* or load binary ROM image */ bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE, - NULL); + &error_fatal); } g_free(filename); } @@ -212,12 +212,7 @@ static void ppc_core99_init(MachineState *machine) kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, machine->ram_size - kernel_b= ase, - NULL); - } - if (kernel_size < 0) { - error_report("could not load kernel '%s'", - machine->kernel_filename); - exit(1); + &error_fatal); } /* load initrd */ if (machine->initrd_filename) { @@ -225,12 +220,7 @@ static void ppc_core99_init(MachineState *machine) initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, machine->ram_size - initrd_b= ase, - NULL); - if (initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - machine->initrd_filename); - exit(1); - } + &error_fatal); cmdline_base =3D TARGET_PAGE_ALIGN(initrd_base + initrd_size); } else { cmdline_base =3D TARGET_PAGE_ALIGN(kernel_base + kernel_size += KERNEL_GAP); diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index c7e44d49b07..cd2bb46442f 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -144,7 +144,7 @@ static void ppc_heathrow_init(MachineState *machine) if (bios_size <=3D 0) { /* or if could not load ELF try loading a binary ROM image */ bios_size =3D load_image_targphys(filename, PROM_BASE, PROM_SI= ZE, - NULL); + &error_fatal); bios_addr =3D PROM_BASE; } g_free(filename); @@ -168,12 +168,7 @@ static void ppc_heathrow_init(MachineState *machine) kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, machine->ram_size - kernel_b= ase, - NULL); - } - if (kernel_size < 0) { - error_report("could not load kernel '%s'", - machine->kernel_filename); - exit(1); + &error_fatal); } /* load initrd */ if (machine->initrd_filename) { @@ -182,12 +177,7 @@ static void ppc_heathrow_init(MachineState *machine) initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, machine->ram_size - initrd_b= ase, - NULL); - if (initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - machine->initrd_filename); - exit(1); - } + &error_fatal); cmdline_base =3D TARGET_PAGE_ALIGN(initrd_base + initrd_size); } else { cmdline_base =3D TARGET_PAGE_ALIGN(kernel_base + kernel_size += KERNEL_GAP); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index a9e706644c5..3c02c53c3aa 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -198,7 +198,7 @@ static void pegasos_init(MachineState *machine) ELFDATA2MSB, PPC_ELF_MACHINE, 0, 0); if (sz <=3D 0) { sz =3D load_image_targphys(filename, pm->vof ? 0 : prom_addr, PROM= _SIZE, - NULL); + &error_fatal); } if (sz <=3D 0 || sz > PROM_SIZE) { error_report("Could not load firmware '%s'", filename); @@ -302,12 +302,7 @@ static void pegasos_init(MachineState *machine) pm->initrd_addr =3D ROUND_UP(pm->initrd_addr, 4); pm->initrd_addr =3D MAX(pm->initrd_addr, INITRD_MIN_ADDR); sz =3D load_image_targphys(machine->initrd_filename, pm->initrd_ad= dr, - machine->ram_size - pm->initrd_addr, NULL= ); - if (sz <=3D 0) { - error_report("Could not load initrd '%s'", - machine->initrd_filename); - exit(1); - } + machine->ram_size - pm->initrd_addr, &error_fa= tal); pm->initrd_size =3D sz; } =20 diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 1c0dadda876..895132da91b 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1009,7 +1009,6 @@ static void pnv_init(MachineState *machine) PnvMachineClass *pmc =3D PNV_MACHINE_GET_CLASS(machine); int max_smt_threads =3D pmc->max_smt_threads; char *fw_filename; - long fw_size; uint64_t chip_ram_start =3D 0; int i; char *chip_typename; @@ -1068,26 +1067,14 @@ static void pnv_init(MachineState *machine) exit(1); } =20 - fw_size =3D load_image_targphys(fw_filename, pnv->fw_load_addr, FW_MAX= _SIZE, - NULL); - if (fw_size < 0) { - error_report("Could not load OPAL firmware '%s'", fw_filename); - exit(1); - } + load_image_targphys(fw_filename, pnv->fw_load_addr, FW_MAX_SIZE, + &error_fatal); g_free(fw_filename); =20 /* load kernel */ if (machine->kernel_filename) { - long kernel_size; - - kernel_size =3D load_image_targphys(machine->kernel_filename, - KERNEL_LOAD_ADDR, KERNEL_MAX_SIZ= E, - NULL); - if (kernel_size < 0) { - error_report("Could not load kernel '%s'", - machine->kernel_filename); - exit(1); - } + load_image_targphys(machine->kernel_filename, + KERNEL_LOAD_ADDR, KERNEL_MAX_SIZE, &error_fata= l); } =20 /* load initrd */ @@ -1095,12 +1082,7 @@ static void pnv_init(MachineState *machine) pnv->initrd_base =3D INITRD_LOAD_ADDR; pnv->initrd_size =3D load_image_targphys(machine->initrd_filename, pnv->initrd_base, - INITRD_MAX_SIZE, NULL); - if (pnv->initrd_size < 0) { - error_report("Could not load initial ram disk '%s'", - machine->initrd_filename); - exit(1); - } + INITRD_MAX_SIZE, &error_fat= al); } =20 /* load dtb if passed */ diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 7c66912c103..7e739a21147 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -243,13 +243,7 @@ static void bamboo_init(MachineState *machine) if (initrd_filename) { initrd_size =3D load_image_targphys(initrd_filename, RAMDISK_ADDR, machine->ram_size - RAMDISK_ADDR, - NULL); - - if (initrd_size < 0) { - error_report("could not load ram disk '%s' at %x", - initrd_filename, RAMDISK_ADDR); - exit(1); - } + &error_fatal); } =20 /* If we're loading a kernel directly, we must load the device tree to= o. */ diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 0759e95cb64..c2fe16e985a 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -280,7 +280,8 @@ static void ibm_40p_init(MachineState *machine) bios_size =3D load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, N= ULL, ELFDATA2MSB, PPC_ELF_MACHINE, 0, 0); if (bios_size < 0) { - bios_size =3D load_image_targphys(filename, BIOS_ADDR, BIOS_SIZE, = NULL); + bios_size =3D load_image_targphys(filename, BIOS_ADDR, BIOS_SIZE, + &error_fatal); } if (bios_size < 0 || bios_size > BIOS_SIZE) { error_report("Could not load bios image '%s'", filename); @@ -380,12 +381,7 @@ static void ibm_40p_init(MachineState *machine) kernel_size =3D load_image_targphys(machine->kernel_filename, kernel_base, machine->ram_size - kernel_base, - NULL); - if (kernel_size < 0) { - error_report("could not load kernel '%s'", - machine->kernel_filename); - exit(1); - } + &error_fatal); fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); /* load initrd */ @@ -394,12 +390,7 @@ static void ibm_40p_init(MachineState *machine) initrd_size =3D load_image_targphys(machine->initrd_filename, initrd_base, machine->ram_size - initrd_b= ase, - NULL); - if (initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - machine->initrd_filename); - exit(1); - } + &error_fatal); fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); } diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 68d3eacbff8..258d43f8d2d 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -495,12 +495,7 @@ static void sam460ex_init(MachineState *machine) initrd_size =3D load_image_targphys(machine->initrd_filename, RAMDISK_ADDR, machine->ram_size - RAMDISK_ADDR, - NULL); - if (initrd_size < 0) { - error_report("could not load ram disk '%s' at %x", - machine->initrd_filename, RAMDISK_ADDR); - exit(1); - } + &error_fatal); } =20 /* If we're loading a kernel directly, we must load the device tree to= o. */ diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index cdf2fdeadc2..99b843ba2fa 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2854,11 +2854,7 @@ static void spapr_machine_init(MachineState *machine) error_report("Could not find LPAR firmware '%s'", bios_name); exit(1); } - fw_size =3D load_image_targphys(filename, 0, FW_MAX_SIZE, NULL); - if (fw_size <=3D 0) { - error_report("Could not load LPAR firmware '%s'", filename); - exit(1); - } + fw_size =3D load_image_targphys(filename, 0, FW_MAX_SIZE, &error_fatal= ); =20 /* * if Secure VM (PEF) support is configured, then initialize it @@ -3117,12 +3113,7 @@ static void spapr_machine_init(MachineState *machine) spapr->initrd_size =3D load_image_targphys(initrd_filename, spapr->initrd_base, load_limit - spapr->initrd= _base, - NULL); - if (spapr->initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - initrd_filename); - exit(1); - } + &error_fatal); } } =20 diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 00d9ab75090..43a6d505a84 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -253,7 +253,7 @@ static void virtex_init(MachineState *machine) /* If we failed loading ELF's try a raw image. */ kernel_size =3D load_image_targphys(kernel_filename, boot_offset, - machine->ram_size, NULL); + machine->ram_size, &error_fa= tal); boot_info.bootstrap_pc =3D boot_offset; high =3D boot_info.bootstrap_pc + kernel_size + 8192; } @@ -265,13 +265,7 @@ static void virtex_init(MachineState *machine) initrd_base =3D high =3D ROUND_UP(high, 4); initrd_size =3D load_image_targphys(machine->initrd_filename, high, machine->ram_size - hi= gh, - NULL); - - if (initrd_size < 0) { - error_report("couldn't load ram disk '%s'", - machine->initrd_filename); - exit(1); - } + &error_fatal); high =3D ROUND_UP(high + initrd_size, 4); } =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638215; cv=none; d=zohomail.com; s=zohoarc; b=lXrKfe8faD7C24rM08LRCyBOC5vV2lUeAJNz1Pk9Z7kxSloxc7pIB23yvvSvQI9sxZiID8iLNPX6MRt/lh3+MVZZVA4Y9fouo9DFvP6kfBQ3MqitmXocEy8ffs/1pYHbjYYihY/+tAN0CkESLMMQmEFDDBcpRDyJEj5G+RtxAYI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638215; 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=Xvt81oTocua1Ta8tXB0FL77zCb5dz+PU0F1ycKw4jeM=; b=Fo/ojQIXEpqMyL/ugWRHVAbFvAllo4PAG351Dt1IoJAV9pq4CtoA6iiPV3BTnYKbvBiGseZGBzKjjYgtXo2pOTwiPkI3IG8QMvg74nUulSVhYulfrHXXZcraUuyZXgMcJde1FZoF0e4DpvALI/gxj8fwXDXKPO6VfXbCs99knV4= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638215946413.71510731067974; Tue, 28 Oct 2025 00:56:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeZH-0000l4-DC; Tue, 28 Oct 2025 03:56: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 1vDeZE-0000dl-LD for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:33 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeZ9-0008AB-Vk for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:31 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-475dae5d473so31915225e9.2 for ; Tue, 28 Oct 2025 00:56:26 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd4cc596sm184463205e9.15.2025.10.28.00.56.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:56:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638183; x=1762242983; 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=Xvt81oTocua1Ta8tXB0FL77zCb5dz+PU0F1ycKw4jeM=; b=YkmuXmSrJoVBUYT7M7zn6e4shHg4HODH9AQJ7wygtt35qHhamYzW8XTA1yhUlnHJ0t j8AN91rvtOrefPYoVesumlhvWutskUYOY1qAZzCtcr8iLKv+4K/nwIK1yO1w9QsJWbe3 38aMCsbz9H8gwXyyFYQkIn2R08dg5z0b7Cqe13KdQJk3rYZR/WV6fuObumusjgEktCJG fQZQV8zFCU+3fHZlKfPS2pvRecFaKsQwOleCA3sZ2bsu4adzkjGcTjbex+i+VBkK9DB5 kdW46tfqN3JwUwyIi22YbJG9PiRUydt3j2gVv/W+Wh7Z1p3jULpw3xKSGKGBKq+NDQ4j uY0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638183; x=1762242983; 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=Xvt81oTocua1Ta8tXB0FL77zCb5dz+PU0F1ycKw4jeM=; b=Izk7uqX6TiBXNaSGP93MgP8eZhQDrC+2mvpvuglaNVQcdo09oECGnrOKITatp3Z4wW G/XH1Bsgx2pjvLeKRUEZ71q2kH/aZGT1YzdM0Owd9r1+Mjix/99DlwXFKaj0YQfNIz1z R3ElZW6vtDRpqrS+TKrTXKdUV6KNhhQgHbeO+rnerwG/7h6IM86OcPh/U5f37lnmPDDg tnqqvRUvHjeVcF0MmkvjouStN/mNiYw9U5/g3b7hmHE1hvu0/btgx0f25aCWIiVv0yBj CVPvUNdfyPH8NE4s5pezJr30qL4MYYgXJYfKEIJD8VMWllNC+BDfZiqs7BdrNhKW37rf TpgQ== X-Gm-Message-State: AOJu0YzgZdh7ztMa9d/Lpy/7sunowNCp1TOZBn4WsmbnErunsgxAhIJE gg3HI6WMHGWPCwvIYyK9T41C8bSg9WsUv9SriW9a+kW6WhZleUHi8+rY0O6+Nx9jgfhM8eSlXe/ DE4eTJYI= X-Gm-Gg: ASbGncuAaYofF8d0SwNkj7ewCwuZPAQ04nBYfW0PsX1kmkKn7Cfm2JCTdsKASQCpMKH g4i8fkSQLC2ptlw4u8nsBj298Q6HZAKyDXxVjPP82vDjdt+30LWm6fRTddZzSf1a7IkNXa382wr 3FKEMqadYkRie5NFOoJuPiWC1iGxuzHSxXyVpQEYjqUxQbHTSLkEz76NuzY/p1fBbHL28MZ8UyM PNSp5DfM7hLYOOJh67nkzNcWHDoozAKKm/yCAgmhOCGg7ksdhEgX44COThkTVyyBeJc3u1dAFqk oWLk+rszhfTCj4yNgEjXJ7AfIT3priXRAx2JkLpdCJdPMUhcin7foYr6nRy2f7Miwy0t52jEeF0 FjTOl3vDFtNGiu6Wrgn0vqkvXnOWawDvufjGzXfmV8aACOQbAenD+vX9RO8zRoEtcerWACpEKu6 uvp0fVV+1vSc5bJ1yfPvNgokEmsZ4GAdBY7GjW6f3gz3YPKzbBZZHWNm4= X-Google-Smtp-Source: AGHT+IHJczaNa5566go8c3wZ290JctSo/N/xFdkjbKFVABKLNDJwm74dH07xf5bTDNLHO2QyujEMDg== X-Received: by 2002:a05:600c:4fd6:b0:476:929e:d07c with SMTP id 5b1f17b1804b1-47717dfc3bamr16019745e9.14.1761638182757; Tue, 28 Oct 2025 00:56:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Akihiko Odaki , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Rikalo Subject: [PULL 20/23] nw/nvram/ds1225y: Fix nvram MemoryRegion owner Date: Tue, 28 Oct 2025 08:48:56 +0100 Message-ID: <20251028074901.22062-21-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 @linaro.org) X-ZM-MESSAGEID: 1761638217100154100 From: Akihiko Odaki s points to the MemoryRegion itself. dev points to DS1225Y, the real owner. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20251027-ds1225y-v1-1-406888eb495f@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/nvram/ds1225y.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/nvram/ds1225y.c b/hw/nvram/ds1225y.c index dbfd0d2e536..0945e36652e 100644 --- a/hw/nvram/ds1225y.c +++ b/hw/nvram/ds1225y.c @@ -126,7 +126,7 @@ static void nvram_sysbus_realize(DeviceState *dev, Erro= r **errp) =20 s->contents =3D g_malloc0(s->chip_size); =20 - memory_region_init_io(&s->iomem, OBJECT(s), &nvram_ops, s, + memory_region_init_io(&s->iomem, OBJECT(dev), &nvram_ops, s, "nvram", s->chip_size); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638233; cv=none; d=zohomail.com; s=zohoarc; b=geb4jmqKHMXkaD6cESzC+zGpKtMaFjJQyvdjE0MXjmn167a2ALm89d1ALa54YYQJgI4A/fvbTULibvb5NFxi3wDNQGrKRdgqOj//npCquUYx1SvAtaCfb92ic4dnJu0diWYPmvzSpq62b2J+ScIXNE6CzQCDDeGsYk9Ebo8Y2Ik= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638233; 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=aA3Jled4nIy1f54j9mS608CN8DTZojtQYyTk2220hvI=; b=PzwALe3HPuGGWXvqcHi0rl74s8RByIzRQ/KhAnqfU+rpYvflp2DOuju/xovMfXN9GHY+S5eLpeHppi1TjRPQOeXkdbJRpYlKrnhbFoXNomT2kZY7Zt3wtK8fXlIQH8Jpyk4uTJ6/IY7b6CwJ/jnogvTP9td0S6ihuLQmJNfXuaI= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638233565403.54517045103125; Tue, 28 Oct 2025 00:57:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeZh-000208-1Q; Tue, 28 Oct 2025 03:57:01 -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 1vDeZd-0001r3-SL for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:57 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeZX-0008Bv-UI for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:56:57 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-47118259fd8so42525015e9.3 for ; Tue, 28 Oct 2025 00:56:51 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4771904b26esm12773225e9.10.2025.10.28.00.56.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638205; x=1762243005; 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=aA3Jled4nIy1f54j9mS608CN8DTZojtQYyTk2220hvI=; b=iYBZIQ8+tSvK8aRre+etdX7RYqogMQ2/4GEuxzLagwhhAgxMqTl9xMLzKrT6HpGNhK OTc4aZ4p1gv/RjYsvkNI8GvqlYunxTgS8u0jwMaq1FhEPY2ctP/jcibnCOrj2+Uq16h1 a1CVGrTuksFX2uaJxyA20AXcTTCRQi9b5AAcxuvzectYNrSLprkewzgGJSvittel7alW inX7QJr8Q66Xs1CTpbTfpUR4BAIQnzWydsnwzKd5Ekt7uSJJOOmeJiPig2LtQISUi777 ARSwvPCwZn22i+11eylNrQuQNG+ZXol+YsgyywlP233Pkw1xxfX7FA9Cv7nusJ6HpIeE R+jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638205; x=1762243005; 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=aA3Jled4nIy1f54j9mS608CN8DTZojtQYyTk2220hvI=; b=dXvMx5/n1wQCNKzc+JZdkuSao0kzMzW3zyrOrf0h8Eas+IAx2dsfcp5YrBlpiaI8Pc 9q/P/W3ZYlD2AyjUPmJU3hLx7KVUg+Vu2RknU99p5134kjFHDBjoGjbuxleGsoMjFwKs /b5w1HWIzejATDpA4vmjD8uuyZ5kES8yErtqVc2xkUte4/QDHaGNLakFBjwYSBlWo9Vp VICsNiQjhvAjkG9E4ZW/YaSnVUZgQNPbxD5GecuNuy5nak58cpsuPrSWafOEeKWvF94x U5AeE0fPcvAZN/RA+q+3o+Y4PU6x/6jELBMwkHzBuZgl4xAq4WXZXxtI8fGOtzPF61cM TTtA== X-Gm-Message-State: AOJu0Yx6Rbp0Julm8aPSWWZ43AZSgSFx04XXA629eUK8m7TGOUablUTj gnt2XpC6JQ20fxt2IM3Oko7+TY/M9+2R+7jVqTTY2nwGSl2ZNFLLB9mIgv2SI1Yoe/TSuxT5Aju SKv0vhsI= X-Gm-Gg: ASbGncsCHc7g6uu1IwW+4GRLvb2F4Qm8aUSVK95ayHkIk1rWOM17aTme27JDimAkVH+ cpHk0YbBL2q1AJTXZMUjFKcQkuV6kcF1NMCagSzyKdcwF06rrIOuLvaEIqZzljeYzXYYFyz3bVE j9Vv2tkEDPMxaZMn4d6xU021kS7DCQBNhh8Hw0xnYsvEe2KCzAIQ4jKAgRZ/DEC8GQYNZxpISgr L8Sky/bB+fLs+RMB8j5o33v8qWxIL/uu86lUyXc/m3LETbYY1njLXPC/HDnHKE+/Bxga75vt4Y4 jLNQCjYgZuGrVFYTtIRQ1abAF9wcwEHutOe9VNndJzL9F8mQOrN9y0KdtE59G3O7OX5lobtkUUl Gcl1hku68MWdMv6Wlt3PRwJB1wTfWgLGc+BtGx7Yyr1f9T1MkLXPUeYlGEUT+pCJJt179jppRyj bcmd6bNlhMzfZiz09ziqI7Vw6pY5ailJrXDAGDdIJNPRoMurvnqTosIIY= X-Google-Smtp-Source: AGHT+IE0ovErx6uBtDZxP3+beEeE9IANGM0pKlw/l3sNVsmr6vjlkHvtVYQyKN1AbZyoNQ4dGT45kg== X-Received: by 2002:a05:600c:34c4:b0:46e:4246:c90d with SMTP id 5b1f17b1804b1-47717dfa47bmr17961025e9.11.1761638204633; Tue, 28 Oct 2025 00:56:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: CLEMENT MATHIEU--DRIF , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S. Tsirkin" , Jason Wang , Yi Liu , Marcel Apfelbaum Subject: [PULL 21/23] hw/i386/intel_iommu: Remove an unused state field Date: Tue, 28 Oct 2025 08:48:57 +0100 Message-ID: <20251028074901.22062-22-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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 @linaro.org) X-ZM-MESSAGEID: 1761638235226154100 From: CLEMENT MATHIEU--DRIF dma_translation has been moved to x86-iommu and is no longer referenced. Fixes: b6b49c2cd6c2 (intel-iommu: Move dma_translation to x86-iommu) Signed-off-by: Clement Mathieu--Drif Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20251027075232.95262-1-clement.mathieu--drif@eviden.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/i386/intel_iommu.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index 47730ac3c76..b2f1ef9595d 100644 --- a/include/hw/i386/intel_iommu.h +++ b/include/hw/i386/intel_iommu.h @@ -307,7 +307,6 @@ struct IntelIOMMUState { bool buggy_eim; /* Force buggy EIM unless eim=3Doff */ uint8_t aw_bits; /* Host/IOVA address width (in bits) */ bool dma_drain; /* Whether DMA r/w draining enabled */ - bool dma_translation; /* Whether DMA translation supported */ bool pasid; /* Whether to support PASID */ bool fs1gp; /* First Stage 1-GByte Page Support */ =20 --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638245; cv=none; d=zohomail.com; s=zohoarc; b=JlzonRQ9ZR1g1rt9DF6PKhHJyqM1LW9jwqDULtsi5Ugo+mLD0G4r9AowzE6ri8bdZf2Pj1gBGrYZbzZ5hvn34eKw8PGaw3yWxYXPfqDnlcTo10QQixRwvFVVa9l2aSTR39pNXua11aF9GaYsRG7sziPy8MqSVxeifMRBOzRE+Dc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638245; 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=ymV3SGVrH7y3KZx6sZDf7SmKtbSYLXVGt7ImLouOcxk=; b=cN+hvXN/dO8rAH9+eiODjBHSDgYmiQGJw+U5yO31b+RpRaGV1zMCLQ9d30azdtWlnLyKi9Gq3modAWm/dMEEWXCNi79wEOu4YHpa1M7MtftYEUpL/AIjHpoVQwL//2o51XyPgrwnzYkv+Lc7wMOjpTEGXhZZ4OaITTGAVy+qaJk= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638245260872.15389246484; Tue, 28 Oct 2025 00:57:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeZw-0002p5-JM; Tue, 28 Oct 2025 03:57:17 -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 1vDeZu-0002i7-FM for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:57:14 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeZp-0008DB-RJ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:57:13 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-471191ac79dso58946785e9.3 for ; Tue, 28 Oct 2025 00:57:09 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475dd4a36easm181602685e9.10.2025.10.28.00.57.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:57:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638227; x=1762243027; 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=ymV3SGVrH7y3KZx6sZDf7SmKtbSYLXVGt7ImLouOcxk=; b=lppCBn1QGoDHNoAnMPZQCEFofJEC8Gliu3276u/Vv6ywA1LFv0NLwHoRUXTPXa8Qzj u/+H9vft4cR7iGlGJEz+WEzvJxw9o5qN9sLk1gXgD8LLlYT7cgoJjqYFUxxkR0EDxfjD tQP3yv6bcDqwOxDEVqIDn/LgmC7duMZmPfVVc8hsorJ8qjm4kRA8TiAAr01YyHYUT8zz SEoFSvd646hDp2p5vecTLlctxgAsE53gd1lFDUTDh/t5sMgfZtdeum76RGECM3xlA20h 8zK7SVddDVsfLzmdBKX8GCc4ICY1O9cwmH98DeBk67EpdGwWhH25FezkhYrzfYzDohD1 GUFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638227; x=1762243027; 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=ymV3SGVrH7y3KZx6sZDf7SmKtbSYLXVGt7ImLouOcxk=; b=H+Y3v210TJAnSb+MBAnDD5rjMv3hWT88CcsEFX+uVuPgvu4n+FTqyHRAvLQPI9R5Ib k2ZwxQQpLoWiBC5mo42d8nv3BS29Ywks414Ouw4qnrJ9x1pJDlcSPA3Ws3Fu77y2j3Y9 yiIpyAXUDdVP3m5nMuXF+AaPMfFsIuB5wOLRzUceQ4kBp5hf984kzM//7QfuCaSr+67n QMCkyFCx+EA7PY5vaLKbXtbL38pLKo/Vy1tBUTbSScJgB5yeVij+aRQ+A4g3nwK+JCyG HnOEiQmblNSp/VEYtEKeRsYo4F2X9TZZ9vOHQslmgT19pdYO+Ktk2FVOOyHCo5ILT26L qTBw== X-Gm-Message-State: AOJu0YwnBJq6W7fYE6NfyerWp2TXNkhU99VuXIdLnUOib3IAU0Q7dbQ/ yRo6SR93HsM+UhPXrqj45ULh7uavqk5jatZFniJ90S5Q1H0e8TTuXC9g8RidYK6sRtjtUsFHtzg xoe2Q3CQ= X-Gm-Gg: ASbGncuSxcA16b7+cngRMnXsN4HGlXFAofNymp7DN0jnDuBSo3/50k4CvnLxhgM+oGd tXwNEdheSiDACtKcEhjmxYNbCJJampbEfpzvOCCgy9jREV5BwiC1X8zw41TwzrjvsfRsAfh8J9m N1oMPXpcX7N4+uR+qtZIZLEcBgRyEv3kepgm/Nx9pYvqcpT8+IBQg/szlRV9qKq0jZsQ/ZWf8Yi tgYh/FS2Z94aE2Me573HPAdyMdjHFX8B2Q+NhrA7WsGAtIvKIm3mbgTPJ0pJSDrf80kep9qRNED 6GaAG3rTNk+cfJy8B0cBYnlJ4A8Xz7rZMyRUtn781iqSmyL159vU1YcZdBy/O5uJbYg1GUB06bT YUa/XwLpacSeS8tYlIOkoMvGVaeJzDnT6iR9oLSWDijHkTamAh0Ijt0aKiSBi/PP3aFETlFD8R5 hKLOroosVEry6xjuXVPFzzVz29COQhQ4uq4J3Gm/hKfxMc0VmHMEtsKqQ= X-Google-Smtp-Source: AGHT+IEzcyi+jhyoxtulko/ZZogKg9aFYfACORxzD4PKHmKAydH8ZwXLh3/UXSeuEF++JcSKy2mc+Q== X-Received: by 2002:a05:600c:4ed4:b0:46e:3cd9:e56f with SMTP id 5b1f17b1804b1-47717df9e5emr23815245e9.6.1761638226510; Tue, 28 Oct 2025 00:57:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Anton Johansson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , qemu-riscv@nongnu.org Subject: [PULL 22/23] hw/riscv: Use generic hwaddr for firmware addresses Date: Tue, 28 Oct 2025 08:48:58 +0100 Message-ID: <20251028074901.22062-23-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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 @linaro.org) X-ZM-MESSAGEID: 1761638247358154100 From: Anton Johansson Signed-off-by: Anton Johansson Message-ID: <20251027-feature-single-binary-hw-v1-v2-1-44478d589ae9@rev.ng> Reviewed-by: Philippe Mathieu-Daud=C3=A9 [PMD: Do not update riscv_load_kernel()] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/riscv/boot.h | 18 +++++++++--------- hw/riscv/boot.c | 20 ++++++++++---------- hw/riscv/microchip_pfsoc.c | 2 +- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 4 ++-- hw/riscv/virt.c | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 7d59b2e6c63..51b0e13bd3e 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -43,18 +43,18 @@ bool riscv_is_32bit(RISCVHartArrayState *harts); char *riscv_plic_hart_config_string(int hart_count); =20 void riscv_boot_info_init(RISCVBootInfo *info, RISCVHartArrayState *harts); -target_ulong riscv_calc_kernel_start_addr(RISCVBootInfo *info, - target_ulong firmware_end_addr); -target_ulong riscv_find_and_load_firmware(MachineState *machine, - const char *default_machine_firm= ware, - hwaddr *firmware_load_addr, - symbol_fn_t sym_cb); +hwaddr riscv_calc_kernel_start_addr(RISCVBootInfo *info, + hwaddr firmware_end_addr); +hwaddr riscv_find_and_load_firmware(MachineState *machine, + const char *default_machine_firmware, + hwaddr *firmware_load_addr, + symbol_fn_t sym_cb); const char *riscv_default_firmware_name(RISCVHartArrayState *harts); char *riscv_find_firmware(const char *firmware_filename, const char *default_machine_firmware); -target_ulong riscv_load_firmware(const char *firmware_filename, - hwaddr *firmware_load_addr, - symbol_fn_t sym_cb); +hwaddr riscv_load_firmware(const char *firmware_filename, + hwaddr *firmware_load_addr, + symbol_fn_t sym_cb); void riscv_load_kernel(MachineState *machine, RISCVBootInfo *info, target_ulong kernel_start_addr, diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index f38078c8c22..9510fca939b 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -74,8 +74,8 @@ void riscv_boot_info_init(RISCVBootInfo *info, RISCVHartA= rrayState *harts) info->is_32bit =3D riscv_is_32bit(harts); } =20 -target_ulong riscv_calc_kernel_start_addr(RISCVBootInfo *info, - target_ulong firmware_end_addr) { +hwaddr riscv_calc_kernel_start_addr(RISCVBootInfo *info, + hwaddr firmware_end_addr) { if (info->is_32bit) { return QEMU_ALIGN_UP(firmware_end_addr, 4 * MiB); } else { @@ -133,13 +133,13 @@ char *riscv_find_firmware(const char *firmware_filena= me, return filename; } =20 -target_ulong riscv_find_and_load_firmware(MachineState *machine, - const char *default_machine_firm= ware, - hwaddr *firmware_load_addr, - symbol_fn_t sym_cb) +hwaddr riscv_find_and_load_firmware(MachineState *machine, + const char *default_machine_firmware, + hwaddr *firmware_load_addr, + symbol_fn_t sym_cb) { char *firmware_filename; - target_ulong firmware_end_addr =3D *firmware_load_addr; + hwaddr firmware_end_addr =3D *firmware_load_addr; =20 firmware_filename =3D riscv_find_firmware(machine->firmware, default_machine_firmware); @@ -154,9 +154,9 @@ target_ulong riscv_find_and_load_firmware(MachineState = *machine, return firmware_end_addr; } =20 -target_ulong riscv_load_firmware(const char *firmware_filename, - hwaddr *firmware_load_addr, - symbol_fn_t sym_cb) +hwaddr riscv_load_firmware(const char *firmware_filename, + hwaddr *firmware_load_addr, + symbol_fn_t sym_cb) { uint64_t firmware_entry, firmware_end; ssize_t firmware_size; diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c index 4c939d8e96c..a17f62cd082 100644 --- a/hw/riscv/microchip_pfsoc.c +++ b/hw/riscv/microchip_pfsoc.c @@ -521,7 +521,7 @@ static void microchip_icicle_kit_machine_init(MachineSt= ate *machine) uint64_t mem_low_size, mem_high_size; hwaddr firmware_load_addr; const char *firmware_name; - target_ulong firmware_end_addr, kernel_start_addr; + hwaddr firmware_end_addr, kernel_start_addr; uint64_t kernel_entry; uint64_t fdt_load_addr; DriveInfo *dinfo =3D drive_get(IF_SD, 0, 0); diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 3e1ed209ca9..a7492aa27a4 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -515,7 +515,7 @@ static void sifive_u_machine_init(MachineState *machine) MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *flash0 =3D g_new(MemoryRegion, 1); hwaddr start_addr =3D memmap[SIFIVE_U_DEV_DRAM].base; - target_ulong firmware_end_addr, kernel_start_addr; + hwaddr firmware_end_addr, kernel_start_addr; const char *firmware_name; uint32_t start_addr_hi32 =3D 0x00000000; uint32_t fdt_load_addr_hi32 =3D 0x00000000; diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 641aae8c019..b0bab3fe008 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -197,9 +197,9 @@ static void spike_board_init(MachineState *machine) SpikeState *s =3D SPIKE_MACHINE(machine); MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); - target_ulong firmware_end_addr =3D memmap[SPIKE_DRAM].base; + hwaddr firmware_end_addr =3D memmap[SPIKE_DRAM].base; hwaddr firmware_load_addr =3D memmap[SPIKE_DRAM].base; - target_ulong kernel_start_addr; + hwaddr kernel_start_addr; char *firmware_name; uint64_t fdt_load_addr; uint64_t kernel_entry; diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 47e573f85ab..17909206c7e 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1434,7 +1434,7 @@ static void virt_machine_done(Notifier *notifier, voi= d *data) machine_done); MachineState *machine =3D MACHINE(s); hwaddr start_addr =3D s->memmap[VIRT_DRAM].base; - target_ulong firmware_end_addr, kernel_start_addr; + hwaddr firmware_end_addr, kernel_start_addr; const char *firmware_name =3D riscv_default_firmware_name(&s->soc[0]); uint64_t fdt_load_addr; uint64_t kernel_entry =3D 0; --=20 2.51.0 From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1761638268; cv=none; d=zohomail.com; s=zohoarc; b=jMaguluD6LwhD28cyBWz36/nWQBCklFvsBb43NupNn6tN3skBFSfdk9n+LcjvD+TnAIG+/Bf4lUCUvFTk2K/oXI1zNlB/O01xi0ii9slJxP+C22C9xulpBeqoBAD+zA7iA15SQl8jsFiLSxN7SlYJPlDCEj2pVLQo3AVA8//CZQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761638268; 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=XAOz2csCYno2mCUJfERE/km5CitqJUewmQUOxMdlado=; b=gxOfrAxuwGLRDnNgelSu6IXjzCBjvfTXgciQXtDi4oRBeXXHeRp8sBv1tG8vTETLLEnte5AWDbhMXjLCiGQ94hlkOnmVSrzswDz9lxEgI1Bvl2g6eNtQx+ZbxB8Kx0V7LlkhA0JpEGSxUt4CCy9Ofk1nd+/HlmHpR6wywpW9v9A= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761638268507782.9998613977856; Tue, 28 Oct 2025 00:57:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDeaK-0003Zc-BO; Tue, 28 Oct 2025 03:57:41 -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 1vDeaG-0003Q8-AU for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:57:36 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDeaC-0008Ed-1R for qemu-devel@nongnu.org; Tue, 28 Oct 2025 03:57:36 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4711b95226dso69750925e9.0 for ; Tue, 28 Oct 2025 00:57:30 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429952ca979sm19250685f8f.14.2025.10.28.00.57.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 28 Oct 2025 00:57:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761638248; x=1762243048; 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=XAOz2csCYno2mCUJfERE/km5CitqJUewmQUOxMdlado=; b=Pkl4zKxxDgNKUTdPqAtwqlI9uHAAIqFblfXW8DtbOW9AEEGD/wksVobAfVo0iGtddO tSzI2Co1aRbn6sAZxoeWd/Gj1mRZHfXfnASht0NJnHqH8Jz/UXL48Hq1eRlWMUWGFJ1H InUMt4HopgtGOaHLK44Or07xXyst+4PHaR3W5ZX+v3vo+dWhgaKLUgtOw2LIZdOQiEJL 9xcN1WgbCSwTt0vur50D419Dam7r22SfHWuP54XcIDZEGfr+JdlJctYBR8VAH4LAXnoO q2SbOKAMDK2uEyv7HteDv3T+cPOsPa6UIvCfTh+bgtEOVFVzlml7GFivwaAgLHAM+2M8 u92A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761638248; x=1762243048; 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=XAOz2csCYno2mCUJfERE/km5CitqJUewmQUOxMdlado=; b=miQKiYgn/NKwYi+MzpulQR+VS8shg1oDpokk7jkxjUJ513xdv2iDCK4zrr345eBa9b 9baazT7yeZwSPgvT4QApijgeSOu4pEsJ7dLnaoAu5qq2QzPT9VF+jRAKH0QKireDrxJR SjJ50+7nQyOzWGT273MmegDDHpRStmfaa3fd+PxJEzCXpOcXXvD4nmvZX8G+b3a7jPSB nUIk3Q87jX1c4xE5w1lbHJQ3XjMBhwEgCLE+bZp7HAGwU4j/jNVJX1UGSq5SQh2a4ew5 UbjbE/lpNy9xmY2tLZ1mv7ymhJiP75e8NVrGDWSGs9qLkOFEa+9T8txB7fVyA1vlH9F4 uuXg== X-Gm-Message-State: AOJu0Yz00g0f+WI8vuT6AdmzYEsG3YUp6+uCcH2816lWjRKElyqIAK+8 5V2jVWg2zYE2esfWzi0O5Q+oOzDxXsbIzK8ld3t1BS/ZGz4AJ/UEP5TGEXEGi28LwRcYbSz0rdW f+HK1U6U= X-Gm-Gg: ASbGncvqhw7zsxbaAMMwUgOwk1yoD9JZHOiGoTHYlWO95ac04pA11OTpvkGGf2mVg6j 3z97d8R6qkXEcN0mFPL4zDcz0hVSlcfIq5PKM430o0u7F7eQ3qg3DF2DCUhFCXqQY+48VVNIpLn DUd0+3DOvFHVCWrwvJoW5VPWSUwcOPQ1Q9XKmks/x1m6P2Yo3zCdfM9WNjI6B5bEhmAng8x4w9+ KY2lqF2DCypbxNQ8WLSe2hA0rck1+LQAyWNmvnYzoFdy51GeWdcU1uSPA0l/v5Aa+JlgGrLnFjJ CcV+zXKXKeLweNOmSuM90OpqeJsjKHN5XGnHEvtOi+MemJENLHX1Whvivccq+qN8f0LD7SdzE8N eqNNYtVJDdpWS/F6FDQ4pCZKr+U2H/HnDi65v71eR9rXrQ1LvJB7Y+mxhfhvhE5UYlnevmKO54h zy4ms5vVumSzGjIaRBxpGW1e0M9zNVT5L2BHS6zojuJDbxN1PQejDoPMQ= X-Google-Smtp-Source: AGHT+IF3LZNMDgS2QwB0NYDRHjXxvJqYPpwx2TusRSii+sMtD3wqJGYUBSbbGmtH34NxqAXIAs0hzQ== X-Received: by 2002:a05:600c:190d:b0:477:e66:4077 with SMTP id 5b1f17b1804b1-47717e67befmr19212065e9.29.1761638248323; Tue, 28 Oct 2025 00:57:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Anton Johansson , Alistair Francis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , qemu-riscv@nongnu.org Subject: [PULL 23/23] hw/riscv: Widen OpenSBI dynamic info struct Date: Tue, 28 Oct 2025 08:48:59 +0100 Message-ID: <20251028074901.22062-24-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028074901.22062-1-philmd@linaro.org> References: <20251028074901.22062-1-philmd@linaro.org> 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=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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 @linaro.org) X-ZM-MESSAGEID: 1761638269611154100 From: Anton Johansson Since fw_dynamic_info is only used for non 32 bit targets, target_long is int64_t anyway. Rename struct to fw_dynamic_info64 and use int64_t. Reviewed-by: Alistair Francis Signed-off-by: Anton Johansson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20251027-feature-single-binary-hw-v1-v2-3-44478d589ae9@rev.ng> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/riscv/boot_opensbi.h | 14 +++++++------- hw/riscv/boot.c | 22 ++++++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/include/hw/riscv/boot_opensbi.h b/include/hw/riscv/boot_opensb= i.h index 18664a174b5..ab9999be3f7 100644 --- a/include/hw/riscv/boot_opensbi.h +++ b/include/hw/riscv/boot_opensbi.h @@ -29,17 +29,17 @@ enum sbi_scratch_options { }; =20 /** Representation dynamic info passed by previous booting stage */ -struct fw_dynamic_info { +struct fw_dynamic_info64 { /** Info magic */ - target_long magic; + int64_t magic; /** Info version */ - target_long version; + int64_t version; /** Next booting stage address */ - target_long next_addr; + int64_t next_addr; /** Next booting stage mode */ - target_long next_mode; + int64_t next_mode; /** Options for OpenSBI library */ - target_long options; + int64_t options; /** * Preferred boot HART id * @@ -55,7 +55,7 @@ struct fw_dynamic_info { * stage can set it to -1UL which will force the FW_DYNAMIC firmware * to use the relocation lottery mechanism. */ - target_long boot_hart; + int64_t boot_hart; }; =20 /** Representation dynamic info passed by previous booting stage */ diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 9510fca939b..75f34287ff1 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -388,7 +388,8 @@ void riscv_rom_copy_firmware_info(MachineState *machine, uint64_t kernel_entry) { struct fw_dynamic_info32 dinfo32; - struct fw_dynamic_info dinfo; + struct fw_dynamic_info64 dinfo64; + void *dinfo_ptr =3D NULL; size_t dinfo_len; =20 if (riscv_is_32bit(harts)) { @@ -398,15 +399,17 @@ void riscv_rom_copy_firmware_info(MachineState *machi= ne, dinfo32.next_addr =3D cpu_to_le32(kernel_entry); dinfo32.options =3D 0; dinfo32.boot_hart =3D 0; + dinfo_ptr =3D &dinfo32; dinfo_len =3D sizeof(dinfo32); } else { - dinfo.magic =3D cpu_to_le64(FW_DYNAMIC_INFO_MAGIC_VALUE); - dinfo.version =3D cpu_to_le64(FW_DYNAMIC_INFO_VERSION); - dinfo.next_mode =3D cpu_to_le64(FW_DYNAMIC_INFO_NEXT_MODE_S); - dinfo.next_addr =3D cpu_to_le64(kernel_entry); - dinfo.options =3D 0; - dinfo.boot_hart =3D 0; - dinfo_len =3D sizeof(dinfo); + dinfo64.magic =3D cpu_to_le64(FW_DYNAMIC_INFO_MAGIC_VALUE); + dinfo64.version =3D cpu_to_le64(FW_DYNAMIC_INFO_VERSION); + dinfo64.next_mode =3D cpu_to_le64(FW_DYNAMIC_INFO_NEXT_MODE_S); + dinfo64.next_addr =3D cpu_to_le64(kernel_entry); + dinfo64.options =3D 0; + dinfo64.boot_hart =3D 0; + dinfo_ptr =3D &dinfo64; + dinfo_len =3D sizeof(dinfo64); } =20 /** @@ -420,8 +423,7 @@ void riscv_rom_copy_firmware_info(MachineState *machine, } =20 rom_add_blob_fixed_as("mrom.finfo", - riscv_is_32bit(harts) ? - (void *)&dinfo32 : (void *)&dinfo, + dinfo_ptr, dinfo_len, rom_base + reset_vec_size, &address_space_memory); --=20 2.51.0