From nobody Fri Nov 14 18:19:05 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=1761630225; cv=none; d=zohomail.com; s=zohoarc; b=WYvhwSWbZfhAXpaVC3DFZpOoJxzjNtzg9Ryp32v64ZdHJjNTtLIuch2AZQKstuL2hUsKZkshi83ZnEaN83niLnTOGsbwK6YLbw4QmFw/f7Bl4iXQhTMH6hM/CtTjMPrgEcb+2KDAuofMUJX+Zw8iTdCsX33zd3Ah8vHs9y638cA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630225; 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=cSq0w+2pMt9GZjD8Tq18/wVUPKd35IM8rk6GrG4O1u0=; b=Cy194SZEb6gdCOLvlge1DR96vKCdCQ91KPn/VEr4Z0C2nb8CiwnATgBG7ZZBIXQ2LA4RTiKIdbzC5HSjx00c+2gfCZw3ZIcl3QXxWehQap4abPSCnf5Ih3ijKfl7Vg8XWRPuEOAVYPBZ0lgdo1OC/PrpgBddwoL7bPb5MGbRZ7M= 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 1761630225213960.8638245480137; Mon, 27 Oct 2025 22:43:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcUX-00039A-6p; Tue, 28 Oct 2025 01:43:33 -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 1vDcUT-00038W-DQ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:43:29 -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 1vDcUQ-0002b7-Rz for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:43:28 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-46e6a689bd0so55056155e9.1 for ; Mon, 27 Oct 2025 22:43: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-475dd02ce46sm209225495e9.3.2025.10.27.22.43.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:43:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630204; x=1762235004; 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=cSq0w+2pMt9GZjD8Tq18/wVUPKd35IM8rk6GrG4O1u0=; b=SkYfA/ewNck2bK/+QkP6bTSuabmuLDqVUukFl5Iw9+0Ga9TimSqqUbs10mqmEyZ8pI Awyu6W7zmHm8InOZgKyxrVA/r1HFqEO6+hIddsA+PZlyI3gAPUdHrXIYGrq30zjz5i2Z bBMG5JIs8wgd7TGYi7RVkikM/JnH0ALmv3tZM3ASducvxjaL4fS1Nknp2SpxTvxloS7j hgj5cNB+PlLWsjK9ktjTJKF0cZ2msw7VDj0sEP1Z+1Sxba/maypYTLavaCf31/F+kqN2 qm8Uwa8oEFa98tHI5qL6Y0AC8YaHvm1KSxwgsFDTJxbLpq6cfV8RbhXEbLYKJJB6fURF /C1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630204; x=1762235004; 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=cSq0w+2pMt9GZjD8Tq18/wVUPKd35IM8rk6GrG4O1u0=; b=LXH/xxXPk55x7+V/wx8W7u5xXsoPNoj6RBtICibTGi8ogln1DsD9WgZ7f6AFir4Equ vs/xN7k5OxZNj94H/Lsl2XQo1Wc75MnaIIz8Z8KSUJB8ibc/WvIwzxcQsNTT5aAxGT08 3yphp6zNlCWgrdG6qkA8Ox7Nw6yLv6YdBZlpJ57kya76QEpLhBD2qiuTwmM6C0PAWrof PnjxiTzHQLOSNSxwzyuUu3oafQ9UyMWcYZ6/wVXgKkIDDe7DJJaNXNDCM24qzqsfFwzA EpOxfN4NIB4Zpjpgk0GqCOhxf/vMk+RjlucDgAr16/WMu0nkYdYSzTTPMqRklJlwF1On zXaw== X-Gm-Message-State: AOJu0YwjEEhuRIlkAx5a12Jw2Z/N127Wdr+mbVV9SaO+pdXL5whpKC+a +zoXvxhwO1ucEzHP+F7DZ4ZCwWB4l4XDlivVJADoIt3e+G8HqRsKHhhZKZkWJ9rrywaz31cpl/z tFlyWRrQ= X-Gm-Gg: ASbGncuOh9lwAmsz/4E1PBIT9uWU7u1zc+l4YVaeVsDQHMhkHkR8KnRj6z0JGe5puE/ vmBRZRIcm0wSv6Jd6mN7Ds+5SQHtOJPNyjq+RNW4Vk1+CfIizNWx6ZkVybYN3MDuvrDtWeo09Tn lSYCXVb/Z3I/cEA9ce29HjONJLI4QeNeoNEBFTSaVzbMzrjFP1JhizX13cyrMEO1EWy6dLYutVw 4IvJFW576jhDt2XcYMQ9X5sJUZ+THRKNixLKw16hjqLDFvkiZBczJQvkGUM+myDYYesjzTzEhHv MscZmfGtnsAoY4DHI5TFyXLLolHIdgAXxdZCA6zF38kW+0u+wqlD2PhP6ITmoIPbiDCyUMjpiLM GwXdjnBvMkGxWEtoEXdd/JD5YuCVV5x7nZU+W9p70pyygZXnIVjA6eUpafKQRlz5/O5hPE/hloZ u+kWormsCUwSuEFdkLbvbFugbs0EyS+ES9/PthdmMR4GqY8fyl2/Y/OsM= X-Google-Smtp-Source: AGHT+IHKLuQPpl8TG0v/3PIw0D21QYoCXdnMS1OnyJsYEiz+iIqN35oOag2/YpDSKLMzitEGD1pbMA== X-Received: by 2002:a05:600c:4ec8:b0:475:dac3:699f with SMTP id 5b1f17b1804b1-47717dfdf67mr17136215e9.9.1761630204377; Mon, 27 Oct 2025 22:43:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 01/59] target/arm/hvf: Release memory allocated by hv_vcpu_config_create() Date: Tue, 28 Oct 2025 06:41:37 +0100 Message-ID: <20251028054238.14949-2-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761630230729158500 hv_vcpu_config_create() is documented in as: /*! @abstract Creates a vcpu configuration object. @result A new vcpu configuration object. This should be released with os= _release when no longer used. */ OS_OBJECT_RETURNS_RETAINED OS_WARN_RESULT hv_vcpu_config_t hv_vcpu_config_create(void); Release the memory allocated by hv_vcpu_config_create() with os_release(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 0658a99a2d1..83db1088384 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -150,6 +150,8 @@ void hvf_arm_init_debug(void) max_hw_wps =3D hvf_arm_num_wrps(config); hw_watchpoints =3D g_array_sized_new(true, true, sizeof(HWWatchpoint), max_hw_wps); + + os_release(config); } =20 #define SYSREG_OP0_SHIFT 20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630273; cv=none; d=zohomail.com; s=zohoarc; b=cgwomQ32oA9kX2wKW84I1n6D4+9ns0lUnmwnj9//jZJYEcGVQn5+9azGQDnu+RTs/jXHp5TrJD7F5nnZ0k99vDNXby8vmsTIy+6Z8Us9NQEIxanK1zUuxhwCYvx9Qpbyy6e7dO4rAvqVamrziG0MQ2BA7y3J8x2jJmsCGcKPGCg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630273; 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=pBz1h7xoI5jpeN42Mwomv4Cjv0TFppAuDOiSUpLPuUU=; b=LJj2VQdz1i2vkkXJeCJKVsJY51waLkzDCbm+afaI8l5do48w1ve/kf3S0i3A4Okr3tE1nvQ3rFuASL8nLptf7ta1BXWyH+2ErD2LUpcGiRRUY4oPxyTxH7kZJdSw+FlBGqUseWj7XQ/h9cWQNWEZXbWr0AH0unumnx/YXZZmyu4= 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 1761630273532673.1659859335971; Mon, 27 Oct 2025 22:44:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcVB-0003st-KZ; Tue, 28 Oct 2025 01:44:13 -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 1vDcV9-0003sF-OR for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:44:11 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcV7-0002fY-DI for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:44:11 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-426f1574a14so3587740f8f.3 for ; Mon, 27 Oct 2025 22:44:08 -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-429952ca569sm17763906f8f.12.2025.10.27.22.44.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:44:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630247; x=1762235047; 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=pBz1h7xoI5jpeN42Mwomv4Cjv0TFppAuDOiSUpLPuUU=; b=e++vs5eYPJG2Zd+gjKShqhcHqIDRUPrKZ5EiDBJjERlirso/kWI8u2HSc9WoYwj569 nh08UdDnPtf7yx1nsq/mv9OZi0O0QtzWMi26HtplC4B8SH8ippeH9F09c6acsC6wWidA nxevdbTqgYnG23zDfmQ/1bFhoPMhViYHMzMykvpJKujfu76FKTykslch+E6qzaA89aUn iSI3nwZhhY8RsH+2q+AQmD0yGTwabkIVQ27kM22VNjonhPexe4DFp1qsFYUT8NX1fmzS DLW3e3aI0ZGGdwNPxq27EpLIHJg20UwZLfwFNWjQv/FQGxP8b7L1+hP608FD52lhmr8Y TEBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630247; x=1762235047; 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=pBz1h7xoI5jpeN42Mwomv4Cjv0TFppAuDOiSUpLPuUU=; b=NTb1RSpsQ8CZRjyHhMdaRC+x9kiMw6fRQu2vcbFm4hWiLsGvX0am/iXWA9B07UD6d2 gXR51aVoqrcJRyXBQKfS/fZIXbAt0rExj091YibX+UApdqfaFYM7TPtIVzLeyZHDAlb8 DP+yEu1hA4JzNSCOK1jgwcHU5pU6X1GqhkvfybVCEZiTeS/E97YAWMcphiqAHh0oTYIs osd4+zUvVGL3SShjL+A35LAp/uaKC6Kdj2q/jW4jFo1SQm7Ts01/8Kcd7v+NMeU3WSAd H6iLBsMS333pc+IZ4iENU6AjzcZSkMVA1aw+32D+Rw+uQoWjfux/0O8EG2S5dPJkrXjM 8NWA== X-Gm-Message-State: AOJu0Yw3CwE7Ukl/s58iZGUAvaLdFeW1DlJeXG7N5x4tF1U9ozvwBTvo OW5v1vi+HwvsjiOcXNJGNJdqw1NNu1v6gOjuFUTj1Qxfj2PdQSgYT10qLJcsiTg/0CKYTuA6L3R ZVK0vqqk= X-Gm-Gg: ASbGncvf5oft0k6BfJAAkFmKijpU1r/QF7SqdpfLxXBHgU1rO6WCised4QbvMBVW9dU XVTIRTJKZItXee8MRoHNeED8SRgmMa7rCArmzmIMktQNFgIVr+q73lb2KA6xTy3tyzG9qAVGvBZ c8yN1GxkX+toERlaYu4JO7/VyWAvJ13IqeLHutq6RaGlrb0uBZj/ildz8tXZAP6vPHJSc9solzE 1C4BmOgUfvyHzTQcsXLs/edL0fjVQpBbHKA+u0g6FmJXpwfBMTA+uR4cyFh953u0+XSJoIwcE3i gI8Qo7+UeohyRaiMtPmOnl9g7swq1JMbUAI04tJWPTbgn90S8fSxqmiKoDF2fUJRtwvhLo4LagT Q+3KBck9Cd9LmGlInFI7GdBj9MOyeoiujL3O5ZxW3kn0znQgWRht6/gjaYNghbhR5ixJC3kTuUY ltxNYajT2CVNTdUSCusaOvWL3vtLUr0Z4mRvM6MKXQ9q11kDpEPihHC/l8862Gpqua2Q== X-Google-Smtp-Source: AGHT+IE4wKU8AXN8Sm+NpRzVaqVtZmvVrpQId8MYFfGR67jlaRS/smQv17rEYB1G3ZJPafnCU7O5iw== X-Received: by 2002:a5d:5849:0:b0:3ee:15c6:9a6b with SMTP id ffacd0b85a97d-429a7e82730mr1394199f8f.48.1761630246731; Mon, 27 Oct 2025 22:44:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 02/59] target/arm/hvf: Trace vCPU KICK events Date: Tue, 28 Oct 2025 06:41:38 +0100 Message-ID: <20251028054238.14949-3-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: 1761630276671158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 1 + target/arm/hvf/trace-events | 1 + 2 files changed, 2 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 83db1088384..91bbd3a6aae 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -963,6 +963,7 @@ int hvf_arch_init_vcpu(CPUState *cpu) =20 void hvf_kick_vcpu_thread(CPUState *cpu) { + trace_hvf_kick_vcpu_thread(cpu->cpu_index, cpu->stop); cpus_kick_thread(cpu); hv_vcpus_exit(&cpu->accel->fd, 1); } diff --git a/target/arm/hvf/trace-events b/target/arm/hvf/trace-events index b29a995f3d3..538af6e0707 100644 --- a/target/arm/hvf/trace-events +++ b/target/arm/hvf/trace-events @@ -12,3 +12,4 @@ hvf_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint= 64_t x3, uint32_t cpuid hvf_vgic_write(const char *name, uint64_t val) "vgic write to %s [val=3D0x= %016"PRIx64"]" hvf_vgic_read(const char *name, uint64_t val) "vgic read from %s [val=3D0x= %016"PRIx64"]" hvf_illegal_guest_state(void) "HV_ILLEGAL_GUEST_STATE" +hvf_kick_vcpu_thread(unsigned cpuidx, bool stop) "cpu:%u stop:%u" --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630334; cv=none; d=zohomail.com; s=zohoarc; b=bgLk3Hz+ChSs12cn5E/tNPVuYpTvaAkvoPpK/CWlAC4mXkWTa3+RYawc8vIQqXRNPfjqiQyrt6yHPQ03Uq3SQvLGvrwrUfmWrj/bYGa6IhWuFin7msMOI76xPSaW7+b4dwHU4Ub4590WpD+QPG+mLRkjcm5Vu4/jkUckKXR2kww= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630334; 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=nXJBYBBxDFZzibjViQ0cPD/hzZBaElfD+qR56RI2SXQ=; b=Dz9xdQ7nWtpm5RsDFJSWGrvw1I7Y/t5GgmY+IiCJmvEx6v2zRjU/Jnsvu0T0wkKQwg01AEZjL90r1zeIpXzZsXeRGDrF1l+vLphkgyOrSDz7opmj7QV5wZgjDTGoAfS93QMRcSh8pWKpHOWWSh8kZH6CJJwqYkKlW+fyPuSx8eI= 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 1761630334388731.2325280638247; Mon, 27 Oct 2025 22:45:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcVy-0004OH-4S; Tue, 28 Oct 2025 01:45:02 -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 1vDcVt-0004Lt-Vd for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:44:59 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcVo-0002kx-JW for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:44:54 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-421851bcb25so3367818f8f.2 for ; Mon, 27 Oct 2025 22:44: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 ffacd0b85a97d-429952cbb2bsm18299358f8f.13.2025.10.27.22.44.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:44:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630289; x=1762235089; 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=nXJBYBBxDFZzibjViQ0cPD/hzZBaElfD+qR56RI2SXQ=; b=NIZJdRJBFBu1dLBn1wHVCieIj6Y6+Iq/EGs3FIS+tEBdMQJdBrldN/Or8/wZVVFVC/ zRY3p80iXITkq2rdmhyPiAoExA7sq7D6iFbPZXFs/anBOo2Hu7Av0gxc1iIftK7WUGvT JqZlr9+tEHZma/midvFMxBOvEodp5VnTxPQSira9NbNmaCuXpC0Gx34VW7i76gDpwsjd S6TYd/xLpjFizRkmsaTwZhwzFvRjZD/dMkIVyO7bbjqT8hhT/f2MpOKWEOB123Iwu/v5 GvmjUfkzitsS32ofSKnXjxQJh+bAHiJ+i18wGTVuGTuPxVbh9L3n+cpELy5imw8Ro70U iyxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630289; x=1762235089; 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=nXJBYBBxDFZzibjViQ0cPD/hzZBaElfD+qR56RI2SXQ=; b=UYHVrdIQtLBatMhGTGFpSXAZL5Yeoqg2pGsKdGOtq23wJSkzdJ/JQ8hFY6rlUwFv4b QLP1XovOfCLs0RPdREDTJzqDJr+S6R0CqeJbCTtVHFdbov4V7kQVyT+DNlxDYtoCCWxB DIzgjwCLsOz3u4Xmb5js2MWhjLb2fd/wPjxlxzUmb3TIyXTCQ2iFBGIOSu3UMu6bQz3q xZSPQsdjCtvH7oy7XZbqQ74+EIEnFIxU2sDlAZZXAAzjQ1xROzSj9r4X2271E7V7wJ6a pAOWNxxxpqrsDu5mzVTg7uBqWbuHbsjdmpi2ToBLpg3dUCzNPiFcRiT6W99hnS9Da7EJ FuwA== X-Gm-Message-State: AOJu0YxypsYVY91ABwdjWovHWs827T5N/4taZBhlVYJauKB4GtIhgzGv jLKPlg3iYwBHHJTwu/KN50kMTNnuUkNgC9e/t9H8hZP8zTXkqYOcMd9VlYN0HSvXYUZR+/QlHtJ V9YBT5n0= X-Gm-Gg: ASbGncuhji0IF+S3/XzcGOl91jk+KtffHeEJXZg0pNdXMGNAPIhXVwsi2tiGD/mFO08 ZtLzY3s+ClmQhgDTPAdJFmJat8/2J58ufI0ECzpAzDsNcrGBb56rb2cvGl7msyc+qygcSjQd9gx h8vN+I4OcQYGCkh12t8P+ycz8yPakmepXDEFUdFQyZ5wBW/etYhlYxuOdiP/H1ug7Fhw0Ide9Fk VQg66N8qAuemEFRf3/z9ARfwTfbM+tyqmJSmvi4VpKkI9FR5KgzhRI6qxkJsimbp08eRo7xL3h8 mdJmR2/gV1mU4loP3d3+hsDA1JpUXHScIc/GWOnBIJHQq27T/mqb4zabQnciTLq+j8Q1ar4Nmmc KLbGQStDIPchouno/BOIroJjCvUkbWCj6ySsErzmbEwtjagmYyMTo80q7R2VPIRlS2FvLgu+Rv0 /deNdCHk3ThdKjZRQG417gZdloxlx3Lfwo1ymiRZ0dG39HBMAob2MvFK8= X-Google-Smtp-Source: AGHT+IGEFvpmIwIspPKKlIzjFpjfzi6Gy8JyBGuNuotOF1i3Klx0iY+oFvmZYD18xKgSn3uT/YQWFw== X-Received: by 2002:a05:6000:2501:b0:427:6c6:4e31 with SMTP id ffacd0b85a97d-429a7e59e7fmr1886003f8f.22.1761630289136; Mon, 27 Oct 2025 22:44:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v3 03/59] target/arm/hvf: Check hv_vcpus_exit() returned value Date: Tue, 28 Oct 2025 06:41:39 +0100 Message-ID: <20251028054238.14949-4-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.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: 1761630337833154100 hv_vcpus_exit() returns a hv_return_t enum type (defined in ). Assert we succeeded, as we are not ready to handle any error path. Suggested-by: Alex Benn=C3=A9e Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 91bbd3a6aae..4c98faebbed 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -963,9 +963,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) =20 void hvf_kick_vcpu_thread(CPUState *cpu) { + hv_return_t ret; trace_hvf_kick_vcpu_thread(cpu->cpu_index, cpu->stop); cpus_kick_thread(cpu); - hv_vcpus_exit(&cpu->accel->fd, 1); + ret =3D hv_vcpus_exit(&cpu->accel->fd, 1); + assert_hvf_ok(ret); } =20 static void hvf_raise_exception(CPUState *cpu, uint32_t excp, --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630365; cv=none; d=zohomail.com; s=zohoarc; b=Z/+xSpe1WKrhPWvgmAmYr1Vd1L8m4bnjRLIxYsrdnG847BD+KqTkTxbHI/x+G9rbcB3N0EwuDEp0SEgefUw+UC8BQtrH1mDqkjFGcm3NssrXH1s538rnFsXTXz/otF3Ui7//HoxMvebejOAFGADG9pmRRSIgpzUTJXdThVfOIvc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630365; 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=WEm2BcJk3lcGKEr7IiOVTfv620coTuiYKu5tYc8rMA8=; b=LChSU9d+1+yZYySeyX0uJXpQyvBdHOVepdOHwTSj0CYybKkPVEgbcnkE2G8B5GMqd70P1XQ9ToCvffW7Z1FXFssIqIzOi3WtncMWPE+KW42qibBu2InZiPqDoWhgbDh/hb9yBjUyMoJ9+p1RwsR13ZF39BSGYDrhrxKmV1wBz/w= 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 176163036551995.7598727246907; Mon, 27 Oct 2025 22:46:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcWf-0004tN-2b; Tue, 28 Oct 2025 01:45:46 -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 1vDcWa-0004sO-LA for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:45:40 -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 1vDcWY-00032h-IT for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:45:40 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-47103b6058fso40346965e9.1 for ; Mon, 27 Oct 2025 22:45: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 ffacd0b85a97d-429952db9c6sm18409668f8f.36.2025.10.27.22.45.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:45:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630335; x=1762235135; 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=WEm2BcJk3lcGKEr7IiOVTfv620coTuiYKu5tYc8rMA8=; b=jCl5nAe4n0EmMtIEdAJuwKfX8uGPFd+eLKzc+q1nkmtx8M5rEC3LpfIh6+QktGh0q+ XOWqy6A4H3HnTOxojb+iTDSATWCpRa8ALCPbW76sy5WP9x57GW+PnjFHHUTPoqjgjf09 FUT9XtZH6lJ8B4FnJUY9QLnGYq3/IhZqOAPrRFHhdFcSIAz7g7t4frhD1d4RxKFWsaGV eb3nzx8WiMMghsZOdVfDULF9+thEYmZdSXEtbp2Zr1uEiQTfim2NEwV0/lMf/tlPb70V XNPkCTC+KxohzrXK0syl+yYrXNSteNyodpsVFY+rbmLEE6uoU0fIKEd5E7le29qsP0gd 9Bfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630335; x=1762235135; 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=WEm2BcJk3lcGKEr7IiOVTfv620coTuiYKu5tYc8rMA8=; b=KOghrHpdx38onrZ4OM8Ok+6kMrPS2B+WW5yIR3IWTNl6AdJvujHNzGhXWsA07fzLvz 7TS5cBYp+Sg6xij9XC9GwpfEgrXobbX0SsrAJ6m1Arpit2Dpii+/qOF2ux7nxmUpbDK4 HzgkiypZEPWHeNKsilVvPYdUjTVETO615ueqHy5ju/ijjhYtOy4YJqUf3spIymUK3Ef6 FuG1IRoGz3AbsABsYMyUgVYAOax/Sw735tNyWfpnbDJSHi2b7B0lOLCTQKA52CWlstS7 XpTMk3iNsXSpK7YYwa5nYBZIOlnPKUb7KjJl6LDEizNsx2nyfJWOA0si+xJzsb/mKScA mKEQ== X-Gm-Message-State: AOJu0YzXNE1+ifjEnQAN/l2P3HuxcPLhuaTzB9YjT3sf2a46gnoR8qOk AAU3iWLtycMAwCMbi3soXlErHPsQBJ3d0OyzWvSDNhKeWT3v6c4qM3hlFIQMwbn153wNlTfxeOV La8RQzgg= X-Gm-Gg: ASbGncv/uqZwdWDxi4SxEQyGLouRogmbZc1YbOsOcSInjt9NRIerDK9bTKX368HxP6c WDV4xdJGQuiNdUWOWk20JvzcgOfHtadyqu9j1+PVoTgYmISWpowGcCdr1FQxYyg4kiHJQSEOdNl g4EsjTIAlSQRhjRBogksv/fii/52FjwKRdpwbTX5gviijs0WcFZDsX7X9oQIabF8BvOu5Vy9AAS fx6MCfxioYzUG3Tmw0Mts0AzcX+KtAIUXkGCm+RiNMlTJ1JK94KGY7YuwhlDLA4qXkItZxfQJsi UNaC5HLR4t+7ML9dKsH0vSqMfV5Sstq/4gHevuie9sJN0uj8Y+JOfBVHWbHhimgTqG0OTrCFMJv o6dbUmfuJc35Ak+FU225jUqTFS+fh9hsvuVP60e+aBgd9KFwYt7YrxcTiBxFpsgCk68XMaSj2AL 8LQMtPRYc3f/MNe6YJhNwCPf5pROLqPETHRYpKtDinnbTUNBrXgXu+oio= X-Google-Smtp-Source: AGHT+IHpt0xwaemKy/yvq/FfaWxuSsYnG5zdlSQeS11LnDSl2uHUutoHJ6jNqV27iHrxoa1gw5RPtw== X-Received: by 2002:a05:600c:a08b:b0:477:c68:b4da with SMTP id 5b1f17b1804b1-47718176e5amr14811195e9.20.1761630333497; Mon, 27 Oct 2025 22:45:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 04/59] target/arm/hvf: Check hv_vcpu_set_vtimer_mask() returned value Date: Tue, 28 Oct 2025 06:41:40 +0100 Message-ID: <20251028054238.14949-5-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630373454158500 hv_vcpu_set_vtimer_mask() returns a hv_return_t enum type (defined in ). Assert we succeeded, as we are not ready to handle any error path. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 4c98faebbed..bbe0b24b821 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1782,7 +1782,8 @@ static void hvf_sync_vtimer(CPUState *cpu) =20 if (!irq_state) { /* Timer no longer asserting, we can unmask it */ - hv_vcpu_set_vtimer_mask(cpu->accel->fd, false); + r =3D hv_vcpu_set_vtimer_mask(cpu->accel->fd, false); + assert_hvf_ok(r); cpu->accel->vtimer_masked =3D false; } } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630423; cv=none; d=zohomail.com; s=zohoarc; b=lviXPlLytlZ52IMcrQ0YNH6K7qUu0HcommrE3kHJpC8Qts/NvzJD7n6YTh02KeYm7fOiFF8x+Ktt022J1rJrDlnYSjX3FLmjisg9AQYocituCRe+MgL7TCZWpv03+nt8dE2oOCKoDear1L0jH1WnfeRSMVHzmOtqO2JhZvfkqWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630423; 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=NgDIx1+WcFxzjLnk5TEpP+lXGB26NdtGHoTw7EUXsBM=; b=iWaPcmin4Jr1te0UvdvmrdU/sNRGJ/uQI181SWmf0/e00XJM1s1b9/4/seSz7+L5UlK1FLcZ8p6jg2z7lPN98OG0LiGyCS9NKY7hsn2tq1D31px+bnpGxuSdWclCr8kxRF+SoUnAGt80+ePUzOKUHC7JPK4dxy58Y58dKNvjdlM= 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 1761630423696814.9784665830591; Mon, 27 Oct 2025 22:47:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcXY-0005ky-6d; Tue, 28 Oct 2025 01:46:40 -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 1vDcXS-0005fR-OO for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:46:36 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcXN-0003F3-Fa for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:46:33 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-42420c7de22so2745776f8f.1 for ; Mon, 27 Oct 2025 22:46:17 -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-429952de5f9sm18192723f8f.38.2025.10.27.22.46.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:46:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630376; x=1762235176; 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=NgDIx1+WcFxzjLnk5TEpP+lXGB26NdtGHoTw7EUXsBM=; b=V3JZxN4+Jch22iaSBnSBXRNP5x/iiG7KC+y9TOt9QLsIsxZHZv97VKVXpexfhmDiqA AiHCY7iBIkG6MjLgQoUkmwxO6IRy5Uk/1WteeSfYREIV/fEbIjdkqF9xRvwmnnBcbXcZ FcWUdq5f0QSK5JvFThZN35wR0Bs9NYhOPV3IJkL+JaxBQSetVKA7IR1xFYpr685Zbe0T 1TUrrUYBcuKkqQ45/acQFIu+8QMFS9Z/Ird9oAO7OxdLZv7uA/pRYmz/hnnheZ/qn4HW ypAa3v12PArgw8YsjIyTuELCWZtlYhIx7w8liMXKEts1wZWZN78K/VL67VbLvD6h2UKQ +POg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630376; x=1762235176; 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=NgDIx1+WcFxzjLnk5TEpP+lXGB26NdtGHoTw7EUXsBM=; b=ukePYUkA1LYl62zu1ATsVBwKIk3HZ30oOAKlY9dek4fcaxz55SZe+jV9dIQA3zDqmU zAajJQLr3EYTL1sTirKJMDDBF1iKFzyxrlpkI0wND0jOxFWsb5Yx/zXg8rctH3LsipqX JAcUuAsyY3lGgcimpKBL5QDztMXo8F05cssZ7kmlDCmL94uILsMRIZQsEfaHOq0PoyAU e8TuJy8EiCbnxmBVTHPPPcavThJRHcsdPVElE+9nRn6/YmgCs1KkC/yyia8g2bVvpp1J BCX/8M1BBppp2xEQB3AvnRzCfmJCXU8HSMiWYrylbXo3lj7G+5MJfhak5Hg9YntC3sWb LCWQ== X-Gm-Message-State: AOJu0Yze7lJxVUxZo5txPAUMUY0mppSJG8lZl5zWRL0qifEQBk4Oma+4 4ZCRGUvTaOcqv0sqJlr3kHwqoAB28h+DUuEnC2S6wx5it/6SvJTP8Me68Xt+C2nq2m5d9jaltf9 lJOWjl7k= X-Gm-Gg: ASbGncucnX+Aw7fFqXTbyohZd0nOo5Jreaz5YHUDL93zvPTaEZqlF0ZZN0bMJPk8z98 PzU53wz34CBtIMdvXlYQl2qY8xyz+mqoDp+QV5Sa8TX1vopAs8E9Sao4YUYmpCuqeI/rNzKU7mH mYi83M2vsJ8F4ChQVBiryEYKGKxsCmQtX3RJqvS6QxlNa503QD4QAeFUg9SNzD0tmv9GSEkdPxQ 6NyKP4gOUg/j6ustnj16cAUy3InQ1QC59/bCNy/EPpzOIhMRe+AtZi9Mc0bilUOL+7RRze9PSpX 3nBTSDZXABVXc2T0bfBliLujzQ01db8q/C7BMZtSywO/DlH4MRqrVhwP26iMVQF817VazE9Rmb1 j/MZD2a1RayUe+LmRWIXMJbQiQ3Gx8zMNTNm5EZetEipzMGBh9J5qiiZ8ESfKsBQ1UdEIUvHuUz +LnyyGVWOPJmxdEa7mOXGys09PkPo9gOdL1n56rAq2yXI3wd/Fm9yu+yM= X-Google-Smtp-Source: AGHT+IF/kxpKAOI+/OPYf7ty0EyRrD08i6Ro7eh/ILW1lgzdmXNZ+rNZg6XeUtj0wXTcBG6y6DSvIA== X-Received: by 2002:a05:6000:26cf:b0:426:ed9d:4072 with SMTP id ffacd0b85a97d-429a7e59dc9mr1424348f8f.21.1761630376044; Mon, 27 Oct 2025 22:46:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 05/59] accel/hvf: Rename hvf_vcpu_exec() -> hvf_arch_vcpu_exec() Date: Tue, 28 Oct 2025 06:41:41 +0100 Message-ID: <20251028054238.14949-6-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.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: 1761630430466158500 hvf_vcpu_exec() is implemented per target, rename it as hvf_arch_vcpu_exec(), following the per target pattern. Since it calls hv_vcpu_run(), mention it must be called on the vCPU. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 4 +++- accel/hvf/hvf-accel-ops.c | 2 +- target/arm/hvf/hvf.c | 2 +- target/i386/hvf/hvf.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index a3b06a3e75b..32b32e1d024 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -73,12 +73,14 @@ int hvf_arch_init(void); hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range); int hvf_arch_init_vcpu(CPUState *cpu); void hvf_arch_vcpu_destroy(CPUState *cpu); -int hvf_vcpu_exec(CPUState *); hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); int hvf_put_registers(CPUState *); int hvf_get_registers(CPUState *); void hvf_kick_vcpu_thread(CPUState *cpu); =20 +/* Must be called by the owning thread */ +int hvf_arch_vcpu_exec(CPUState *); + struct hvf_sw_breakpoint { vaddr pc; vaddr saved_insn; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 8b794c2d418..005e2bd891a 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -194,7 +194,7 @@ static void *hvf_cpu_thread_fn(void *arg) do { qemu_process_cpu_events(cpu); if (cpu_can_run(cpu)) { - r =3D hvf_vcpu_exec(cpu); + r =3D hvf_arch_vcpu_exec(cpu); if (r =3D=3D EXCP_DEBUG) { cpu_handle_guest_debug(cpu); } diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index bbe0b24b821..9111c1d717b 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1788,7 +1788,7 @@ static void hvf_sync_vtimer(CPUState *cpu) } } =20 -int hvf_vcpu_exec(CPUState *cpu) +int hvf_arch_vcpu_exec(CPUState *cpu) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 33f723a76a7..b2bf59cb483 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -721,7 +721,7 @@ void hvf_simulate_wrmsr(CPUState *cs) printf("write msr %llx\n", RCX(cs));*/ } =20 -int hvf_vcpu_exec(CPUState *cpu) +int hvf_arch_vcpu_exec(CPUState *cpu) { X86CPU *x86_cpu =3D X86_CPU(cpu); CPUX86State *env =3D &x86_cpu->env; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630433; cv=none; d=zohomail.com; s=zohoarc; b=l7TOJZ8n0QNohUl/d/lpY0HLU+PXllCbYh818VnFC8Qe1+VCeWunb/nS3LgeTEu3hEwP+qMNoS8D9hFeTqWuoQbLSX8EafGWJeWEn/AyBqBWpRK6uj+5NeKhWBybMk2xnVx6UvFWEzsCIoXXj2d7YwHQd753kWtCzrSar2LMKyo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630433; 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=KkbYxHoIb89CcjxtDzTwkp8toB1u3wHDHZNoatR4q6A=; b=K+c9c877pEKunNFIzxUv2BoboexqMDyQPeNbgRNIM+SWeVoGNIscnFsSwfcjLtaIYr7AlmNE+kqPQ6rXbBHTRQirMypzWm9beknv55Wxzw864wq/2uRHbs5IYXV/yjSgsclqP91veZk/iVZSlx9qsIRqt4c3WWrZePCR3ejOFvw= 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 176163043311956.71197808133445; Mon, 27 Oct 2025 22:47:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcXy-0005yv-F5; Tue, 28 Oct 2025 01:47:06 -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 1vDcXv-0005wy-7b for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:47:04 -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 1vDcXt-0003LX-6R for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:47:02 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-47112a73785so34879035e9.3 for ; Mon, 27 Oct 2025 22:47:00 -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-429952e3201sm18244996f8f.47.2025.10.27.22.46.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630419; x=1762235219; 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=KkbYxHoIb89CcjxtDzTwkp8toB1u3wHDHZNoatR4q6A=; b=xWlunJy6oyU5eNE0DHcy0n69ElUMJ1Ocjlyqj6BwpbnQLFNjzmMDx2csW9Qzajhiws 1W+Yn53MOmSSOvW4qyl6mq8e3lELg9gg/VyxjlSMDCZPfK5Ift4Y/czS6nFLZO1cu+K/ lKQYzOpFT1xlRhnwEIyCbwQRKQ3O7DjE1L4LOQfJTZy0HVrT39EVtkAVKsl/ntjPqryc I37AD5K17zRN0502PWbyfP4laHFZVlW4JTeyerr/IlwAepARjL2OCM+ZAx3KpOqUQAlo yxezH0bpZ4tcsolviqE81UNyfU+ecfzkybpMwVfQO/Sp1jdZBBuM1lcFRgWLrCE/xFi3 hFTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630419; x=1762235219; 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=KkbYxHoIb89CcjxtDzTwkp8toB1u3wHDHZNoatR4q6A=; b=kBOskWQAa3iqwdtsrQt0/9hg4Q7xFP9oTWEbXzMWDI2lrGexaLTo0wdpUh7b6k9EfG iK4gMgfDxBAzYnUVK34VOZWZny2BUysNVWy8ZBxTqDzLZBHsZwtTpOrCIGyeA7gTk/L7 4t4hRFg+jaMYed+JQK1t4n7+i1g3+DJVBcz2GFEx7XZH4YGJUxvVNMUxqwK/FQihEYMZ LkeJuV/KCnre9Lwy+4Lw9zqiiSYwlHBaXwlu/uL3CQ2QCnjcB739RZ3RWIcb4NZ9/6SB JtiaIgVu0c8b6N7ghalU83elBE97Y6549rU5KwPRlUdR0LoHfMsYg04cTxpSuWGwkZZ0 +y7Q== X-Gm-Message-State: AOJu0YwO8YAIHzeFVrfFXWQsakVRrVvXKnoSdXtziWTjcLvdu8CZ8UOW 0717cajn32NZc/aKDDKkUGVbvAVlUAnx8cWJYaBPYiQAwPagtVVhUrahH50RB2w+1yYUjRuuvgT dK5Nd6c4= X-Gm-Gg: ASbGncuwtvLQm6QAus0qcuK6g/ymrMLT4ero9e+BYF24+EAujDAmUuUOZ5EEZv2EDb3 QV21PVRt9Fcq1rJDkad1qYyEwtrEmuFvc8NYlPlR532W4QWCrHYxOkJLEfuLGkpebOdPhZwXcWl 6xx1oJ1Zwef3LZjxOUgGpxfFtra4DyTfugXDO/PkEB7MVAol6WhRRuxJ4yRwUt6Wi+MBLIU25T4 VIYSbNMTDVGdOwVqwGKFQJLxoNs+EExNwaZGC2npQ6mrYC6o99aKrRL2ijM1jEtZ4jjcblnynn/ AMky9NMv/o+9mFb+a81Uxps0GotDEonxwC6BDF0aYH9CSmAR3mR/fvWDzp/doh/aHXbeesZXLZU m7iLmxKhoa99lbUeBTO2OSHsG4tqSV7tVCX29BEyXT9kdAnUum8k7njqID15iUK01o3wylI82Rg xjMIxeIufejTkDrtwp97ImYYtJ46Ec/KZaSMhA6DkDuTHo139UNFsVDos= X-Google-Smtp-Source: AGHT+IGZW9oWFKpC/JlRFPeKkuOmfQTtCuwftk5aIyjez3FD00CkiwUeIhKSMAGhnp2UXASLteGcsg== X-Received: by 2002:a05:600c:45cc:b0:46e:37fc:def0 with SMTP id 5b1f17b1804b1-47717df9db5mr17235685e9.9.1761630418952; Mon, 27 Oct 2025 22:46:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 06/59] accel/hvf: Rename hvf_put|get_registers -> hvf_arch_put|get_registers Date: Tue, 28 Oct 2025 06:41:42 +0100 Message-ID: <20251028054238.14949-7-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630436577158500 hvf_put_registers() and hvf_get_registers() are implemented per target, rename them using the 'hvf_arch_' prefix following the per target pattern. Since they call hv_vcpu_set_reg() / hv_vcpu_get_reg(), mention they must be called on the vCPU. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 6 ++++-- accel/hvf/hvf-accel-ops.c | 2 +- target/arm/hvf/hvf.c | 8 +++++--- target/i386/hvf/hvf.c | 2 +- target/i386/hvf/x86hvf.c | 4 ++-- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 32b32e1d024..8fce627b08c 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -74,12 +74,14 @@ hv_return_t hvf_arch_vm_create(MachineState *ms, uint32= _t pa_range); int hvf_arch_init_vcpu(CPUState *cpu); void hvf_arch_vcpu_destroy(CPUState *cpu); hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); -int hvf_put_registers(CPUState *); -int hvf_get_registers(CPUState *); void hvf_kick_vcpu_thread(CPUState *cpu); =20 /* Must be called by the owning thread */ int hvf_arch_vcpu_exec(CPUState *); +/* Must be called by the owning thread */ +int hvf_arch_put_registers(CPUState *); +/* Must be called by the owning thread */ +int hvf_arch_get_registers(CPUState *); =20 struct hvf_sw_breakpoint { vaddr pc; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 005e2bd891a..3e5feecd8a7 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -81,7 +81,7 @@ hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_t = size) static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { if (!cpu->vcpu_dirty) { - hvf_get_registers(cpu); + hvf_arch_get_registers(cpu); cpu->vcpu_dirty =3D true; } } diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 9111c1d717b..f0a0e5d1a75 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -424,7 +424,7 @@ static const hv_sys_reg_t hvf_sreg_list[] =3D { =20 #undef DEF_SYSREG =20 -int hvf_get_registers(CPUState *cpu) +int hvf_arch_get_registers(CPUState *cpu) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; @@ -564,7 +564,7 @@ int hvf_get_registers(CPUState *cpu) return 0; } =20 -int hvf_put_registers(CPUState *cpu) +int hvf_arch_put_registers(CPUState *cpu) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; @@ -692,11 +692,12 @@ int hvf_put_registers(CPUState *cpu) static void flush_cpu_state(CPUState *cpu) { if (cpu->vcpu_dirty) { - hvf_put_registers(cpu); + hvf_arch_put_registers(cpu); cpu->vcpu_dirty =3D false; } } =20 +/* Must be called by the owning thread */ static void hvf_set_reg(CPUState *cpu, int rt, uint64_t val) { hv_return_t r; @@ -709,6 +710,7 @@ static void hvf_set_reg(CPUState *cpu, int rt, uint64_t= val) } } =20 +/* Must be called by the owning thread */ static uint64_t hvf_get_reg(CPUState *cpu, int rt) { uint64_t val =3D 0; diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index b2bf59cb483..76a58cb0350 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -734,7 +734,7 @@ int hvf_arch_vcpu_exec(CPUState *cpu) =20 do { if (cpu->vcpu_dirty) { - hvf_put_registers(cpu); + hvf_arch_put_registers(cpu); cpu->vcpu_dirty =3D false; } =20 diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c index a502437c303..afcf737759b 100644 --- a/target/i386/hvf/x86hvf.c +++ b/target/i386/hvf/x86hvf.c @@ -236,7 +236,7 @@ void hvf_get_msrs(CPUState *cs) env->tsc =3D rdtscp() + rvmcs(cs->accel->fd, VMCS_TSC_OFFSET); } =20 -int hvf_put_registers(CPUState *cs) +int hvf_arch_put_registers(CPUState *cs) { X86CPU *x86cpu =3D X86_CPU(cs); CPUX86State *env =3D &x86cpu->env; @@ -280,7 +280,7 @@ int hvf_put_registers(CPUState *cs) return 0; } =20 -int hvf_get_registers(CPUState *cs) +int hvf_arch_get_registers(CPUState *cs) { X86CPU *x86cpu =3D X86_CPU(cs); CPUX86State *env =3D &x86cpu->env; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630482; cv=none; d=zohomail.com; s=zohoarc; b=h4stx6+BOQ6fsL/r+cWjhLPWjzkxyl2i6SKaSD+wo9SKDTZMCg23u68fiu5e3i0p338zmgJNKicdVOPntI1yb41j7AnNjptYqIZuXoGKVrQNqzhh75aqw4aVbk//8BYYsWxDGUiIAEtcLEie6mQSNYorH8RlPLJM+0apsvomtUU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630482; 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=PXz77BrZW3QUmlVNh5gnW4lPNFdnFM/IGe1E/YtD1U0=; b=GowxSJQdS5WQmgg8gZRWBVZ49izJsBa/2+w1fm+lVH1b1IJxVY4mKUHtcpw3uNYcxG+UnYgY8qnj/5xOaD93+bzed2Bt7BiGJrO2NdY919WtexeAx7XQ3uBK3qN22xWUPmbgCwyD8CJz68usKJt/reqXj383bRfMSCezWKYF8LU= 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 1761630482101422.73783479594056; Mon, 27 Oct 2025 22:48:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcYi-0007DD-G5; Tue, 28 Oct 2025 01:47: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 1vDcYe-0007CI-Fy for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:47:48 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcYc-0003SB-Dp for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:47:48 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-471b80b994bso76757685e9.3 for ; Mon, 27 Oct 2025 22:47: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-475dd477d0esm169959915e9.0.2025.10.27.22.47.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630462; x=1762235262; 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=PXz77BrZW3QUmlVNh5gnW4lPNFdnFM/IGe1E/YtD1U0=; b=zJcjRh81SiLOpwZCmZXxdmYvPMIIEopd7bSxSw7LMtccoGSe7N6o5xC4Lz0NvqcQFq Y3B7iM0q2AF1mckMI3GKGmu9jyS8TnfBuSD3rM4N2CNuz8uemG3m1+C0HHkpXPAsWF+n mH0TkYVlREEZxp2WGtcg3MUl7jqO0vb8mSRLTs0N3ApNzs/xJEYtdD5Qx/tlYdrMEj0Y 04mKX289VahitCEk6pW0rOdqKJaFJnIaJmJR3zW5Hc/BsEkTUpc3Ww98ji/tXlBnfLyP +CoUpjutR8UeZaycTIigy8Cy1XDqDkTMIF+oSwLVk7wbeTdmKGfEEqiEgKZezoeRhNK5 4Uew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630462; x=1762235262; 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=PXz77BrZW3QUmlVNh5gnW4lPNFdnFM/IGe1E/YtD1U0=; b=J3GWSijk2IwQo6nr9nHKr1Cwt0Cth4DhCPUBPrQKg8HjF/0So0Bf3vvUF0niMMrVu0 bhW6epCXrRTYM+t4gOVcU4eeAZ4sJHOxI1Oy3Dm4lGSowRNBlQnDGzgQoRp8e0s8iIOc 42pHPnun/9saP8Oeesg9WHl0AKHp17uCdglnE4pl0VX90WZLlRXdQ8Gkbbl2Czyaa8Av nJMOZSjJaRXCPdUO4eoeBteaUL6LwGSnOQoG0oCGR0Ob6P6V3AF1eKIig4oIDAc1U2W5 JWbwHwGsFHlAhlMOvNVPk3hfde9U6vOW6cvlDPHo1nF+VKDElj6N/3CrayeKdq+lfcDt t1qg== X-Gm-Message-State: AOJu0YxIpVThH93Sjrb8MBbgdiQMBox0oIEx7QbgpeDM4+7QSaI8DXSg zKg43wjOBV/9NxJPojRqUpeiXRmOLcGAhvIQH9DCKY6ztMv/P0aU0A4RUt5aZbcPwu3kyt8TEwF Knzl8KeE= X-Gm-Gg: ASbGncsQxbeRBrscJgw2IEnz2XAEeiF91Vuqi67hDtJou97bGhUvKr5LV6BpsXTQp6E +Ql5s5Oot1Avi33svZhUV1W2JtBCFtGG8RNq9n0YLz3wHwIwU+tDRb2hjgQzj+gd3nM0kw6bIfD 2WdyGA1orxATQ3MGUIvejzysOHx2fDo5ohVrkKmJUHKphCUfbnxlH71yKVJAXsGCjOnukzUlISN Qb2ucke2uEcNxuEvIzTiwYAnnLgutZZdQRy0nzU8hM2T6c6hsMSSDe7YrKaji3AnYc/M/yqEsgO 4+X4WoVvx+m9lJ9fJn1z5h1MYlNCFQKb5KowzIYioeE8eSAGid6RU3lzr7UZvNKqwJC/nfIdPkz ZBMXbVfc+9DEMazzD4qRfNYjDE2xSDLHv8Mkq+d0J02bfH+27t3WaPL4m2Ai8brvugYngwfLIWy xwYlbxV3EBY+KaZMgil+CUoh4tN3VSTZ2rHMzhoewCisnXcZ3kBfMUgV6aFvGbNMWulA== X-Google-Smtp-Source: AGHT+IGVX3zZA4IzQqDYpwXv7QgpZpfuFH3XYWTpr/Oqb8bagoBaKLrIOjsUTxyztzmQAfiXWY5dhw== X-Received: by 2002:a05:600c:3e8d:b0:475:dd89:ac7 with SMTP id 5b1f17b1804b1-47717df7ef0mr17181165e9.1.1761630462306; Mon, 27 Oct 2025 22:47:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 07/59] target/arm/hvf: Mention flush_cpu_state() must run on vCPU thread Date: Tue, 28 Oct 2025 06:41:43 +0100 Message-ID: <20251028054238.14949-8-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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: 1761630485245154100 Since flush_cpu_state() calls hvf_arch_put_registers(), which must run on a vCPU, it also must. Mention it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index f0a0e5d1a75..fdf8df09d4b 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -689,6 +689,7 @@ int hvf_arch_put_registers(CPUState *cpu) return 0; } =20 +/* Must be called by the owning thread */ static void flush_cpu_state(CPUState *cpu) { if (cpu->vcpu_dirty) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630548; cv=none; d=zohomail.com; s=zohoarc; b=R4qDHoD2OR5jzq1Hrl2GImWSmrIH6BKmbj1EVcuPZMHC4z0Lq1+KdzIogw2Ks9HfmHtUfROS0xUttvAlGy3SyxgWusCm+SoQ1//sn86gzGYbNb76pYD48hLhBbvOv0GU2ZQTOrYBu8qL69VpUrazCEZS33oc37QqFo4vl1/Yja8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630548; 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=rYEkDKuUtDiIDypQqJeptd+MMxIUvh06oL1URWY/YY4=; b=WFPl9oS2qYdmtwcxbGhKdh8YrKRMAVT0zi18KTb68DDrgj0d+gOgZGltW33Lg1fp7Nut2wId7qvGaXPSb+oqsjeHpXBGk64v3eysqSjaKmoeoAPvQIaYfAdT/5x5IGNxrECld6bIJsKbeZjKp/evOYxofgcSNK0E2WFGo2vttVY= 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 1761630548505468.46225067901935; Mon, 27 Oct 2025 22:49:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcZO-0007jg-Ms; Tue, 28 Oct 2025 01:48: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 1vDcZL-0007iu-2C for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:48:31 -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 1vDcZI-0003bY-1V for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:48:30 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-47117f92e32so49703795e9.1 for ; Mon, 27 Oct 2025 22:48: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-475de57b156sm164744945e9.13.2025.10.27.22.48.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630504; x=1762235304; 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=rYEkDKuUtDiIDypQqJeptd+MMxIUvh06oL1URWY/YY4=; b=Uy9Hw0noKAobPRyjBrzomsRiZkyS+L41V8dqQZKNMQt8VKqfkyHFUjk+OoYX93y8bc mwDCzLljP6M2H+Lm2zVCaTrgc1xp8U/sAPWAQP2YhE4Gy9eWhghBhe/juxHP0Obw/Zs6 1E8RrQox5GDG3a++LeIoYKCKNNFhTOp7+BKUA1Wr6nSjpwbXTUTUygyIgEjNPn/jcSFa re9FxWkiD5Xn9t2FIsfypNbFKrrcWLxOwD9clJnAAcStzYVGTl+2f3XWZiFa1X0jfbEX y6mfG8FomyiUtjWp/R8Ol9wxQv+OuB5U1TfvKN70v8L/UUzZNN877y7tXV1EM0SR0LB1 EqUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630505; x=1762235305; 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=rYEkDKuUtDiIDypQqJeptd+MMxIUvh06oL1URWY/YY4=; b=Fyc+R7r54gu/uZ4s/9YuAmXD7A/w6y9EGMlcSaO8jh+UHi2WMpG5ytVQnl2T9CL+QJ vFdBdaZcvCF/Dtyiwyf60RI8srlYK73Ws1tejNA8jqxzkfsAb7INoNztV9j1LymrnaDr dPOAAbc8HCp9h9f341X6b9iGPlYMn3wzywvhmowwDuNBrTqhHVtWqnDBsZcyWdRcMfFN liyxBQTybMmUuVOrNua0AXgKYYLBV7n7QRBlpYb6/rWTxTNGFXtORHnHgOZLrQ5iy560 Kg79quiulBmogkAyrAicRp8NCxByGYZKAG5G4Y/Oio30lLC0AOPgrc65RjDHsngLZjpJ zxnQ== X-Gm-Message-State: AOJu0YwkpjHu/ejaTtuXojdbuH6a+LZeExjP/w0d+meeaNVhv1BkTs5c 6J4v8Ez1DQt/cS86UpRjZgCIVqomn08KnuLPSXLasl686b9ta3XhH/HE6x2SYyFXo3Q+v91/BvO rhZ6zXIw= X-Gm-Gg: ASbGncuMtYH9jGnpkctPmLGCXJz5WD6QPKjavEeiq1kAL6JEO/xE26ISkCFSostObhF tr9EZUJba+McsvU820o/INjJu4admJfzSXeEMChVlBPdsg7C/CCeUcLJA8HL7ChyGdzjhH9ypvF rUZZzoiR/M7WJO2a4ubJVgEQ8+jj3e1ZzFkPaqZB4we2gGJP9eQULhaDM6FmYL1AXB2uPKdOFU3 1RCQKx3Q0seQPPgDqhD1TkCcD9Rvr4ttqQrPSOhCt9Oy+GHo4830B2H6W+WGMB0NdfCLMvGAz7L +pcxhuEszRgy16YJOqXtI0JleVlCtMnMYoXOf34VknzEA87ErJO/p3qUOJruCuA2Mhb89fOgBC0 7Yx4oK/bKUayCrRQz4B1BPh75BDCKjY+12IPeuciF1Cn7eXMCzfzXuOwTJu3vdYRtokxJUrzqfJ lOt+cBh3uFrhK+6CJ3x6hKt91T9T+g6cIDXgRogw4YYwosA9G/7AoCIYE= X-Google-Smtp-Source: AGHT+IHM+kAezokZJtXoKMzXP0KEVS/yoTTQJemYR75pNp81Qss/46nC8PYy1BpmidoU8Dm42Rf2oQ== X-Received: by 2002:a05:600c:19c6:b0:45d:d353:a491 with SMTP id 5b1f17b1804b1-47717def79fmr16592475e9.1.1761630504585; Mon, 27 Oct 2025 22:48:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 08/59] accel/hvf: Mention hvf_arch_init_vcpu() must run on vCPU thread Date: Tue, 28 Oct 2025 06:41:44 +0100 Message-ID: <20251028054238.14949-9-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630551902154100 hvf_arch_init_vcpu(), along with hvf_put_guest_debug_registers() and hvf_put_gdbstub_debug_registers(), calls hv_vcpu_set_sys_reg(), which must run on a vCPU. Mention they also must. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 3 ++- target/arm/hvf/hvf.c | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 8fce627b08c..0c335facc3b 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -71,11 +71,12 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fi= le, unsigned int line, const char *hvf_return_string(hv_return_t ret); int hvf_arch_init(void); hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range); -int hvf_arch_init_vcpu(CPUState *cpu); void hvf_arch_vcpu_destroy(CPUState *cpu); hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); void hvf_kick_vcpu_thread(CPUState *cpu); =20 +/* Must be called by the owning thread */ +int hvf_arch_init_vcpu(CPUState *cpu); /* Must be called by the owning thread */ int hvf_arch_vcpu_exec(CPUState *); /* Must be called by the owning thread */ diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index fdf8df09d4b..8095cb0805a 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2119,6 +2119,7 @@ void hvf_arch_remove_all_hw_breakpoints(void) * Update the vCPU with the gdbstub's view of debug registers. This view * consists of all hardware breakpoints and watchpoints inserted so far wh= ile * debugging the guest. + * Must be called by the owning thread. */ static void hvf_put_gdbstub_debug_registers(CPUState *cpu) { @@ -2157,6 +2158,7 @@ static void hvf_put_gdbstub_debug_registers(CPUState = *cpu) /* * Update the vCPU with the guest's view of debug registers. This view is = kept * in the environment at all times. + * Must be called by the owning thread. */ static void hvf_put_guest_debug_registers(CPUState *cpu) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630575; cv=none; d=zohomail.com; s=zohoarc; b=ZXnE6aR8bI23UA9zzJCcS6edjDBrFUFWdT6A+m3W3TFFTNabItN23eLOyHnufbswMpspuwlJntqpPbYP4AengOWHGAvdc4C/DjAx+Dlp83wDgb3wRgopgvTKBcJr5N8UN4jswEzWLfNwnhI6oOQM9eo+rN98mZpnnVcU5KdTZhI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630575; 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=h63K7KJw7fL2qe3qT9jwFp5KsLmsyTaO/eJCwYKGslM=; b=dJ5I/A4C4s7W4QXJCFAyn1p5jNEIgaOcD+IKeBH8AWEEmb9S70ndIdYLW2vnUZIuHR9dSpoV4UrTaHCA7wK6B4vxhd65Lhd9JBPjEL9Sw4I7qsIdNUlSDeuXp4AJqWTBzcOGww8FAygpzjOG6v4zSboNE5MX/OAPRYSaPkbTqVU= 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 1761630575771143.18784069464004; Mon, 27 Oct 2025 22:49:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDca5-0008H8-AO; Tue, 28 Oct 2025 01:49:18 -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 1vDcZz-0008Fe-NT for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:49: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 1vDcZx-0003j7-Ga for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:49:11 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-471b80b994bso76769705e9.3 for ; Mon, 27 Oct 2025 22:49: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-475dd478202sm174432655e9.14.2025.10.27.22.49.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:49:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630547; x=1762235347; 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=h63K7KJw7fL2qe3qT9jwFp5KsLmsyTaO/eJCwYKGslM=; b=ivNiX5gLvdSK2zHFSa4rXWmApyHJobHQYexH7cDiArJl1yqu6a7q/pGdLagGz9C2Jy jf1zVi6bBAiakJTZ5BEQbQZMa6IAb7J3vW6HrNhmNUMWaOaAMTtqCdlZIqPjT451tGER nL7w/NFGojZgc8kIHwdIvnglkPi5Ch2n7zGay4dbeWWfypl6IG3/GHooe4Zwi2I0LoNn 5tXgeCiajruXfwkNZLel05M0SaWQcDNBZXLcO9TRXhKzvCpY+KURU1+i26i9Wh8Xi5a5 S/LQNEWpxRntAZQFxtIFctb0g7kkR0zPf0bZqNFkhg+IMcyC3ttgeNPnAeU2WslNlaeO thHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630547; x=1762235347; 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=h63K7KJw7fL2qe3qT9jwFp5KsLmsyTaO/eJCwYKGslM=; b=C8SdQ4LIvayDP/8wixua20l6kh5EG1m2QR5V+0C5RDv40a10TuNaLRd8bhFrgVBAuE jUGkHlnrH+u2a/6BBvhKZ3ffYRBAmjEukT9chgbXwTURhqnOwTXYHFmnPzAHEWK80ztA fD+wucgjZo6+UgA4toz4lLGgfR4QVdLkSiL1I7AwNzMpOfJ5nuQVKdvY5ci4Syj/6n2G UgMyMpPynBf7yjYK8gOtwdp83qm4EGntsZUwhYqx25HixbFVMltzgMIIWcg9CLwXdEMi xnjhUbwhY6qQnQ7B7/StHnLTy0D6J+FL2sSfNH+K2U0kvz0SxvbeussO1Kdf2HUC5ind +RVg== X-Gm-Message-State: AOJu0YwCmQGFeCB+bsgD83ZeP5OG/oXrTUK4MmeAX97naSD6XFzRya1T rN10QEoxseBAtHdsq3rcjAJkseHd0dZUQbIoOBBPDR7Ox/28+S39O6oKG77CCy50Yl/AxtoUdZM pTrD3Fzg= X-Gm-Gg: ASbGnctIHyiK/M5oFy3va/hDoQ6vy6tscfObhprI15JV7r16kzQeotrZbVFfu5RmiL7 hBec4Te9oYypvhMpih5A2OpuT+LMT3q13DtAbnCKxjG9iydpCb0n20xOGGXXAGqcel/EBtXqnff UjefDUhYVOYeXyJivaIgdCnFBgdOYdLqGnD+IIFjGTo1NZnx8df7/fF8/CutyeFTTUOBSCiGxW/ bcgZ1s+NpLQ6lXnmarYdxk/Zdx7CTNZDQNAOBqVSMxpON45aH8oK6nknq3To+e7ZQLIhUeBSk6Y W/s0Fo/ng5KrL7CwG7cn2ypBgmqYgX+/+vBaDuJZHtlUKiVJ0yEK+6MqBFXDWbuhumVcb0h6f02 RtIRUzee0A681fNrydtIgakqjGdlu8OtZcFjuozRLxVHhLeftydvaov5e8ihNIaoYZh+2/UHnNY 5uaJ0kovuO900P81ZPzjMw16RM5bkAt9iEjmguiQZaoSBuZz2ZFGTGzeI= X-Google-Smtp-Source: AGHT+IG8SyepO8HAE4XKAL4Hjo11+ewbrPLiNSuCnBknM7uUOvKDJVBR/LhWSReNENe8yY2P7TaJLg== X-Received: by 2002:a05:600c:680a:b0:471:13fc:4ad3 with SMTP id 5b1f17b1804b1-47717df7ee5mr17662185e9.2.1761630546982; Mon, 27 Oct 2025 22:49:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 09/59] target/arm/hvf: Mention hvf_sync_vtimer() must run on vCPU thread Date: Tue, 28 Oct 2025 06:41:45 +0100 Message-ID: <20251028054238.14949-10-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630577610158500 Since hvf_sync_vtimer() calls hv_vcpu_get_sys_reg(), which must run on a vCPU, it also must. Mention it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 8095cb0805a..bfccf5e9a2a 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1764,6 +1764,7 @@ static void hvf_wfi(CPUState *cpu) hvf_wait_for_ipi(cpu, &ts); } =20 +/* Must be called by the owning thread */ static void hvf_sync_vtimer(CPUState *cpu) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630612; cv=none; d=zohomail.com; s=zohoarc; b=aQDFSPz/QqPYyyIyhRiFvbkn8sltO+B7zbKqskZKx6ekT8UiBWfJGkB5a6m0hxEguZKkPxjLt2+QBnRnS/yHR094s6rYPxW0mS7CzzXsAlkPg3JItLSi0XEHofUx89bsygc78HN2TdteUgBHnLMRGcmtjQkjPke5s8r6rJg157I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630612; 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=/Jp6xdYt7Qm+0J/pdgQITMBLjBSEIftoO6mxQrB4mn0=; b=cOjB1hF7obCnG7uZY69yS4YRvndL3a8BcCD5BfW0zSXxqFWzG+XMJKG3mp+tV7LbQNegVN1O3KlEkZAfGlfpMVLEbbHq64yXVrcHis+7uIJBLrW7zfYequeqmynA+v+EnQg1FqQMRDZDpBpMZUM10zDeGM+6BHIDx5yzWKrc2ag= 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 1761630612916659.7873367821327; Mon, 27 Oct 2025 22:50:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcaj-0000lV-IQ; Tue, 28 Oct 2025 01:49:57 -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 1vDcah-0000fs-UO for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:49:55 -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 1vDcae-0003oR-Lp for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:49:55 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-429a0d1c31aso1065226f8f.1 for ; Mon, 27 Oct 2025 22:49:52 -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-429952db80fsm17775784f8f.31.2025.10.27.22.49.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:49:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630590; x=1762235390; 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=/Jp6xdYt7Qm+0J/pdgQITMBLjBSEIftoO6mxQrB4mn0=; b=AvDxXoj8Y7QsNS+0FarH3Ngzo9yIbsrbHotWdFQ4aWmFVT7XncQa9Ni8m9hyzDXawi vxIdCFqBx0UoIbcNxqrWwGeLZWIDIsz5ErJ2z6w3e28H3i+/7vp4YdMptLE7FfYI2S/j uDZRzL61DzoZtnsRG84CO/7wnIo0y05IPRaCiXKL4eh4Mpu3BhF9AvuGY773afeQJ785 Xi6psoJfST8TzZSBoe87RtN/ks9uDCIuCpIkrUsr/wMLXxlUnh1iWHP0URaJFm1IxTu+ cBmkQRiEjj60PYV0PTnBdflxhk4mhZl53D4DZC9nvZ1zcgXpDg7l3BVp2O4/YhXp8z2T 1WOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630590; x=1762235390; 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=/Jp6xdYt7Qm+0J/pdgQITMBLjBSEIftoO6mxQrB4mn0=; b=jQ5XTiJiez+qTBs/Iu7+pb2GhNlqy6sknMva2ttfxzcXQYV6kcT9EKlEL4B4V0+Iuu YyuQCIj3blqVgnuyyEkkJr+x9wd35+ECdKlSGDheLSLx29kJ0pRGx3HaeJHQeP+aPxmC QrbFzXI9fI5sX6xX96v8/7j1SqkocX9nf+a+1cBUGhfiRUpF94AqaPzhv77iHZYu4NJ/ +r7Smp6artK5SIOdWn9m9hOoxJ7Rh/cITd6n6JNLIBTgJhIqns9V5VkwXosWNFKeyTD0 SijcENqbD02Poy7ZTWfIWnz4BLauLoiIwh+8P8MNbx+DuPojoge73UpTM7jrFwFlK+VS i+JA== X-Gm-Message-State: AOJu0YzD9G+Frog8f3MhDpF8AUMp0vF4WRd3ryWoC342QcCG/N4oiWOH 8STzeOlp0fQQYdPHLPiTcydlu+B9uW7WKW9Qpvzy1LX1mkG/nnqXxm7jsiWHEsNygAocp6bRsjq Y6q1cJf8= X-Gm-Gg: ASbGncs+poKoKfmlP7BNX0Y0F6LVuqR2jBjS2oqf/xVMsvdex6CI+nMXAzt1U1CzAP8 GDnhC9moWFQ4xdkwAPLriOY1JIoYAUdeD2gqNNSAT7uLg6ZMmza81rgahRMe5ufWBp8IcpxSiHu JpfU4R1ZpvWDtDUmKamVHZT2/8xwOa80xuwnxaRU4u9/qGAs4aDHxvDqZGMN9dWrK0yi9KCFO5n Vj0tIr+Djs/FgeSm2zqQ/hmJ1mp+uRkYUpk8zUH78inkCdwW+MSIFDMlVGYQK3V3wfsOTKzVFqw QAVRN2OTG9synKIG/v+C8zc5w6KyRVBEieDbmsdvguwQsIRJNsqw/RGWEKcP4dLG9iqpOTTz6bk nLMIQL7JqJjvq2ZnzHcT3VZ87ce0iYpZ9QARwqPK7MzenFoDKhrSDNpQ4xwVYuGvYdE3rNJg5sw Zn3yGTlVhQh9sv1wBcwiFTol1plvPlVNY/1SzBy4Fvx0XIzEVGnLD9ubY= X-Google-Smtp-Source: AGHT+IEU20PyYt+mTWr/WoR3K9FU/uUyz2i4zBcQyRDIjhExevt4g1PL7USbQzRHZ/Jtm/24YzR3sQ== X-Received: by 2002:a05:6000:1a8d:b0:426:fb63:c01f with SMTP id ffacd0b85a97d-429a81f1f4cmr1599784f8f.29.1761630589664; Mon, 27 Oct 2025 22:49:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 10/59] target/arm/hvf: Mention hvf_arch_set_traps() must run on vCPU thread Date: Tue, 28 Oct 2025 06:41:46 +0100 Message-ID: <20251028054238.14949-11-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630628766154100 Since hvf_arch_set_traps() calls hv_vcpu_set_trap_debug_exceptions() and hv_vcpu_set_trap_debug_reg_accesses(), which must run on a vCPU, it also must. Mention it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index bfccf5e9a2a..ee04943b0f8 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2192,6 +2192,7 @@ static inline bool hvf_arm_hw_debug_active(CPUState *= cpu) return ((cur_hw_wps > 0) || (cur_hw_bps > 0)); } =20 +/* Must be called by the owning thread */ static void hvf_arch_set_traps(CPUState *cpu) { bool should_enable_traps =3D false; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630647; cv=none; d=zohomail.com; s=zohoarc; b=NZ+dYqs/OxLwZaEB8DSgd32syaIZyCfqAvFUfeiB+ZoeRdDmz2Sqb1BOkmC9psC0bjN1JBTG4DecMoMXgZw2WnEDs61gh0j3a4lDEDhEY05djrSEIel+IDSmgLPop10QAyC3BquQL78a+setiKP5PVnIIanBsBp7Nb68EToCw2I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630647; 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=bn2C92Ox23h5s0IuScw63a4Ihrbd//B4afSM1bgktqo=; b=HPY4laWTasp42V+g1egF+JsH7xwy3KjeewwLXKA7B63s4Jpx64m72k4dPv2KFbcpA39rBHpvoK1gV9qmtyZg2DsIJnwzzZYzEzTT1IAIop/ZGo40hPAf6wEdvvxI5HPNjAEIcWTiM6AFTF/UWhVzS+4Yu/7H95FLPapto1WkfLI= 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 1761630647120958.2679566763456; Mon, 27 Oct 2025 22:50:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcbO-0001Yk-3b; Tue, 28 Oct 2025 01:50:38 -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 1vDcbM-0001Y7-B7 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:50:36 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcbK-00047w-Cr for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:50:36 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3ee15b5435bso4071607f8f.0 for ; Mon, 27 Oct 2025 22:50:34 -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-429952cbb2bsm18324137f8f.13.2025.10.27.22.50.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:50:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630632; x=1762235432; 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=bn2C92Ox23h5s0IuScw63a4Ihrbd//B4afSM1bgktqo=; b=RkRxdODHQLzOEQ5oodl8Ukk5TFGZI1vtbQVsxzDKZ1x04ez/lHM2dgZtCztzbzWKst EL3m1lIin7MdY4MDfVQhvL/t2BJjR5jRjGedqRvK1ENTj6UOjCEbQwc1iinUTTmXlqs8 MEZbuMxU6Fs2zW5nCGaNd4NryZS5iSXzqO1ovdLQ2xHWNy4ahcV98E+ScBvA5w0qEsTS xAdNu07Zp4Xr+J80qqmi0LamggkMG0b3ZoEzYhInzPE1L1P6+owmEP+GfYTyNG/qG2Xd PowwTeqs6D5AlOhrDGQ2CG7KSnjsH2iAEa83VFsGhANMGTODgsZ8/0yQCD2FByINa1tN ZcKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630632; x=1762235432; 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=bn2C92Ox23h5s0IuScw63a4Ihrbd//B4afSM1bgktqo=; b=XJW8jeLNvz1BtyHUhP4gcUVTbd85Ajz03OYR/ojbKTy0xtEIhFkI7Sx8QbbR5wJGpb bULZ9cXE0A/aRv5N+QKsO5A+WfS2TZYuSWVqg9wczj0snOvXAwI/4YAMpvaWfYIJ4VW9 5iZh06iqw3byFRZA/+wklUpFgcqPFcwTPsU8KMGXS6l6fqn0NdT7K1Tq4jYu6Hdq0I7V qJUwBy+0BpHJgYbr7f8NWLV7N/HCvk7/OSY0rdkcMiThehclvx5elbBWKazZb5qcOslM RZMrKX4Wd+9SQ8zV0O6IqwECAPl23AeK65f2C8dIqiAr3oGPKEo4flRr8yMvO5Y63Tve 7BFQ== X-Gm-Message-State: AOJu0YxulOfBMCQDCxHJQb4qLTHVdmz75r0arv5Laj5bdQuuyO/IhhuX 45zcdBiH6RPWBkpGuIwS91NyNhRZqRrMfHpys7dSPZxlgyE0zqH1HpqT5beFjaagFscA0TeE4DU HIGaLdVg= X-Gm-Gg: ASbGncvHQ79MKhflfVESvmGW23Q6TZzT3WD+mmwcukDp1Is5ivnyY8oFuePDHpnJHu8 0EovN18eMkRNTn3gAOtkGtOLPg6e6LHgxfrnqEel05AAB/tZiZfWgbqu3uv7qK0oj+SvTSR0n5d RFDpxfIO1KrmtD3toJ7dNjRjOpDQrx05H68mBDqLy/5TYKe4xupeLX8rVc8GpoUau2uPwA67RTL ytkKb4RDr+QZIhlFFrroH+4z9+CrqI7VdI5pmwEwmIoLfde0/OcI1vZ2Eg+ueytcM34fv+1uYt5 2PGemrx6Yo1pASwHiDPlQVLklEn0s/mKeIP/65MLset66iDKeCHRYwF/RSexp9xEBRnIoE6wQIJ 2621gH1mAL8dSE21Mm/CAaGGiDfYnMiI2pgangICOI+MaKW+cvMezzuRxzR2qILO1YeNsncv8hq 9/HRbFNX43tdjex0wnozNk+AiLCM2+Ax0kP2thxQfS1Y3ak/tcc2J9pk2Jj6hQVZNPpQ== X-Google-Smtp-Source: AGHT+IGSglBN+lTnjgmy3R4hdyxRvhXy8vCf+1szzhrxs7W2rxaBTq0xanpi+n18Rxek2tCaqHX32g== X-Received: by 2002:a05:6000:2c0e:b0:427:9a9:462b with SMTP id ffacd0b85a97d-429a7e52ed8mr1550126f8f.18.1761630631830; Mon, 27 Oct 2025 22:50:31 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 11/59] accel/hvf: Mention hvf_arch_update_guest_debug() must run on vCPU Date: Tue, 28 Oct 2025 06:41:47 +0100 Message-ID: <20251028054238.14949-12-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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: 1761630649248154100 Since hvf_arch_update_guest_debug() calls hvf_arch_set_traps() and hvf_arch_update_guest_debug(), which must run on a vCPU, it also must. Mention it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 0c335facc3b..241c668795e 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -83,6 +83,8 @@ int hvf_arch_vcpu_exec(CPUState *); int hvf_arch_put_registers(CPUState *); /* Must be called by the owning thread */ int hvf_arch_get_registers(CPUState *); +/* Must be called by the owning thread */ +void hvf_arch_update_guest_debug(CPUState *cpu); =20 struct hvf_sw_breakpoint { vaddr pc; @@ -109,7 +111,6 @@ void hvf_arch_remove_all_hw_breakpoints(void); * handled by calling down to hvf_arch_update_guest_debug. */ int hvf_update_guest_debug(CPUState *cpu); -void hvf_arch_update_guest_debug(CPUState *cpu); =20 /* * Return whether the guest supports debugging. --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630711; cv=none; d=zohomail.com; s=zohoarc; b=VO9w7TWdTOCLF8eTcOe0ELqeN6tFTGkUuElZ0K+pWGzPRk0XeLJYxuC5nqi63jt4sJb+Mzn3BKfPti4Ddz5WPvHUx01hVni46iPpHo1gfCG14Cm/Qei18ljXQJVTGguzs197XmuKSsNZuH/1YiBwW+AFkixCn3k7o8BusOX4IvE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630711; 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=zY05lUWL5hjS7DHXCd+KmMwND4lCTa4Rhsa0suClLwM=; b=Mnw7KneviNOzK4S/B1TFMaX2MrNudpbYQvoqmjAlWuuHs1pkIvbKuNys2X7PfLpEVm/DzR+9yjbPJbciB2joPT4NtQYaRbDY1zKebxD5Z3FgBWoVrNd9MaGUPnOCL0nEi7GG42nY8cQJ0or6p8nzTl2KTTo2j06B3teJNx3vDIA= 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 1761630711432634.6704126865687; Mon, 27 Oct 2025 22:51:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDccG-00029D-6s; Tue, 28 Oct 2025 01: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 1vDcc4-00023b-LA for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:51:22 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcc2-0004LD-7W for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:51:20 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-429a0d1c31aso1065791f8f.1 for ; Mon, 27 Oct 2025 22:51:15 -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-429952cbb2bsm18327270f8f.13.2025.10.27.22.51.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630674; x=1762235474; 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=zY05lUWL5hjS7DHXCd+KmMwND4lCTa4Rhsa0suClLwM=; b=m9xTbZUMWNbnlKrulpQiMlu1UIBc4mZnBNOU3hi42/HYt2beErL1VwKbjf0C1o8mxp TJigR9j6lCiegiKU7r9aOZm6BwIbTUZ3cq5xMQ0yUzX+jEl1TDxwm2wV3ytxg9q7cwMs VRU75dubJS9b8d4GJgUvUW8mOy407FLijVVSsiofEcJT6nnXXSu/3fC+D1UVoJB9Zejk oz7wGMIx7t3xVkj65oZzVZi5vMikxducBNLv1zwetk0D29b3pTV4ueOrUo29vvF/K+Sp sQB8Xy/uvZqP62FQt8dl298oO88EP80cGvlY3hkR9++5C95EMUE1Q6tOabwcXN3/KqVe dvow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630674; x=1762235474; 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=zY05lUWL5hjS7DHXCd+KmMwND4lCTa4Rhsa0suClLwM=; b=i+LMkJJZWRVbH9Y9O2DOnO5lR2Ihw6aWa4i+PV580TBdYPGNyWqtoxF/6CwQWxxgb3 qJ/SXLrPm/cyUdMWtn6veS79t187jtHjKATalVkEa2q7MheriBZmoBXj7hpJi3DQmsqP t3n7Clo0pdGB5FOyWZxcbVfzAbSPhX+zpZxHaX/BNsFn8uJdDXN/9eS0wjrOv5PfGBJr dd6We9WI/cQ8/d3FwzdUPpoLbVOsW0eaPO14G+l/oVTH40ry/H1Ueo2Htih5k04pGGSn CrdTxs5V9WsjRWnoh9cp1hCcksW6bg6IvQulaQ7w0ruo6vI5dAUfNUgSjpligffieCZv P8kQ== X-Gm-Message-State: AOJu0YyC1UHw242qfcruHaY8mFOXUWx139fIPQcrytJl/k/qH9TgHfQU QFBjaAuV9uAG4s6n/itjiyfISX2tqqc6J0XLCfp5ewPTaIOx2clXf75z28cIkJCG8mrxoms2TFa 30YnikYE= X-Gm-Gg: ASbGncve1KgG/ZBJv9zrpNoV7mnYfVoOI2BCOZ+JtHsOdhN8eHQ6cELhQQ59rPnopB9 b+EMRWvuoq8EF+VOJbhq/yVDOI2CCw7fSgVAOYtFfvT1cqZSp2+59J2QLNafgtNkMOU6Fqea1/5 /glbCEnRDCsCOPyKPFgES3HJBMOTKRYBaBoTovcPg1bIdcLH4nAF9wZ5mxMXMu9FXjoFLS40rMU CsC4CxHyefOLU97sKFEyQABTE2o0ytHbCLF4PEpcoK5JMUbI39uRV9WyM9utrnYHXOo0Qxu15c7 XT+Xt0/FpjHO2UjzFH2Vz4n72I7GfWmoHw5Hheh/eNgMm21wdK/+9olwPH0MuW8Q4+iWgcR5eXP 9U/AQsn4AWlx9F/HUjYSSB2PEiSel3mqauordeUvhCUmXaDYusF0Ox2dZbakBymSgk/hOQ3sacN xRbBkIROTiAY5b3oiO4wdXcY/yHfu6hdRGuFIsV1Lhzw+gZToWqUVxjrE= X-Google-Smtp-Source: AGHT+IH2ZCMij5u/HguG9ium9J7tXLPq23syhivrY//lJInzKCk8P5thzvwXA6OLMlk+1oHn1CEZAw== X-Received: by 2002:a5d:5f54:0:b0:425:70cb:9ba8 with SMTP id ffacd0b85a97d-429a81b1f42mr1411013f8f.1.1761630674361; Mon, 27 Oct 2025 22:51:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 12/59] target/arm/hvf: Mention hvf_inject_interrupts() must run on vCPU thread Date: Tue, 28 Oct 2025 06:41:48 +0100 Message-ID: <20251028054238.14949-13-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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: 1761630713658154100 Since hvf_inject_interrupts() calls hv_vcpu_set_pending_interrupt(), which must run on a vCPU, it also must. Mention it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index ee04943b0f8..0d8ff49ae15 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1664,6 +1664,7 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t r= eg, uint64_t val) return 1; } =20 +/* Must be called by the owning thread */ static int hvf_inject_interrupts(CPUState *cpu) { if (cpu_test_interrupt(cpu, CPU_INTERRUPT_FIQ)) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630750; cv=none; d=zohomail.com; s=zohoarc; b=Ah2lHtSP0Ok/9kQS3mm9bcnv0jOt/7fH3T8KC8iIQgDXGV1suN4jHXl5Pm94INN9N28T1PydbM6qeOog6XzscFFl/O/CsQ0tYVWwulGz1jPh7lQ2al9hBDGy63canbJEFhiEr45hvfYa2pYnlGofHieLO3qq3i5am6RIxiis2zk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630750; 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=jq0durEu5s44u22O42W1RyuWwO721rs5WZGhnt3B+SU=; b=kOcx3JxMF9gWws+5VvG1xHRrKJL8XbVECbrDX5C7l/OIRZRGIC2YekS5Q+stlmV8F5FmxZJOUppuGZ5ia9Zc98JjIurYnTdwpore/2Phdo5iABQuJt37eKeSA4lV1Vvj8YSFuJOvl6GY0qajIY/hd4A2QN1vjSvmfebaNgo8GxY= 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 1761630750868321.76347767100617; Mon, 27 Oct 2025 22:52:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDccu-0002Sp-H7; Tue, 28 Oct 2025 01:52: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 1vDccp-0002Rr-4o for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:52:07 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcch-0004c9-9o for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:52:05 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-427084a641aso4023037f8f.1 for ; Mon, 27 Oct 2025 22:51:58 -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-429952cbb20sm18202547f8f.18.2025.10.27.22.51.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:51:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630717; x=1762235517; 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=jq0durEu5s44u22O42W1RyuWwO721rs5WZGhnt3B+SU=; b=ykC+htf39983KkUPG654TAVr7zoMc6/01ABqVBG3vcyIGDfDFntjXfddWdmYh52NQS +sr/J9Pr9o2fxIfh1dlt+Gi3LMLTblp+aXkXmd5SgrKqViREwA2IxSgqwjLnsTYb7GbZ ofnkaa49fUqBpyKjWFM/TzUwTWOztGAwnM6zI7ZUau80FlX0XAfXmGur62MJGqGD62+D qg32UUVGyKNb1K2l5+L14HfxZ5E6P+DCYSCf2lS+2HaN9uFBUqLkzVlk4oVqLxVWxx6I CXHd8rhvpDGYHConnf/cpnIsvIrVWh3ze/SAOGSyHCLvNDCnA4h/lNC3hDQbRtKHOMT3 aVGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630717; x=1762235517; 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=jq0durEu5s44u22O42W1RyuWwO721rs5WZGhnt3B+SU=; b=MHDF4S/mVXbiey2zvNvWAI36G6tGaw79BGG62vs7NgsUirVPN06siLuZOOJrJGlzv+ 3rlgvGYxoZSi6hfbPbfB1RGg82mcNIBMZUd91qsN2pRFwDLjc/SonPwzDfg2Qh6shAPa Cr09rmlv/20J/vEz4UiR1Y9YO+sULgmUd138Q2NpsbSk3wEpOFfqXgq3Cm/7hNjmy9EV 1vcCdhpSUmMRkE3v9fC6DH+eUqfP5psmsCAPOkVCCBdqnvfMmkPzzz/dghsM+mozVy2b 6GZqPH515VAILZ6fi8EPwmVkrZSYoAT03YXmuZg9a7tWMGRtbczYqKarDtxJOPXC5gtJ fjRQ== X-Gm-Message-State: AOJu0Yw3Yxp8uQOy5hU+c3EbGpa/0Aaoe582QCPAy+LCNlNARgDXAtim RZjU5rRBrSya7Top67X8XMq/xRYt5weolQuTCx0rQMymi94dWvzR8/HbiDhYbFm4IuuszSsUO2N KLHUtf/M= X-Gm-Gg: ASbGncvsQMtyP1gZHIXo9cXjxi7DavZvA6Y5/85nN4NThnGtQHZwINCY59tgJwYVSB8 Ve//RVloANYErjtwZof1kwIxDKh/XgF5VEboXMH9NEI1lgJzGjjSH+5NCu5p6zI6mxxOUh3Bn9a pgqpD2iyPMgzt+Od0ZYwadl9YO5C/BMh9KaA50qTxxYmB+tdkElqarnl6ssQy6zVswlc8fpsdBu iXSFndTe3C8SgdGXInRbYDwpgLXFRsvhJkNo8LoQJdO9KE50z19WmoR3ZbZM8sUApskc6LstRov yybWT5DyAri6b8Z2NS9ycu87RXg/NiYeGJab+1mLArgMh5fIDSaZ3LQdlbjlaZocQwiySlHzUVs QSUCu5LQpd9+GurAd0PiVrcXE3BTRlKdyyIO/hDSs82UHDNGJhW5xPKemkgFA44+92mOmUz15H9 iOgcBudbCuZjJjYM525RpCUnTxOK+Bt1PmXCUm+FQwsbLN1QBmBU86Ok4= X-Google-Smtp-Source: AGHT+IEt3QGZKpeUZj+YqINC8k2iAUonIPVk0UMdTxMT7no1zRYMV2EzFBPJGKG/osoJCgy5mo5ofw== X-Received: by 2002:a05:6000:2203:b0:428:4004:8241 with SMTP id ffacd0b85a97d-429a7e7a0cfmr1877762f8f.40.1761630716726; Mon, 27 Oct 2025 22:51:56 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 13/59] accel/hvf: Implement hvf_arch_vcpu_destroy() Date: Tue, 28 Oct 2025 06:41:49 +0100 Message-ID: <20251028054238.14949-14-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: 1761630751935154100 Call hv_vcpu_destroy() to destroy our vCPU context. As hv_vcpu_destroy() must be called by the owning thread, document hvf_arch_vcpu_destroy() also does. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- include/system/hvf_int.h | 3 ++- target/arm/hvf/hvf.c | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 241c668795e..195d64dcf18 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -71,13 +71,14 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fi= le, unsigned int line, const char *hvf_return_string(hv_return_t ret); int hvf_arch_init(void); hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range); -void hvf_arch_vcpu_destroy(CPUState *cpu); hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); void hvf_kick_vcpu_thread(CPUState *cpu); =20 /* Must be called by the owning thread */ int hvf_arch_init_vcpu(CPUState *cpu); /* Must be called by the owning thread */ +void hvf_arch_vcpu_destroy(CPUState *cpu); +/* Must be called by the owning thread */ int hvf_arch_vcpu_exec(CPUState *); /* Must be called by the owning thread */ int hvf_arch_put_registers(CPUState *); diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 0d8ff49ae15..d13ccf5508c 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -868,6 +868,10 @@ void hvf_arm_set_cpu_features_from_host(ARMCPU *cpu) =20 void hvf_arch_vcpu_destroy(CPUState *cpu) { + hv_return_t ret; + + ret =3D hv_vcpu_destroy(cpu->accel->fd); + assert_hvf_ok(ret); } =20 hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range) --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630797; cv=none; d=zohomail.com; s=zohoarc; b=ckYEbc+Ul9yBgGz5GZQEY7/q/H6/4c9s0aHlhfYS1e9kBvArHHZU6vN8m5RLZYqEnFKV6kTOTV9OTVcyDLrrk74SW8lgbO3Qs+UYryDV1nJkw5Lk0wQmcdVzd8qUxa1FescAP3mGS6E3Q+O7rF8kGQEVe401+8+1UKs7iNoYo7w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630797; 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=8YWr4zExFLVkS/USY8dnF7Z2qM9YsNMJfD7DIjDOS2k=; b=SPBYX2YdXA09QVGiQdfv0KlLi08M/4uszsQcDuIaL0wX6+IblVnWE8XfG+JdlHUlafiRYP/maqidOA7sjRCtLVNTegJErOrnUU5E/lw1nZZGNwywvts3ff1i4D1RUCvaReLSrceChnetz36UElZxRiJhYBCS+UULxBtCuPkLmIA= 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 1761630797367601.2082770608915; Mon, 27 Oct 2025 22:53:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcdm-0002qL-5V; Tue, 28 Oct 2025 01:53:07 -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 1vDcdV-0002kw-55 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:52:50 -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 1vDcdO-0004eW-7E for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:52:44 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-4285169c005so2511591f8f.0 for ; Mon, 27 Oct 2025 22:52:41 -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-4771902991bsm10490925e9.7.2025.10.27.22.52.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630759; x=1762235559; 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=8YWr4zExFLVkS/USY8dnF7Z2qM9YsNMJfD7DIjDOS2k=; b=dpqQRL6Uox8vlwm26IU8dTzsGXZ9VXjOvRf7bEOXsogigNHBuMaCIFVQY6LxhCYvHK E/HzOSUmyO5WQvfIQIsEeUAJsZ7k1U/+lzsxlbq/fC8QtQ/fovq3y3kWoqQUmF+V/xpS 3sMzQkxsgOHqquiUSnHPqTHkP+YFhD6RDFv0q4G5ByhLwG07v0Tu9bS0NsC1vYY9pB88 NNojA9K8pcn7jdwzrnSXtKoHvsRTmH8pZXnbOKDw0A102Y340RyPUPtqnlEw1QjeMdM7 WMbbimhcDKCZpKWBcgbDx08N1wGd/K3rCVkkAG3SK3J9NJLv/il/rYIqlHOZqeionUrO x9oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630759; x=1762235559; 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=8YWr4zExFLVkS/USY8dnF7Z2qM9YsNMJfD7DIjDOS2k=; b=CyoNw0mPVrXNOTNFdrp3Px1cC9OXNuBLeobY/CeIv+vocCvIHtf7qo5X2B0u0l4NlZ H8vjYMGU9veA01iiwwjw/ETzFRBB+J/eOIbNIJo8ctJUVH3IdPluBn1+p/AMOojpIts3 wYaHdO8MW75qx0sak5x3A35lponcXQuPKqKjdF3/hP0RHHqis7OFpijtgPlUg5MlhJDy XzPOuPtQvkrU8jUUITyD6z97/09vwQUVwPfyBFBSqVcuUJo3jVBZnSV/Dd7QvHebErBT 0sZtc/7B9Tov1IzQSUJPRItYeMjt+6rtW/Z0a4pmz8NqMXJWalhbWVvEya/weAtAfGRA jH3A== X-Gm-Message-State: AOJu0YyM2DZWTPGwt7zSq4FNtyxsPD5FbIZaZpX9GUJQMA7xCMCabTMl Y/DqK2yku8LMF12cEeRgTQ10KNGmdIySyGAWKvZb0ZHdUJkeA8U4FFwMyScfGII2FER5YSTpbzC qRevWars= X-Gm-Gg: ASbGncvoyGiO1xAxOkdpIonHdu45wgdY1ZaJwP+2UKFP9y6YAQaXhx0DQqdei4aqksz LcxWijHcOSHTPyOoYT/73lM6UWMGykG1MDyonC+TdLKPnzpIiTGuEH11KNw0GocWcjtWojZPeOp z0uKFLlNdfkGq/cZEJnghXFfsXZxRLp0z5j+My4fmBSZyz+5Kq8ccKUMJGXY1Hd58TY7scKlbFH O+Hndet5AUojk2/5GtjqoBWz1yUTM//KgrzcIqPezR7EFRmQCZMWDDWhWAaU5LQVCgScDtlGL/U XDXLhy2ktJYYVMQ56b2ds48q6d8aG3vJRp9IJTBNjgTTMYMqDCN1x7sh0AW2pCVHAbdlCpaYAGa iqvq5h8iIUoGKov3PYjsk2hyHW/T0o2VzwDfY9RGTLvMQrQ18+LZNsaHP2TArd34a+lYfrm5QQW pLT9pmUYNVAsErk2DLBoY9UyAgUc08lYQuOiKuc0EafziOXUULhhmDYXTD+ACGufsUhg== X-Google-Smtp-Source: AGHT+IEU+6AGBILbNEuL0jb6gAUIa/xcXtVWRBjASXgzq1ozrB2LUf/RfnLi6wjhcKCVRCxMe6Y1Eg== X-Received: by 2002:a05:6000:310e:b0:427:699:a9cf with SMTP id ffacd0b85a97d-429a7e7c2ecmr1728040f8f.33.1761630759244; Mon, 27 Oct 2025 22:52:39 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 14/59] target/arm/hvf: Hardcode Apple MIDR Date: Tue, 28 Oct 2025 06:41:50 +0100 Message-ID: <20251028054238.14949-15-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761630802107158500 From: Mohamed Mediouni Hardcode MIDR because Apple deliberately doesn't expose a divergent MIDR across systems. Signed-off-by: Mohamed Mediouni Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index d13ccf5508c..890e9266f93 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -763,6 +763,7 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUFea= tures *ahcf) hv_vcpu_t fd; hv_return_t r =3D HV_SUCCESS; hv_vcpu_exit_t *exit; + uint64_t t; int i; =20 ahcf->dtb_compatible =3D "arm,armv8"; @@ -781,9 +782,19 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUFe= atures *ahcf) for (i =3D 0; i < ARRAY_SIZE(regs); i++) { r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, regs[i].val); } - r |=3D hv_vcpu_get_sys_reg(fd, HV_SYS_REG_MIDR_EL1, &ahcf->midr); r |=3D hv_vcpu_destroy(fd); =20 + /* + * Hardcode MIDR because Apple deliberately doesn't expose a divergent + * MIDR across systems. + */ + t =3D FIELD_DP64(0, MIDR_EL1, IMPLEMENTER, 0x61); /* Apple */ + t =3D FIELD_DP64(t, MIDR_EL1, ARCHITECTURE, 0xf); /* v7 or later */ + t =3D FIELD_DP64(t, MIDR_EL1, PARTNUM, 0); + t =3D FIELD_DP64(t, MIDR_EL1, VARIANT, 0); + t =3D FIELD_DP64(t, MIDR_EL1, REVISION, 0); + ahcf->midr =3D t; + clamp_id_aa64mmfr0_parange_to_ipa_size(&host_isar); =20 /* --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630853; cv=none; d=zohomail.com; s=zohoarc; b=NnRDGUj5T8WbTpjUxYJefycpTnqzOLzh4VO1r+U/1mMh2wXH7iIqsici8mUpgZcEwYuwusK+l/GcquzvJG/OHBHuwsCJFVrysVQAHjnKJvR0HseqZ3wcVUQ0V4cLPd+EYKs0xsYjdBVshAHXM3Bd7JTZsmEIue1iP61K9aGTgbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630853; 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=YPRRwLj76IcDwxiEgjfHUMq405RINil88LOEgkCDg4g=; b=XmxKebHuTZTJ1rwfN0pvims0607J1hOk1hZ056Hpq99pXSrS6pVzWyWPKX/ugWaqyhflpW+oQoEcpJ/VwtHuKGeMb9QBf/mKhRPyU5O3+KyEFCW72uIZU+xXNev6+4wtI4GRhy3jV8qvie/4hcsF7UYNh8fhh9UQo9+AxpWNgAg= 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 1761630853384260.6876550017287; Mon, 27 Oct 2025 22:54:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDceN-0003Xj-0d; Tue, 28 Oct 2025 01:53:43 -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 1vDceA-0003R2-9O for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:53:35 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDce4-0004gy-6b for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:53:28 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3ee12807d97so4881425f8f.0 for ; Mon, 27 Oct 2025 22:53: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 ffacd0b85a97d-429952b79absm17995807f8f.3.2025.10.27.22.53.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:53:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630802; x=1762235602; 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=YPRRwLj76IcDwxiEgjfHUMq405RINil88LOEgkCDg4g=; b=l0pF6zHTLcorNjwnMtTlFAp6Jy9DfTIPZpLI1I/MuTBc5WxVpIVUfr4xflacPqCMEH wcLpu/N9Qxxy+NQ6iSsSTNdpeVIHFRS0dztOfUc7T11G9vDJXFbECzCY2shH3B/AP4yc nOsL0LGt7XWdAaET/U2eiYkWUO7w91p1ScinYFZXAPNwNJ4aujumh9V2uyKh93ORkiSY hbRoiOoy+yG2QOISkj6lPSkfPZmLqBxvEngWMkGZpzSP6hV9TcBgJZomR8miF+Nt4fWm MJAbUAiqn6uJuXCZFcATU/mHy6Suv7TnNFEfIQ2DVE6mXSapvGx7751PO5JVJ+2a9XVg xqTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630802; x=1762235602; 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=YPRRwLj76IcDwxiEgjfHUMq405RINil88LOEgkCDg4g=; b=tm2Yzny/EKQc1kNSJRoMInCsLCuTIh9XoZHx3XatIOjTFeNEJDrOYLiE0qEyWM9Z4m jDPBJrVWMKsbdcVAEGK/bs4fmrqqW/CRDAdz+2C9erB6qSuWI5awPckLFCCXsdAJMJWw JFFTu6+41uPhea7Vn/jbZYDanOieVCvu1IGUoAscfF9bPl7fU8XPEmZYbPAiEJZQIn6Q mhdfATVphqtPWFO/Jykv2dzL2F+uvclx3FVLF4E+kjLlwskwCNp0DQR0VHJstAVzOFn4 HCB33b70vS0itWAW7Y4ayVb5ngX7AD3hz5TPSMn+tdAkAWu1z0targ/C4UZLiK0nbQin 57IA== X-Gm-Message-State: AOJu0YwaMg4CV75YcajXzQEThCSsQXafIDqksUn6c8VpzZBD57QKIdEE vEM4Pb9HmkKA7XrjoJkB96jP+F0JGeieIb1l7HQaY1/b3cMELtcHZ2r29vjqPeMSfkvcup8V5KS OC7I5FE4= X-Gm-Gg: ASbGncs3CdUxWgSLuyrgfu4autiMajV6a2fwXFxYVGGhYpVWVCLLdZt7YxM3m/PcmAt +H3sk7r5ftv43OJrU1B2qcayrEcpyaMvRpDBAvi2hO4R3qAHo4i6OayYhsrymfvknMPz4sMPaOI m/+gvqByz6bRNG7V3/pe2bSNH7Z2x2GyNmT+AeYFJbH5tXPUsUaYaXFQ9L42mtVaH8Idnaepok+ fVsf1AAQWIXgGtnp5JFbAz9UWoCajR8pRVsDMTwBSvGCy2+H1yFPa3iVZjgOAl1Fm9JUeLk/TXv g3xdFmad/JoxJ3afSbFyqoapWjEy8wV37IDZqZdquA8jSLoqVlTujVQ+8WbtUk4hmZkzadSvdx5 ZncQR05P2qyIbUOHZtHuwTF4wn19cDqmfqY5bV1f3uO7dBSSm3T54h2fgsnjHXEEcR5KN6gQl7H WS5IMoRd4yOVySopRm0rceYRGHcqBRDcHUj2+YUlewoIYRDqr6Z+KNf1I= X-Google-Smtp-Source: AGHT+IGBx//945fjY+61kZB9I3lDSHqKuRIUCe22/xupT8sh4qbgKfJbxvD5raUlJ/JvbSaJV1ScOg== X-Received: by 2002:a05:6000:2911:b0:428:52d8:9680 with SMTP id ffacd0b85a97d-429a7e5522bmr1605473f8f.18.1761630801797; Mon, 27 Oct 2025 22:53:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 15/59] target/arm/hvf: Simplify hvf_arm_get_host_cpu_features() Date: Tue, 28 Oct 2025 06:41:51 +0100 Message-ID: <20251028054238.14949-16-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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: 1761630858883158500 Use index in the structure, dereference &host_isar.idregs[] once. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 890e9266f93..dea1cb37d1f 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -743,21 +743,21 @@ static void clamp_id_aa64mmfr0_parange_to_ipa_size(AR= MISARegisters *isar) static bool hvf_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) { ARMISARegisters host_isar =3D {}; - const struct isar_regs { + static const struct isar_regs { int reg; - uint64_t *val; + ARMIDRegisterIdx index; } regs[] =3D { - { HV_SYS_REG_ID_AA64PFR0_EL1, &host_isar.idregs[ID_AA64PFR0_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64PFR1_EL1, &host_isar.idregs[ID_AA64PFR1_EL1_ID= X] }, + { HV_SYS_REG_ID_AA64PFR0_EL1, ID_AA64PFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64PFR1_EL1, ID_AA64PFR1_EL1_IDX }, /* Add ID_AA64PFR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64DFR0_EL1, &host_isar.idregs[ID_AA64DFR0_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64DFR1_EL1, &host_isar.idregs[ID_AA64DFR1_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64ISAR0_EL1, &host_isar.idregs[ID_AA64ISAR0_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64ISAR1_EL1, &host_isar.idregs[ID_AA64ISAR1_EL1_= IDX] }, + { HV_SYS_REG_ID_AA64DFR0_EL1, ID_AA64DFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64DFR1_EL1, ID_AA64DFR1_EL1_IDX }, + { HV_SYS_REG_ID_AA64ISAR0_EL1, ID_AA64ISAR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_IDX }, /* Add ID_AA64ISAR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64MMFR0_EL1, &host_isar.idregs[ID_AA64MMFR0_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64MMFR1_EL1, &host_isar.idregs[ID_AA64MMFR1_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64MMFR2_EL1, &host_isar.idregs[ID_AA64MMFR2_EL1_= IDX] }, + { HV_SYS_REG_ID_AA64MMFR0_EL1, ID_AA64MMFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64MMFR1_EL1, ID_AA64MMFR1_EL1_IDX }, + { HV_SYS_REG_ID_AA64MMFR2_EL1, ID_AA64MMFR2_EL1_IDX }, /* Add ID_AA64MMFR3_EL1 here when HVF supports it */ }; hv_vcpu_t fd; @@ -780,7 +780,8 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUFea= tures *ahcf) } =20 for (i =3D 0; i < ARRAY_SIZE(regs); i++) { - r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, regs[i].val); + r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, + &host_isar.idregs[regs[i].index]); } r |=3D hv_vcpu_destroy(fd); =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630862; cv=none; d=zohomail.com; s=zohoarc; b=OS0BlZ8qh6ykptznCEghk/1LfPtts8P3ziX2UzeXywV7aU+8Wu8iwlw9GypMod/UVN8T7dwvrt3hoMB9XYZHfU2c6lv+7w30PLTU78ivMzU452ftZ/wRgj39+MdO+YtRbrUOc6Q9m8fJnkn7IZIsFHWfcFzouLK1/rR/aBjt21s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630862; 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=D/iyIMlpli6FTCe5zjpzm5x3w0vLSEGAxerjR++HIGs=; b=RXSEyzHKBSKPC409nbXiYFkEEwHWMu1qVMtR6Oh16FIjVU+zYIOz+GO03AceS+W0bGqb/tu8/iUWyfGiwKNjFGtjHdFiMdwOhFLJNWcCJ7yLKi4fbGJ4V1ZRmBWwPuFe6f29WS7rOCjB7L37l96t1yCpwX+G0vV7EQ+P7u8fHRg= 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 1761630862615652.6261340258635; Mon, 27 Oct 2025 22: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 1vDces-000438-81; Tue, 28 Oct 2025 01:54:14 -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 1vDceq-0003z3-PO for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:54:12 -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 1vDcek-0004jb-C4 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:54:12 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-47109187c32so29774945e9.2 for ; Mon, 27 Oct 2025 22:54:05 -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-475dd477d0esm170237355e9.0.2025.10.27.22.54.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630844; x=1762235644; 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=D/iyIMlpli6FTCe5zjpzm5x3w0vLSEGAxerjR++HIGs=; b=XazHInvhBjbnktxjcs97gXDkCDmZCctvzbq8/Bt74RsmlNGVidtgwi/+7F3cJDjpgb lJ5dyj9KDfeWAgFWETII0xJtr3zsQfdTLEfR2wcNL0mTcFCwz8fDncXPgKQzs6103JAx 4deiL/MJ/+k/QrRtJ022tdgiW56BmtcTU/6dFe5bXs8AFM/xdZNOzXYFP6GWYKWoA+cO 2yn1MagkpfZZqg8NheEbWXxQhubrlNakPhpDO4mW1YKGnhoOEoaBlAbsBVzxrvE0qllk kVpbG9TFqxUUdqgLF48hBCjAqANxIw2saAsfyNcHI/Xy5xlq8e91Q0Z+yjYgSJDAQUl4 2crQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630844; x=1762235644; 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=D/iyIMlpli6FTCe5zjpzm5x3w0vLSEGAxerjR++HIGs=; b=D5c2vwXiukgvoP30ljJtA9gNA1FPciR7DIA6q4IS4JDyemQTP/OPupPkdaX3vRkFbA wfAMSwOWVb1zVDPIgJhRm43/JZm4blmwJ4cM/3ewyovoPbi55puMwIgQbzdDC/iyNihm nIZeyGVGMls8iF2CDDqig2sn1t+lgWEtmtO0YiAtt0AYQfcoXD24YuFX4w8ncmwFTfQx ZcUDU7hMV21csan/TER/PTF3oO3fAvOqU1v7ExCFogcNUGPG7hW6GNS1m+ZXG2kh/G1b hIKZzC5RcfUfC1ULbliFpW1SyurdXEMCutCkdPss5/coxFM+mk9+k3EtZ8inBPk9ulrv n7tQ== X-Gm-Message-State: AOJu0Yye9AplnuGaV2ylf9CKnof/Ntxyf/41kTINM+CRAvdoYc2sdPKE FFVo2Ku0/Bht1zJG+aHt4PViVA+Cq/T1OUJMipvYLBJ5Cn5lYFNtO9sOhMD8d46e4slW2+68htx +uYmlfOE= X-Gm-Gg: ASbGncsAeIHNovOh30Fma38xsAQUM1nY/riuru+CKmIMQYgMceyXVenyv+18Fxy9Tok igOlOpFJrp91ZGD97xnw/Vh/uTH9MiW7WQr+3aQ2cXdJCmL5MV+AyNKFfTaZY0C8RHJTkrBuHU8 tRt6DCF9YOIZKq/6o8CFj9ZmEjyrBqF2h+2KCEZVBT61hAziI77bQdFvQN3QNoPHKcGqYAN4JrB 96K2Hk9Vi6q44vPC8ruXycpysZRbA8Xh+7+8x4mlH5v8xtxgjjvJk2hVs0h2Mff6Y8T63Ii3b9d fNX+Gcf8XeJlYOnEFeUABOMurUq9K8J55kZkuiau/oGSXZdeAWccmkMN8Nk3Wg0JzFDQq5k9Pqr lFQiukMpDd4VpvioYN5kRtCdgrJz6Ds4bVueB2AcDdF22SP2utxjMYHzjjZlhkZ9kZpb7XjQPyq ZTtcNoBxyhXfP2zcHURSkpdDgJAft9xothZuekEXWDRtVrI3NeaMmgmsY= X-Google-Smtp-Source: AGHT+IEb5h81e+/XRFYjkuXTFEucItwYLOcip2VYuQP8l/oQrFzh/8Ox6YeT99QNDXQq5I5Nuj0bJw== X-Received: by 2002:a05:600c:3510:b0:46f:b42e:e394 with SMTP id 5b1f17b1804b1-47717e7a904mr13880105e9.41.1761630844106; Mon, 27 Oct 2025 22:54:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 16/59] target/arm/hvf: switch hvf_arm_get_host_cpu_features to not create a vCPU Date: Tue, 28 Oct 2025 06:41:52 +0100 Message-ID: <20251028054238.14949-17-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761630865290154100 From: Mohamed Mediouni Creating a vCPU locks out APIs such as hv_gic_create(). As a result, switch to using the hv_vcpu_config_get_feature_reg interface. Besides, all the following methods must be run on a vCPU thread: - hv_vcpu_create() - hv_vcpu_get_sys_reg() - hv_vcpu_destroy() Signed-off-by: Mohamed Mediouni Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal Message-ID: <20250808070137.48716-3-mohamed@unpredictable.fr> [PMD: Release config calling os_release()] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/hvf/hvf.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index dea1cb37d1f..fcb6950692b 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -744,25 +744,24 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUF= eatures *ahcf) { ARMISARegisters host_isar =3D {}; static const struct isar_regs { - int reg; + hv_feature_reg_t reg; ARMIDRegisterIdx index; } regs[] =3D { - { HV_SYS_REG_ID_AA64PFR0_EL1, ID_AA64PFR0_EL1_IDX }, - { HV_SYS_REG_ID_AA64PFR1_EL1, ID_AA64PFR1_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64PFR0_EL1, ID_AA64PFR0_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64PFR1_EL1, ID_AA64PFR1_EL1_IDX }, /* Add ID_AA64PFR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64DFR0_EL1, ID_AA64DFR0_EL1_IDX }, - { HV_SYS_REG_ID_AA64DFR1_EL1, ID_AA64DFR1_EL1_IDX }, - { HV_SYS_REG_ID_AA64ISAR0_EL1, ID_AA64ISAR0_EL1_IDX }, - { HV_SYS_REG_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64DFR0_EL1, ID_AA64DFR0_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64DFR1_EL1, ID_AA64DFR1_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64ISAR0_EL1, ID_AA64ISAR0_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_IDX }, /* Add ID_AA64ISAR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64MMFR0_EL1, ID_AA64MMFR0_EL1_IDX }, - { HV_SYS_REG_ID_AA64MMFR1_EL1, ID_AA64MMFR1_EL1_IDX }, - { HV_SYS_REG_ID_AA64MMFR2_EL1, ID_AA64MMFR2_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64MMFR0_EL1, ID_AA64MMFR0_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64MMFR1_EL1, ID_AA64MMFR1_EL1_IDX }, + { HV_FEATURE_REG_ID_AA64MMFR2_EL1, ID_AA64MMFR2_EL1_IDX }, /* Add ID_AA64MMFR3_EL1 here when HVF supports it */ }; - hv_vcpu_t fd; hv_return_t r =3D HV_SUCCESS; - hv_vcpu_exit_t *exit; + hv_vcpu_config_t config =3D hv_vcpu_config_create(); uint64_t t; int i; =20 @@ -773,17 +772,11 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUF= eatures *ahcf) (1ULL << ARM_FEATURE_PMU) | (1ULL << ARM_FEATURE_GENERIC_TIMER); =20 - /* We set up a small vcpu to extract host registers */ - - if (hv_vcpu_create(&fd, &exit, NULL) !=3D HV_SUCCESS) { - return false; - } - for (i =3D 0; i < ARRAY_SIZE(regs); i++) { - r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, - &host_isar.idregs[regs[i].index]); + r |=3D hv_vcpu_config_get_feature_reg(config, regs[i].reg, + &host_isar.idregs[regs[i].inde= x]); } - r |=3D hv_vcpu_destroy(fd); + os_release(config); =20 /* * Hardcode MIDR because Apple deliberately doesn't expose a divergent --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630896; cv=none; d=zohomail.com; s=zohoarc; b=lWFz9jIyppIlbv0RYNKHMhxxkQi7f/ekqNNiDQAKWDGk2y+cN34UQdT47aVmAomn/NZF8zn0oePbvPS+nuGb42RxPCrESwHFAyZ9Sey1qhINRYLh0VQSVKDNuQNtZtPI066uO1eslVE30Dp5T2QNLdvGoHWIv9RPhVONrtePPdw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630896; 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=xgErgOnMx4s5YU2iFG4R59NbVSZsMjKyT1ZEI6z6Tkc=; b=cHGhC8AjX/zrrWki8lmAgHb0AvaRjbp1UDpIqP9nN32fgyVnlUBQG05yAZKHyeRSjXfcdvNzDibtyv1Ai3uvEs3cpt4YA0xnX2w0vgZWCnVLqBpIdLKjmi4IS3ZZuEZy72yvLVPRY61IuVms9RzrUgJJRTFgvKvHdooc0cBvRZY= 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 1761630896291548.5274698624153; Mon, 27 Oct 2025 22:54:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcfU-0004xX-R8; Tue, 28 Oct 2025 01: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 1vDcfT-0004xN-GI for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:54:51 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcfQ-0004mR-Vn for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:54:51 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3ee15b5435bso4073376f8f.0 for ; Mon, 27 Oct 2025 22:54:48 -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-429952df62dsm19760870f8f.45.2025.10.27.22.54.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:54:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630886; x=1762235686; 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=xgErgOnMx4s5YU2iFG4R59NbVSZsMjKyT1ZEI6z6Tkc=; b=TCX2ykbEzBYXkrCztjA4AGIcD5nDfRSlZ6ykjZ8hWAhZ/u5H3Cxlayv/KbwM9fe2tW DEyG/NXtnGek9L8KxOzzqFQGY5aKdVnoUGEfTaDK6Ow4g1i+n6uf+4aQfmpRjxdWQUfa vZN3X09MD1GR5Z4EormVWyMfYlbek2txT4KebWTUk0Y7kCGX5SmsoDxat1eK4e6w+lOe K4ORCrUJL8Wm1fGUuhrTnxbfDNPymOjj9dNbi3emMTf7I8zE8pWbJcdlmdJVzFaqpkIH 0CEmrC2Th8iFGuzjCpC4HLNyq7A4KjSwaKZE36NxAE/50r8F2RLjTrJhAQiMObbc/dYK noFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630886; x=1762235686; 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=xgErgOnMx4s5YU2iFG4R59NbVSZsMjKyT1ZEI6z6Tkc=; b=k/Sv0QWH+ue3xQiMq1uguqfmDhs+9rSfw9QtvmnmWLZRsB4nOqyYCuFrluDCvmUDYz z1xZ0q0TV+jIdQ5iY4jmF643cDcl7yheihtJzNpUfsiekLwCIj6XjYLfIiLWvQq8p0f2 B1+EWrnA4emAJrLCBjnyQEkL9unL43sRKbeoaM9QJ28cafWmf19cKokuPCxpqWJl03U1 LMN6QWQwDYT1z47UVi1uiY/dystco+HdknGJitz0xPzziuUd6L6lg28T8a4QD4RXTL7l L9ccRMNI5VjQM/+2swHKiQxNagAS1Ze3GPz2AC3Ll40A9SaDgA+sw9QSSQzvd86wJWVA 3qfg== X-Gm-Message-State: AOJu0YzcvSDFG8Pfli9vs/kc69iEpprBYujVLGqlqQKGcweHKqaf8tBr XTe/opAWWWt7CfstM1wksh7aVKuG8M3HeKBCp80iSNHcPOilbx/m8WNnhmM6fksT4Ws2+sCcxm+ BKeDZlBg= X-Gm-Gg: ASbGncsIS8LBVDFdnD9hw9IfESyNXwCiXjgnfUnUYd2Rn9Uop+WPD+/UEfd8aPqY+za W0kRjtgUlM7/1kGDgabYrwm+K17WezKUsaFKHI1NPOSJR0lKnwZI+tAUo/hYJfWqDVrqNf50I+0 1bV/CXAfsjI1HcQrBm+SKVe3v8BJYavlF0hChzkNSeKvpics2GkfXtpdL9L5m0pywf0AZ3AA6Ik C4AoX9bs1/tc5S2l3zXfDUymVztl9liycW4Afy9vVzFo8wynNHYOi5GVMj3lNddhNLjbrsja/OJ h68/qRNXO6DYUbAupX6AnAG1Xt/VBtwSehsSNFHGcmb9S7QBbCpQ5hQiXn9j/9zjSVwc3hevLEq cw//bdWExkFg4sgNFF2rtbDAmVPfuKlYeOCDQjUuNkiNRq9Ot8SU6ZKCIi3iBnbB36kl2XXJ3Rd ckitPHsaXNM7rUrBBJ0pU9K/Ru6EVBdFlFN/Wu/SX0qjCT5Vwn96rnDzc= X-Google-Smtp-Source: AGHT+IGzBGy05Zcv06PnfWqF1AhDUOBK3UdmfcBjlaEEG/+P6DR8Rs6DGGGil50UqgBV8V2XABg9gQ== X-Received: by 2002:a05:6000:4025:b0:427:9e6:3a76 with SMTP id ffacd0b85a97d-429a7e75ef1mr1582279f8f.36.1761630886377; Mon, 27 Oct 2025 22:54:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 17/59] target/arm/hvf: Factor hvf_handle_exception() out Date: Tue, 28 Oct 2025 06:41:53 +0100 Message-ID: <20251028054238.14949-18-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: 1761630897648154100 Factor hvf_handle_exception() out of hvf_vcpu_exec(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 123 +++++++++++++++++++++++-------------------- 1 file changed, 65 insertions(+), 58 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index fcb6950692b..8553ce6adc2 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1802,61 +1802,15 @@ static void hvf_sync_vtimer(CPUState *cpu) } } =20 -int hvf_arch_vcpu_exec(CPUState *cpu) +static int hvf_handle_exception(CPUState *cpu, hv_vcpu_exit_exception_t *e= xcp) { - ARMCPU *arm_cpu =3D ARM_CPU(cpu); - CPUARMState *env =3D &arm_cpu->env; - int ret; - hv_vcpu_exit_t *hvf_exit =3D cpu->accel->exit; - hv_return_t r; - bool advance_pc =3D false; - - if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && - hvf_inject_interrupts(cpu)) { - return EXCP_INTERRUPT; - } - - if (cpu->halted) { - return EXCP_HLT; - } - - flush_cpu_state(cpu); - - bql_unlock(); - r =3D hv_vcpu_run(cpu->accel->fd); - bql_lock(); - switch (r) { - case HV_SUCCESS: - break; - case HV_ILLEGAL_GUEST_STATE: - trace_hvf_illegal_guest_state(); - /* fall through */ - default: - g_assert_not_reached(); - } - - /* handle VMEXIT */ - uint64_t exit_reason =3D hvf_exit->reason; - uint64_t syndrome =3D hvf_exit->exception.syndrome; + CPUARMState *env =3D cpu_env(cpu); + ARMCPU *arm_cpu =3D env_archcpu(env); + uint64_t syndrome =3D excp->syndrome; uint32_t ec =3D syn_get_ec(syndrome); - - ret =3D 0; - switch (exit_reason) { - case HV_EXIT_REASON_EXCEPTION: - /* This is the main one, handle below. */ - break; - case HV_EXIT_REASON_VTIMER_ACTIVATED: - qemu_set_irq(arm_cpu->gt_timer_outputs[GTIMER_VIRT], 1); - cpu->accel->vtimer_masked =3D true; - return 0; - case HV_EXIT_REASON_CANCELED: - /* we got kicked, no exit to process */ - return 0; - default: - g_assert_not_reached(); - } - - hvf_sync_vtimer(cpu); + bool advance_pc =3D false; + hv_return_t r; + int ret =3D 0; =20 switch (ec) { case EC_SOFTWARESTEP: { @@ -1895,7 +1849,7 @@ int hvf_arch_vcpu_exec(CPUState *cpu) cpu_synchronize_state(cpu); =20 CPUWatchpoint *wp =3D - find_hw_watchpoint(cpu, hvf_exit->exception.virtual_address); + find_hw_watchpoint(cpu, excp->virtual_address); if (!wp) { error_report("EXCP_DEBUG but unknown hw watchpoint"); } @@ -1913,8 +1867,8 @@ int hvf_arch_vcpu_exec(CPUState *cpu) uint32_t cm =3D (syndrome >> 8) & 0x1; uint64_t val =3D 0; =20 - trace_hvf_data_abort(hvf_exit->exception.virtual_address, - hvf_exit->exception.physical_address, isv, + trace_hvf_data_abort(excp->virtual_address, + excp->physical_address, isv, iswrite, s1ptw, len, srt); =20 if (cm) { @@ -1928,11 +1882,11 @@ int hvf_arch_vcpu_exec(CPUState *cpu) if (iswrite) { val =3D hvf_get_reg(cpu, srt); address_space_write(&address_space_memory, - hvf_exit->exception.physical_address, + excp->physical_address, MEMTXATTRS_UNSPECIFIED, &val, len); } else { address_space_read(&address_space_memory, - hvf_exit->exception.physical_address, + excp->physical_address, MEMTXATTRS_UNSPECIFIED, &val, len); if (sse) { val =3D sextract64(val, 0, len * 8); @@ -2030,6 +1984,59 @@ int hvf_arch_vcpu_exec(CPUState *cpu) return ret; } =20 +int hvf_arch_vcpu_exec(CPUState *cpu) +{ + ARMCPU *arm_cpu =3D ARM_CPU(cpu); + hv_vcpu_exit_t *hvf_exit =3D cpu->accel->exit; + hv_return_t r; + + if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && + hvf_inject_interrupts(cpu)) { + return EXCP_INTERRUPT; + } + + if (cpu->halted) { + return EXCP_HLT; + } + + flush_cpu_state(cpu); + + bql_unlock(); + r =3D hv_vcpu_run(cpu->accel->fd); + bql_lock(); + switch (r) { + case HV_SUCCESS: + break; + case HV_ILLEGAL_GUEST_STATE: + trace_hvf_illegal_guest_state(); + /* fall through */ + default: + g_assert_not_reached(); + } + + /* handle VMEXIT */ + uint64_t exit_reason =3D hvf_exit->reason; + + switch (exit_reason) { + case HV_EXIT_REASON_EXCEPTION: + /* This is the main one, handle below. */ + break; + case HV_EXIT_REASON_VTIMER_ACTIVATED: + qemu_set_irq(arm_cpu->gt_timer_outputs[GTIMER_VIRT], 1); + cpu->accel->vtimer_masked =3D true; + return 0; + case HV_EXIT_REASON_CANCELED: + /* we got kicked, no exit to process */ + return 0; + default: + g_assert_not_reached(); + } + + hvf_sync_vtimer(cpu); + + return hvf_handle_exception(cpu, &hvf_exit->exception); +} + static const VMStateDescription vmstate_hvf_vtimer =3D { .name =3D "hvf-vtimer", .version_id =3D 1, --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630967; cv=none; d=zohomail.com; s=zohoarc; b=KnVlQcck/N2sqns71IAws+8bc/BBAw9BuPqlzLDFxoUx4v4pBuAPQOWsUK4kvcuk/GetpcERljj5LifG3EvIxz/fMxwUb1RbZWK3zJ4iwig8XRl/vhje+5GeK/9SiCB7cYO27Qmrn+MGpSLUzLd6e5FNm59KU64GgRXueFAd31o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630967; 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=GNN09nikcz59h/+aSBzafHW4AR3HBWle7qRThHgLUuc=; b=ViBeZsi5qePj4DqVeGBxvt6vOdqEwq03484Zz9uB3/g4pRg4AjoeWi2PG7CBvDCADMwwtzN/sHZhyv+HSMPPlv84mXApD4J485k1QEbLKEclaEmHrefIiVXT87FY1rwzI6Ebyy6xcDS2Fi+z78NWh8+XwGd2fXlXzT6wIf1/T4Y= 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 1761630967415130.25031905920775; Mon, 27 Oct 2025 22:56:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcgM-0005Qv-GO; Tue, 28 Oct 2025 01:55: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 1vDcgF-0005KT-4j for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:55:42 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcg8-000501-Ju for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:55:38 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3ece1102998so3933396f8f.2 for ; Mon, 27 Oct 2025 22:55: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-429952b7a7csm18287752f8f.8.2025.10.27.22.55.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:55:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630929; x=1762235729; 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=GNN09nikcz59h/+aSBzafHW4AR3HBWle7qRThHgLUuc=; b=E9dKO2XnglyrQWSfW4FdUAdS6SVOvGpUeuQVONowExJ7aDI/Cl4VeCRfJeCpVJI7ik z0veohY4SZzbAX+pYOkbgS9VfclxZY7ZWgJ7TQtVInWIlnq7NMgnugwjCwrpePKK//wh YCcEw9Ca3sPTIgxC+1CBcDAeDyJYOWxC7CbwsR/sX/cGhYVSn3hcK7zm9zwCkV63rhAi X65Hb/b4ARmyPJCNJYtQ8uzW0tFAYd3Fy+DnOl1HbamrsSfFpircMjhsmpoX/IEMetBh C8MLsIg2vjiOLJnCmM1pAYFeuq6VlT8M6c6snAPGOEXBgLVgHeCRaMeo47nXPIfpZoSH FINQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630929; x=1762235729; 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=GNN09nikcz59h/+aSBzafHW4AR3HBWle7qRThHgLUuc=; b=WzgG/EFy10a1GQXG2KXMWc/DlPqhw+WmmoOpjpWUxoMGk4/PNEL//LlNULD0HWCIYU MUO+k+ubheSQMv/tUP0uYO1cLLWtWNcPvUwLDeG3XQynk6WZpCLwP36uv7wc2h77a98q tT4YpgB/dzWcVAgP61cuM58oiXgLueb28cJEnb+YRLrmR0ifEIv31EgOrlvpXdk+sDNq 3GYQOfk5dPCUl5Dg6oRF/wc9PvM3dyvWCKJVIIghFqc0rFUPHVX3hNqIP8NR2cmGj++A +kf2kWqCo/bRwKqtSUtrBASYN9L+3AYbfFtWukDzvMokjattEJtmrTJhxcH6qneseo3E SLPA== X-Gm-Message-State: AOJu0Ywj+1zhTCaF2lRKyH9wG2z+zgku7A2V5jrsRP2SBOrB5cb1hqHw rAga9GCpRRRs5u0agGzZOEZegHbmmNcSwhoVFhZuYautmI7Q1ohdM0SWnxOmW34eWR/zfeICRHq mZvL8jgM= X-Gm-Gg: ASbGnctEcBo92FzotQCddhWoPyspVrhO2kcYe6XQYWAdTSA0MDo434imrhfCPXXjMWo MqVKmUMEcJOcoJUiVUOG151rsPPTrIQN8bX3R7+gTIOqLMlwJ8eRZ06WZ9xljVeclNQfP56fjdN qw1QUJknK4dkA1YT5csyIb34lMwM6LPtLvskulA3G5MU2Kd7ngpEBI33URHlgKUFLtirAR8FpSc geTNnKo2sguJgJu7ypXwOTvSaMTuevHpUuvsphT1+Ju4/FF0sX4V82W3sNzXMkejB6zfX/glpNp vKySso2SBFTgJEUvRWt0Itcxup700nav7euuyXah7IwScl/k7RMhc2uAQfUN63CCiQ2E5fXTwK1 2IhVy3s2GjUB736aLU2K/b+AjX3P8nouMk1VafdYLudoaXu5Z00izE0t/KiALsC7xlolFXnjTCA O3GzlABsdP71mTR9fcKxJX5ex57Nyzo0Of46N0yK9lwJluxzKzs+d/d/0= X-Google-Smtp-Source: AGHT+IEZrj/HQuARSscCPMuD6ISRIB/7wuGRHKn024Yyz4w+QemOtbjTLJ+khnZqOKjVAf03tv/cHQ== X-Received: by 2002:a05:6000:26ce:b0:427:5e6:c0e5 with SMTP id ffacd0b85a97d-429a7e75aaamr1632320f8f.39.1761630928856; Mon, 27 Oct 2025 22:55:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 18/59] target/i386/hvf: Factor hvf_handle_vmexit() out Date: Tue, 28 Oct 2025 06:41:54 +0100 Message-ID: <20251028054238.14949-19-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1761630968367154100 Factor hvf_handle_vmexit() out of hvf_arch_vcpu_exec(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell --- target/i386/hvf/hvf.c | 478 +++++++++++++++++++++--------------------- 1 file changed, 244 insertions(+), 234 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 76a58cb0350..28d98659ec2 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -721,6 +721,249 @@ void hvf_simulate_wrmsr(CPUState *cs) printf("write msr %llx\n", RCX(cs));*/ } =20 +static int hvf_handle_vmexit(CPUState *cpu) +{ + X86CPU *x86_cpu =3D env_archcpu(cpu_env(cpu)); + uint64_t exit_reason =3D rvmcs(cpu->accel->fd, VMCS_EXIT_REASON); + uint64_t exit_qual =3D rvmcs(cpu->accel->fd, VMCS_EXIT_QUALIFICATION); + uint32_t ins_len =3D (uint32_t)rvmcs(cpu->accel->fd, + VMCS_EXIT_INSTRUCTION_LENGTH); + + uint64_t idtvec_info =3D rvmcs(cpu->accel->fd, VMCS_IDT_VECTORING_INFO= ); + int ret =3D 0; + + hvf_store_events(cpu, ins_len, idtvec_info); + rip =3D rreg(cpu->accel->fd, HV_X86_RIP); + env->eflags =3D rreg(cpu->accel->fd, HV_X86_RFLAGS); + + bql_lock(); + + update_apic_tpr(cpu); + current_cpu =3D cpu; + + switch (exit_reason) { + case EXIT_REASON_HLT: { + macvm_set_rip(cpu, rip + ins_len); + if (!(cpu_test_interrupt(cpu, CPU_INTERRUPT_HARD) + && (env->eflags & IF_MASK)) + && !cpu_test_interrupt(cpu, CPU_INTERRUPT_NMI) + && !(idtvec_info & VMCS_IDT_VEC_VALID)) { + cpu->halted =3D 1; + ret =3D EXCP_HLT; + break; + } + ret =3D EXCP_INTERRUPT; + break; + } + case EXIT_REASON_MWAIT: { + ret =3D EXCP_INTERRUPT; + break; + } + /* Need to check if MMIO or unmapped fault */ + case EXIT_REASON_EPT_FAULT: + { + hvf_slot *slot; + uint64_t gpa =3D rvmcs(cpu->accel->fd, VMCS_GUEST_PHYSICAL_ADDRESS= ); + + if (((idtvec_info & VMCS_IDT_VEC_VALID) =3D=3D 0) && + ((exit_qual & EXIT_QUAL_NMIUDTI) !=3D 0)) { + vmx_set_nmi_blocking(cpu); + } + + slot =3D hvf_find_overlap_slot(gpa, 1); + /* mmio */ + if (ept_emulation_fault(slot, gpa, exit_qual)) { + struct x86_decode decode; + + hvf_load_regs(cpu); + decode_instruction(env, &decode); + exec_instruction(env, &decode); + hvf_store_regs(cpu); + break; + } + break; + } + case EXIT_REASON_INOUT: + { + uint32_t in =3D (exit_qual & 8) !=3D 0; + uint32_t size =3D (exit_qual & 7) + 1; + uint32_t string =3D (exit_qual & 16) !=3D 0; + uint32_t port =3D exit_qual >> 16; + /*uint32_t rep =3D (exit_qual & 0x20) !=3D 0;*/ + struct x86_decode decode; + + if (!string && in) { + uint64_t val =3D 0; + + hvf_load_regs(cpu); + hvf_handle_io(env_cpu(env), port, &val, 0, size, 1); + if (size =3D=3D 1) { + AL(env) =3D val; + } else if (size =3D=3D 2) { + AX(env) =3D val; + } else if (size =3D=3D 4) { + RAX(env) =3D (uint32_t)val; + } else { + RAX(env) =3D (uint64_t)val; + } + env->eip +=3D ins_len; + hvf_store_regs(cpu); + break; + } else if (!string && !in) { + RAX(env) =3D rreg(cpu->accel->fd, HV_X86_RAX); + hvf_handle_io(env_cpu(env), port, &RAX(env), 1, size, 1); + macvm_set_rip(cpu, rip + ins_len); + break; + } + + hvf_load_regs(cpu); + decode_instruction(env, &decode); + assert(ins_len =3D=3D decode.len); + exec_instruction(env, &decode); + hvf_store_regs(cpu); + + break; + } + case EXIT_REASON_CPUID: { + uint32_t rax =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RAX); + uint32_t rbx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RBX); + uint32_t rcx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RCX); + uint32_t rdx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RDX); + + if (rax =3D=3D 1) { + /* CPUID1.ecx.OSXSAVE needs to know CR4 */ + env->cr[4] =3D rvmcs(cpu->accel->fd, VMCS_GUEST_CR4); + } + hvf_cpu_x86_cpuid(env, rax, rcx, &rax, &rbx, &rcx, &rdx); + + wreg(cpu->accel->fd, HV_X86_RAX, rax); + wreg(cpu->accel->fd, HV_X86_RBX, rbx); + wreg(cpu->accel->fd, HV_X86_RCX, rcx); + wreg(cpu->accel->fd, HV_X86_RDX, rdx); + + macvm_set_rip(cpu, rip + ins_len); + break; + } + case EXIT_REASON_XSETBV: { + uint32_t eax =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RAX); + uint32_t ecx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RCX); + uint32_t edx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RDX); + + if (ecx) { + macvm_set_rip(cpu, rip + ins_len); + break; + } + env->xcr0 =3D ((uint64_t)edx << 32) | eax; + wreg(cpu->accel->fd, HV_X86_XCR0, env->xcr0 | 1); + macvm_set_rip(cpu, rip + ins_len); + break; + } + case EXIT_REASON_INTR_WINDOW: + vmx_clear_int_window_exiting(cpu); + ret =3D EXCP_INTERRUPT; + break; + case EXIT_REASON_NMI_WINDOW: + vmx_clear_nmi_window_exiting(cpu); + ret =3D EXCP_INTERRUPT; + break; + case EXIT_REASON_EXT_INTR: + /* force exit and allow io handling */ + ret =3D EXCP_INTERRUPT; + break; + case EXIT_REASON_RDMSR: + case EXIT_REASON_WRMSR: + { + hvf_load_regs(cpu); + if (exit_reason =3D=3D EXIT_REASON_RDMSR) { + hvf_simulate_rdmsr(cpu); + } else { + hvf_simulate_wrmsr(cpu); + } + env->eip +=3D ins_len; + hvf_store_regs(cpu); + break; + } + case EXIT_REASON_CR_ACCESS: { + int cr; + int reg; + + hvf_load_regs(cpu); + cr =3D exit_qual & 15; + reg =3D (exit_qual >> 8) & 15; + + switch (cr) { + case 0x0: { + macvm_set_cr0(cpu->accel->fd, RRX(env, reg)); + break; + } + case 4: { + macvm_set_cr4(cpu->accel->fd, RRX(env, reg)); + break; + } + case 8: { + if (exit_qual & 0x10) { + RRX(env, reg) =3D cpu_get_apic_tpr(x86_cpu->apic_state); + } else { + int tpr =3D RRX(env, reg); + cpu_set_apic_tpr(x86_cpu->apic_state, tpr); + ret =3D EXCP_INTERRUPT; + } + break; + } + default: + error_report("Unrecognized CR %d", cr); + abort(); + } + env->eip +=3D ins_len; + hvf_store_regs(cpu); + break; + } + case EXIT_REASON_APIC_ACCESS: { /* TODO */ + struct x86_decode decode; + + hvf_load_regs(cpu); + decode_instruction(env, &decode); + exec_instruction(env, &decode); + hvf_store_regs(cpu); + break; + } + case EXIT_REASON_TPR: { + ret =3D 1; + break; + } + case EXIT_REASON_TASK_SWITCH: { + uint64_t vinfo =3D rvmcs(cpu->accel->fd, VMCS_IDT_VECTORING_INFO); + x86_segment_selector sel =3D {.sel =3D exit_qual & 0xffff}; + + vmx_handle_task_switch(cpu, sel, (exit_qual >> 30) & 0x3, + vinfo & VMCS_INTR_VALID, + vinfo & VECTORING_INFO_VECTOR_MASK, + vinfo & VMCS_INTR_T_MASK); + break; + } + case EXIT_REASON_TRIPLE_FAULT: { + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); + ret =3D EXCP_INTERRUPT; + break; + } + case EXIT_REASON_RDPMC: + wreg(cpu->accel->fd, HV_X86_RAX, 0); + wreg(cpu->accel->fd, HV_X86_RDX, 0); + macvm_set_rip(cpu, rip + ins_len); + break; + case VMX_REASON_VMCALL: + env->exception_nr =3D EXCP0D_GPF; + env->exception_injected =3D 1; + env->has_error_code =3D true; + env->error_code =3D 0; + break; + default: + error_report("%llx: unhandled exit %llx", rip, exit_reason); + } + + return ret; +} + int hvf_arch_vcpu_exec(CPUState *cpu) { X86CPU *x86_cpu =3D X86_CPU(cpu); @@ -752,240 +995,7 @@ int hvf_arch_vcpu_exec(CPUState *cpu) hv_return_t r =3D hv_vcpu_run_until(cpu->accel->fd, HV_DEADLINE_FO= REVER); assert_hvf_ok(r); =20 - /* handle VMEXIT */ - uint64_t exit_reason =3D rvmcs(cpu->accel->fd, VMCS_EXIT_REASON); - uint64_t exit_qual =3D rvmcs(cpu->accel->fd, VMCS_EXIT_QUALIFICATI= ON); - uint32_t ins_len =3D (uint32_t)rvmcs(cpu->accel->fd, - VMCS_EXIT_INSTRUCTION_LENGTH); - - uint64_t idtvec_info =3D rvmcs(cpu->accel->fd, VMCS_IDT_VECTORING_= INFO); - - hvf_store_events(cpu, ins_len, idtvec_info); - rip =3D rreg(cpu->accel->fd, HV_X86_RIP); - env->eflags =3D rreg(cpu->accel->fd, HV_X86_RFLAGS); - - bql_lock(); - - update_apic_tpr(cpu); - current_cpu =3D cpu; - - ret =3D 0; - switch (exit_reason) { - case EXIT_REASON_HLT: { - macvm_set_rip(cpu, rip + ins_len); - if (!(cpu_test_interrupt(cpu, CPU_INTERRUPT_HARD) && - (env->eflags & IF_MASK)) - && !cpu_test_interrupt(cpu, CPU_INTERRUPT_NMI) && - !(idtvec_info & VMCS_IDT_VEC_VALID)) { - cpu->halted =3D 1; - ret =3D EXCP_HLT; - break; - } - ret =3D EXCP_INTERRUPT; - break; - } - case EXIT_REASON_MWAIT: { - ret =3D EXCP_INTERRUPT; - break; - } - /* Need to check if MMIO or unmapped fault */ - case EXIT_REASON_EPT_FAULT: - { - hvf_slot *slot; - uint64_t gpa =3D rvmcs(cpu->accel->fd, VMCS_GUEST_PHYSICAL_ADD= RESS); - - if (((idtvec_info & VMCS_IDT_VEC_VALID) =3D=3D 0) && - ((exit_qual & EXIT_QUAL_NMIUDTI) !=3D 0)) { - vmx_set_nmi_blocking(cpu); - } - - slot =3D hvf_find_overlap_slot(gpa, 1); - /* mmio */ - if (ept_emulation_fault(slot, gpa, exit_qual)) { - struct x86_decode decode; - - hvf_load_regs(cpu); - decode_instruction(env, &decode); - exec_instruction(env, &decode); - hvf_store_regs(cpu); - break; - } - break; - } - case EXIT_REASON_INOUT: - { - uint32_t in =3D (exit_qual & 8) !=3D 0; - uint32_t size =3D (exit_qual & 7) + 1; - uint32_t string =3D (exit_qual & 16) !=3D 0; - uint32_t port =3D exit_qual >> 16; - /*uint32_t rep =3D (exit_qual & 0x20) !=3D 0;*/ - - if (!string && in) { - uint64_t val =3D 0; - hvf_load_regs(cpu); - hvf_handle_io(env_cpu(env), port, &val, 0, size, 1); - if (size =3D=3D 1) { - AL(env) =3D val; - } else if (size =3D=3D 2) { - AX(env) =3D val; - } else if (size =3D=3D 4) { - RAX(env) =3D (uint32_t)val; - } else { - RAX(env) =3D (uint64_t)val; - } - env->eip +=3D ins_len; - hvf_store_regs(cpu); - break; - } else if (!string && !in) { - RAX(env) =3D rreg(cpu->accel->fd, HV_X86_RAX); - hvf_handle_io(env_cpu(env), port, &RAX(env), 1, size, 1); - macvm_set_rip(cpu, rip + ins_len); - break; - } - struct x86_decode decode; - - hvf_load_regs(cpu); - decode_instruction(env, &decode); - assert(ins_len =3D=3D decode.len); - exec_instruction(env, &decode); - hvf_store_regs(cpu); - - break; - } - case EXIT_REASON_CPUID: { - uint32_t rax =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RAX); - uint32_t rbx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RBX); - uint32_t rcx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RCX); - uint32_t rdx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RDX); - - if (rax =3D=3D 1) { - /* CPUID1.ecx.OSXSAVE needs to know CR4 */ - env->cr[4] =3D rvmcs(cpu->accel->fd, VMCS_GUEST_CR4); - } - hvf_cpu_x86_cpuid(env, rax, rcx, &rax, &rbx, &rcx, &rdx); - - wreg(cpu->accel->fd, HV_X86_RAX, rax); - wreg(cpu->accel->fd, HV_X86_RBX, rbx); - wreg(cpu->accel->fd, HV_X86_RCX, rcx); - wreg(cpu->accel->fd, HV_X86_RDX, rdx); - - macvm_set_rip(cpu, rip + ins_len); - break; - } - case EXIT_REASON_XSETBV: { - uint32_t eax =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RAX); - uint32_t ecx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RCX); - uint32_t edx =3D (uint32_t)rreg(cpu->accel->fd, HV_X86_RDX); - - if (ecx) { - macvm_set_rip(cpu, rip + ins_len); - break; - } - env->xcr0 =3D ((uint64_t)edx << 32) | eax; - wreg(cpu->accel->fd, HV_X86_XCR0, env->xcr0 | 1); - macvm_set_rip(cpu, rip + ins_len); - break; - } - case EXIT_REASON_INTR_WINDOW: - vmx_clear_int_window_exiting(cpu); - ret =3D EXCP_INTERRUPT; - break; - case EXIT_REASON_NMI_WINDOW: - vmx_clear_nmi_window_exiting(cpu); - ret =3D EXCP_INTERRUPT; - break; - case EXIT_REASON_EXT_INTR: - /* force exit and allow io handling */ - ret =3D EXCP_INTERRUPT; - break; - case EXIT_REASON_RDMSR: - case EXIT_REASON_WRMSR: - { - hvf_load_regs(cpu); - if (exit_reason =3D=3D EXIT_REASON_RDMSR) { - hvf_simulate_rdmsr(cpu); - } else { - hvf_simulate_wrmsr(cpu); - } - env->eip +=3D ins_len; - hvf_store_regs(cpu); - break; - } - case EXIT_REASON_CR_ACCESS: { - int cr; - int reg; - - hvf_load_regs(cpu); - cr =3D exit_qual & 15; - reg =3D (exit_qual >> 8) & 15; - - switch (cr) { - case 0x0: { - macvm_set_cr0(cpu->accel->fd, RRX(env, reg)); - break; - } - case 4: { - macvm_set_cr4(cpu->accel->fd, RRX(env, reg)); - break; - } - case 8: { - if (exit_qual & 0x10) { - RRX(env, reg) =3D cpu_get_apic_tpr(x86_cpu->apic_state= ); - } else { - int tpr =3D RRX(env, reg); - cpu_set_apic_tpr(x86_cpu->apic_state, tpr); - ret =3D EXCP_INTERRUPT; - } - break; - } - default: - error_report("Unrecognized CR %d", cr); - abort(); - } - env->eip +=3D ins_len; - hvf_store_regs(cpu); - break; - } - case EXIT_REASON_APIC_ACCESS: { /* TODO */ - struct x86_decode decode; - - hvf_load_regs(cpu); - decode_instruction(env, &decode); - exec_instruction(env, &decode); - hvf_store_regs(cpu); - break; - } - case EXIT_REASON_TPR: { - ret =3D 1; - break; - } - case EXIT_REASON_TASK_SWITCH: { - uint64_t vinfo =3D rvmcs(cpu->accel->fd, VMCS_IDT_VECTORING_IN= FO); - x86_segment_selector sel =3D {.sel =3D exit_qual & 0xffff}; - vmx_handle_task_switch(cpu, sel, (exit_qual >> 30) & 0x3, - vinfo & VMCS_INTR_VALID, vinfo & VECTORING_INFO_VECTOR_MASK, = vinfo - & VMCS_INTR_T_MASK); - break; - } - case EXIT_REASON_TRIPLE_FAULT: { - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); - ret =3D EXCP_INTERRUPT; - break; - } - case EXIT_REASON_RDPMC: - wreg(cpu->accel->fd, HV_X86_RAX, 0); - wreg(cpu->accel->fd, HV_X86_RDX, 0); - macvm_set_rip(cpu, rip + ins_len); - break; - case VMX_REASON_VMCALL: - env->exception_nr =3D EXCP0D_GPF; - env->exception_injected =3D 1; - env->has_error_code =3D true; - env->error_code =3D 0; - break; - default: - error_report("%llx: unhandled exit %llx", rip, exit_reason); - } + ret =3D hvf_handle_vmexit(cpu); } while (ret =3D=3D 0); =20 return ret; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761630995; cv=none; d=zohomail.com; s=zohoarc; b=QuVziYKmZYkrtrrLNrcwja1nDAkclMxVMGraFif2Oo3LqnzjYv0NJFAbwFmcgG8SLZiDDx7Zsrh9H5fbCRVwG/nBYljSJBm6DKZLWlYEpCBDBi3cZ1yCPQOnsAoan3hPKst5dvDGvJuXflD5WEaASngT9EWQakzDTRzJt4buPKc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761630995; 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=LgKVVP81quRHZdasM9p0tFwKU7dqmMROiJUy9ix33mI=; b=EJpBBhaDzvecTNnF2apQ1CZuGDUhcdPEmCDPVUesviRM3GCy/+yHwRHJfAiKdE8iVXRj3vF3Prg55Lppi/kWpdgT2NK8l+73SwGz6aldK4y3hApWdtsbHsPYoxpzq9VBtvM4MuvOghRt0EWCIQYckZtF7dg8aQnvWKSkdz1mGxw= 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 1761630995687426.5984905400261; Mon, 27 Oct 2025 22:56:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcgt-0005zQ-Ve; Tue, 28 Oct 2025 01: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 1vDcgr-0005ye-AH for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:56:17 -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 1vDcgo-00052d-RV for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:56:16 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-475dd559a83so16419455e9.1 for ; Mon, 27 Oct 2025 22:56: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-475dd4e30f5sm175931745e9.17.2025.10.27.22.56.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:56:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761630972; x=1762235772; 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=LgKVVP81quRHZdasM9p0tFwKU7dqmMROiJUy9ix33mI=; b=rkpYm7EZY7zIE6Gn+YqDMGElm2HrgnkWtEo8e/xV2d7UxzEn2y/BvDKBxjtpJ840vW +PlKc9ZSddMt3afQyLOi4QOdn+WCvjIvnp/wyJBts9TrPNqroXl13n2dX2N9l+nZPe0O KbJpHpG8mEXSpcC47/WCT3zbhLtSNfgzbGZD4+CB6FVEC0UU0upOCVjvEBr5pygNgLsd mLLYjz0FHfwhXzMemCV00ugpQXER65duBPwe5Kzva4xURKO7RFMUGhh+aBoc4qmgFh1x mpBMIX8jHlFFfqDPHeqFdUsh7niKRPsVVt66EtksCN6I3iPv6e7Ft4GxAM1RMz6KGpiv cryQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761630972; x=1762235772; 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=LgKVVP81quRHZdasM9p0tFwKU7dqmMROiJUy9ix33mI=; b=L4X8Tz4CkbdKmXo7+wJnzo3px05A6IeFtgAMXjaULpFUQ4DGzhh5HNi/dfemSv5tYB ZyrtUyh/Lgn5lhn5AD1WYic6rXjSI6lLJ/ms0Tz/L1RMs8VcFOz4ft3Bq3BU3YJ8HqOE R+zCP3ELwGty+koV6DusECqFBTBz4I7e95Y2op5txcwzDnzS/hPxKD9nmtHspj/Tl0Hq Xp/4FA0ehfeKhfO1B7hULBpg6wWYmSgdaHiv1BKHYaSYgAYSaGydDjm9h4a4AMSHP4fl u6M4LIebyYwA4HyE7cJASo5oG61SVL/k9OMT83QBtocOBWSV9jx4AAZqKBzPcV16t8aN 6wOA== X-Gm-Message-State: AOJu0YzkCtbXw+1UVMv6KKzwrJtcYtm8/FVZynG6ViR911sNrvJCYTkS HNNiOwOZx0jFYV87KTW/JTujjkJC7nJkhxFznqPPFNWDjef9ar9w7tbue2n5sSBg6KH5NagrK7F oqflxHso= X-Gm-Gg: ASbGncvtWqwDIZXvFOBJWgCZF8eb/3QOPu9ALjtqomxVeeQuvUqbR/M/swSsLrUTc5m 7oXMrljwW9/2uB8oxhhb06ikczodMroumuSlQaFk8QEDluQ5rY7lpcrSkKCU39O5smddEMkblAv UgeHB7wGobwtqsVu0JcVIFLsdHohyI/3MK84LwLKGhsMzD/YjozXhMwgj0d8A/pfdQA7/ZdZycl SHH2/N6Vz00pMNMr29SrTy80VwfL9Brr1LQm2hWWAKm7xJ4JSs9rlWvHEGsT+yvIY6GMI8Eylpv IQT6uJrBrRibPiIHTiCwbPgzLk6j3RtfwLHCDaB5fVQtZ8wDnQzDhPOvCY3L6ByeJY5yzhUiCdr cu/15qhnXUScrgY5m6dB8Gpw7pnP/uxl3ht+zqRNzjW7TJjZKAPPjylL86XPvhjEdGiWewOwd8P ENY6n7M/oIviTbVQeiW+fBWt03HuRdxIoKHOy39KWXGjfuj9LOrkZIg0A= X-Google-Smtp-Source: AGHT+IGcCUPEK8u3pruAAdTelA8S1vHBIeUu8RrLI3OLpMktINw1Xb2fchY6cQLtIBvStQ0Eu/J8tQ== X-Received: by 2002:a05:600d:8354:b0:471:1717:421 with SMTP id 5b1f17b1804b1-47717e523e5mr11688265e9.19.1761630972310; Mon, 27 Oct 2025 22:56:12 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 19/59] target/arm/hvf: Factor hvf_handle_vmexit() out Date: Tue, 28 Oct 2025 06:41:55 +0100 Message-ID: <20251028054238.14949-20-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761630998807154100 Factor hvf_handle_vmexit() out of hvf_vcpu_exec(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 50 ++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 8553ce6adc2..27c600148f9 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1984,10 +1984,33 @@ static int hvf_handle_exception(CPUState *cpu, hv_v= cpu_exit_exception_t *excp) return ret; } =20 +static int hvf_handle_vmexit(CPUState *cpu, hv_vcpu_exit_t *exit) +{ + ARMCPU *arm_cpu =3D env_archcpu(cpu_env(cpu)); + int ret =3D 0; + + switch (exit->reason) { + case HV_EXIT_REASON_EXCEPTION: + hvf_sync_vtimer(cpu); + ret =3D hvf_handle_exception(cpu, &exit->exception); + break; + case HV_EXIT_REASON_VTIMER_ACTIVATED: + qemu_set_irq(arm_cpu->gt_timer_outputs[GTIMER_VIRT], 1); + cpu->accel->vtimer_masked =3D true; + break; + case HV_EXIT_REASON_CANCELED: + /* we got kicked, no exit to process */ + break; + default: + g_assert_not_reached(); + } + + return ret; +} + int hvf_arch_vcpu_exec(CPUState *cpu) { - ARMCPU *arm_cpu =3D ARM_CPU(cpu); - hv_vcpu_exit_t *hvf_exit =3D cpu->accel->exit; + int ret; hv_return_t r; =20 if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && @@ -2006,6 +2029,7 @@ int hvf_arch_vcpu_exec(CPUState *cpu) bql_lock(); switch (r) { case HV_SUCCESS: + ret =3D hvf_handle_vmexit(cpu, cpu->accel->exit); break; case HV_ILLEGAL_GUEST_STATE: trace_hvf_illegal_guest_state(); @@ -2014,27 +2038,7 @@ int hvf_arch_vcpu_exec(CPUState *cpu) g_assert_not_reached(); } =20 - /* handle VMEXIT */ - uint64_t exit_reason =3D hvf_exit->reason; - - switch (exit_reason) { - case HV_EXIT_REASON_EXCEPTION: - /* This is the main one, handle below. */ - break; - case HV_EXIT_REASON_VTIMER_ACTIVATED: - qemu_set_irq(arm_cpu->gt_timer_outputs[GTIMER_VIRT], 1); - cpu->accel->vtimer_masked =3D true; - return 0; - case HV_EXIT_REASON_CANCELED: - /* we got kicked, no exit to process */ - return 0; - default: - g_assert_not_reached(); - } - - hvf_sync_vtimer(cpu); - - return hvf_handle_exception(cpu, &hvf_exit->exception); + return ret; } =20 static const VMStateDescription vmstate_hvf_vtimer =3D { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631054; cv=none; d=zohomail.com; s=zohoarc; b=Cw+E7ORHU6fQmnEFUakddaUy9hmjqaoAlEvYw4fz1sA9hfO3MDKpQwCbVLEmbfwsoFAnCo2CbvCfqwmCYBBa6MpPOplKUcAQSk9XXNi4ZZ18QCeivOYrfCbV1GJANuNK9m1imdHBnoEZ2DqFplS9HvTy3J3s9lPRIL3zIXAzRf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631054; 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=T0MAWX3PF+zlZmdiNXq5RCA26mpljCPV09k/qwEJKNk=; b=JQDIf8E3SOotUje7ieNzMM5Xn5ShAeLX0612Js+/xH3WRtZXMamB+dUA3OTgrtLteaUrvkql0YFYWYRP8yuypgE7TmTA5R3onx11BFm+uJRio205fiPyc3SDpoG4G1wj/gkf2EoaJCNmU8dBs8vwAyS43HQ3jOUPpUeJ7NiJmNc= 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 1761631054296495.5218116299301; Mon, 27 Oct 2025 22:57:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDchk-0006iY-72; Tue, 28 Oct 2025 01:57:12 -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 1vDchX-0006gN-TV for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:57:01 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDchV-000556-2z for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:56:59 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-4298a028de6so3314561f8f.0 for ; Mon, 27 Oct 2025 22:56: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 ffacd0b85a97d-429952cbc55sm18985207f8f.10.2025.10.27.22.56.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:56:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631015; x=1762235815; 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=T0MAWX3PF+zlZmdiNXq5RCA26mpljCPV09k/qwEJKNk=; b=OL/f8cTnfRcj1VHH+toIgAIci/WbiB/s3e9NOGynvEFOLqS91KF4fJTD0aCwIjdYyo DNh9ZqtDx7jt7Yijvb1GMETHmbkpX7txwn/WBLG50UUzK7ryHWcN6oLl2lAJcZkN8iVK fKdiJ3qmWBQsbrvZigvEB3qzl+2RQSsftuhn2hkMfuoX9bASichvF3VmcmWqIzsyv8Kh +xR3vOgCsPRvzNZLlBZJzS1ATkDIsKtsYJNKP3Z8pBOfoPdGl3T6P6Yzx42Gr4Q6HTIh Y/Cr6vsiAgQypGjeNUO8xyohqpEliumroeF/TGgdLwLFPaFsoIFgWVOyl3ohl6ao5euY kkVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631015; x=1762235815; 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=T0MAWX3PF+zlZmdiNXq5RCA26mpljCPV09k/qwEJKNk=; b=syHaX/1SaKdrNLqgWAJd/MJKAZdJBmO1b24hV7uu6TZAVNvrCw1uBZl7NRrZ6qQcA9 iIbXk4AOobcyY+Z3Fz2+5LlUmpqo4hMw1Ob27QfM6v2t1XqsfGKdU/PEoPH2PU9YTRx+ HhLHJoK5NjHv9ZRn72WMiNiz9RySmzDdJJusPfi/okpWssPYrPM2WF3hR8VI+cNT+mey gxXs6UhGW222vQBzg+/1DQ6wfeMejThHCnegYVjlHKv06/NEryvB4Jsxqvj+KK4vNrbS 5XvZ4mlvITIwGrosB8gU9teuo9WsuvRlarldAL9CHYvdDhk7A9LuvmOsX5wARHXdufHj czxg== X-Gm-Message-State: AOJu0Yyw63MghjKHpVWeSFC1A8FIxIa8+hdO3divRnzHZRU6qTMdNxno W5nBcL7SPKWIkHG1Tqe2feeNtFLo6OOO+yGQkoWfNy1DmCvRcrV5J3sEFsTm4lEbQGOFl6dz4t2 ZcxvahPM= X-Gm-Gg: ASbGnctMJIIGPNzrZRS31luNBkbz3kkpBGFMdID3htD2c/z8pkLwyzEw9puCDAJRZb3 vlehc2kyu6znnY65s09P16xt43N7W6wyCG0YuadvJ4GVzSOpY0Zvl+H1HkQOajjwzEySfxOrjj7 dBuAew01NvfYmcLIQHdnXrkw69fY4XWfizEAR/TBUGfrCdFiqS8/7aYIvk2VNHl/bRTWdJtAWJu ZCp7KL9XhC6Ip82K6/o62kK4qfp6YlM/PkEG811r8UnHhRNcvY2e7O/6Si2e6G7NhkrQ4jXzOR1 1LL5IwI6le2rb3c9V/CJRfBhuplQr/FS2gwaR/iKk1pd7+03vqMRTHg1Z6t3yRZ00bmJMq5Hd/3 qVuOhpQFpiZxPbmKwPFkYxBX2scO1AK8E6ec7wTAuP81j6oaztnYX1vFoMDME3dMbDMk967vV2d BKzbS1GRTv1Ao5Wf/YRqa5J1wn1LtrZz5CBffSHnWau9r9HXS5NMdW3DY= X-Google-Smtp-Source: AGHT+IF1EfMJ1fmeA1/3h/+dFL7cSxAoDjNucZEIXuMbZCW2LH/dMI1rmB1kJfhwKmz05bB/Wda02g== X-Received: by 2002:a05:6000:65c:b0:425:7e33:b4a9 with SMTP id ffacd0b85a97d-429a8060ee8mr1587024f8f.0.1761631014910; Mon, 27 Oct 2025 22:56:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 20/59] target/arm/hvf: Keep calling hv_vcpu_run() in loop Date: Tue, 28 Oct 2025 06:41:56 +0100 Message-ID: <20251028054238.14949-21-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.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: 1761631057079158501 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Mads Ynddal --- target/arm/hvf/hvf.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 27c600148f9..79861dcacf9 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2013,30 +2013,32 @@ int hvf_arch_vcpu_exec(CPUState *cpu) int ret; hv_return_t r; =20 - if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && - hvf_inject_interrupts(cpu)) { - return EXCP_INTERRUPT; - } - if (cpu->halted) { return EXCP_HLT; } =20 flush_cpu_state(cpu); =20 - bql_unlock(); - r =3D hv_vcpu_run(cpu->accel->fd); - bql_lock(); - switch (r) { - case HV_SUCCESS: - ret =3D hvf_handle_vmexit(cpu, cpu->accel->exit); - break; - case HV_ILLEGAL_GUEST_STATE: - trace_hvf_illegal_guest_state(); - /* fall through */ - default: - g_assert_not_reached(); - } + do { + if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && + hvf_inject_interrupts(cpu)) { + return EXCP_INTERRUPT; + } + + bql_unlock(); + r =3D hv_vcpu_run(cpu->accel->fd); + bql_lock(); + switch (r) { + case HV_SUCCESS: + ret =3D hvf_handle_vmexit(cpu, cpu->accel->exit); + break; + case HV_ILLEGAL_GUEST_STATE: + trace_hvf_illegal_guest_state(); + /* fall through */ + default: + g_assert_not_reached(); + } + } while (ret =3D=3D 0); =20 return ret; } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631096; cv=none; d=zohomail.com; s=zohoarc; b=U1Bk50aSh04Gp3znZuAo1Nw+UEXqmkyw5EZQgti9cgkcVfVvkcWTjNImdTbzjhFbiB6gGzQWM3EkSijhNqzBrDSJmqJj+Ya24mN9fIVSJezAjpsxOv2C/7PvoxBGBqSYwxmf4nJEutG3mvzRaxyrmSkNlhdvhiceP2+m37LwsiI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631096; 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=V3asS+wXSq9uXqx9Uo0sg1PGthTH+0LCho3xSIRojV0=; b=XNiiDJ6bL8A4l1oXSh5MVfld/nqrMnp0PA0zkbgJ7aArgFDIQymLgZjsuletW+XzDA80yz9BkDhZz2Bys3pfyoVgnscem2QYBWmj6Qklsu4zDdEN7e7qaZF51leFngsf/2z1jJM/FiWjXM4+PkMtq3ewcrjJ4ti1uFHEK7zEApg= 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 1761631096096124.66758382361331; Mon, 27 Oct 2025 22:58:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDciT-00076S-BT; Tue, 28 Oct 2025 01:57:57 -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 1vDciL-0006z6-IF for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:57:51 -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 1vDciI-00057q-Ft for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:57:48 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-471b80b994bso76844345e9.3 for ; Mon, 27 Oct 2025 22:57:41 -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-475dd4e30f5sm175990045e9.17.2025.10.27.22.57.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:57:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631058; x=1762235858; 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=V3asS+wXSq9uXqx9Uo0sg1PGthTH+0LCho3xSIRojV0=; b=wyBvagz37SnQbMRpttTXXC246eWbIezqCUmOlI/1cOPoTix9zKea5vBCCKSW21go3n HGLxFsiYnZtvIai/VdUj6lc9bOLfg9cpiaKROGQ7Dijm8T52sARytHtZyOtkmivK3Cda nbICdvAr7BBCR6PbAr0qXmyHigCyvLj8Y5crkiE55x4fJLAda+VrURBxyuqjIEbgX9U9 iQk8Eb+IC2+JycOlJ+85qOhbf3jPF2rckJeLU0VGMYB84GY+nApf+8TvuMMgopCR9Xdr a3zXCn7mx98d6ft9aKoxYPG8ERIPS+T4a8i+cBi5fe4CJLmDJ7zhTLjaM9JnBcwV5ovn zPdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631058; x=1762235858; 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=V3asS+wXSq9uXqx9Uo0sg1PGthTH+0LCho3xSIRojV0=; b=iRKtDQFP40qZWsG78lLzhG2PIXl8VyHDRZRSGY5u26g4TVyHpPOt65pgGrrSt+CAsT BimCHkXqVVEKKMeS5rCMn4S0iyx3qiYVbiMd0YRH8cGU64uG49UEQgLRcNKFuFyKiuv3 VUGZy5U05h8fXbnBrXUvfeYpsqZunIC03mkAGC+5U9NnWisbHgSvtDkUJvl/OvcgKfML Md7hsRN0Ve8x6GkR5g6XaTxWF9NMu/MGF3sp5vlU85ORcSHYccS+6aNcZhjBAzeERt+1 a+BddRXX9ooTrRcHstzwf21sb49g4wzgbQuJXSjLQYPtedTOd8+YccWCY/wEU5OX/S9p wFdA== X-Gm-Message-State: AOJu0YxTYy8yKqtCLiUIN5d1D2+2CpCysYugJQJf+NgkmcIA/imI1u7a tKoozGj6UV4i/jEtt5cbz6aDDQkD/M46RcjtkyqsuIDwmJihDfIPQfF2qNYzXuVx/22Evvedcz/ zh+D70JA= X-Gm-Gg: ASbGncuouJi3O2Ul+cZIOvKXuLBeDlWmfldp3wuiyjxUXA3r0xsUtBp1Uljlymo62cg JC3IuuT5oh6h/ACwCN4y/ZHS3Ns9AvhwWIgLxQKC8/tjy6gXP3kgtAB9I1Ibty1X0g586Ain8s7 t0vuX85yUIYTYAAT88j/KwHTD52ViaKAHRIJajmeUcts1jU33xFbmUpIUR1oMwgoXY9oLbn5IBL 3FW8x1nVCZMKWIBlxzu20gFQzbFfKrp9AAL2IvH6p53bB2KbSt3Y+hmdo1XnBuPQD1IYVfQjYRZ eTZpZ8/hmtdaJnYabznzwE32o361WC5jvgXSNXU7LNCYf+FWdyPYEVIIOT5UfCkGpoxuWM19Ede 5KTQlbVw7oGdJl6ZsIGeTZYIYdoU+ZSFypcGE6itBsQ3TjpXDL/+JpD6TmsmsXdNwlO1Z0Q+uJ/ OqgoMZUzKE9dXXrFhBJXKW7XbCCkzQ967l/BTDlURpjRCFWMoKe/Gc664= X-Google-Smtp-Source: AGHT+IEQOreI1wA0xpXjfOGo3Mvh+iYCSphq/tHpW3YNjxoOX+8AGPcu1utd3Gnmf375WNCvQF0rug== X-Received: by 2002:a05:600c:4747:b0:475:dbb5:23a2 with SMTP id 5b1f17b1804b1-47717dff6ccmr12658375e9.16.1761631058368; Mon, 27 Oct 2025 22:57:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Stefan Hajnoczi Subject: [PATCH v3 21/59] cpus: Trace cpu_exec_start() and cpu_exec_end() calls Date: Tue, 28 Oct 2025 06:41:57 +0100 Message-ID: <20251028054238.14949-22-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631099444158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- cpu-common.c | 3 +++ trace-events | 2 ++ 2 files changed, 5 insertions(+) diff --git a/cpu-common.c b/cpu-common.c index 0eb5c7b8f24..988d057d844 100644 --- a/cpu-common.c +++ b/cpu-common.c @@ -249,6 +249,8 @@ void end_exclusive(void) /* Wait for exclusive ops to finish, and begin cpu execution. */ void cpu_exec_start(CPUState *cpu) { + trace_cpu_exec_start(cpu->cpu_index); + qatomic_set(&cpu->running, true); =20 /* Write cpu->running before reading pending_cpus. */ @@ -319,6 +321,7 @@ void cpu_exec_end(CPUState *cpu) } } } + trace_cpu_exec_end(cpu->cpu_index); } =20 void async_safe_run_on_cpu(CPUState *cpu, run_on_cpu_func func, diff --git a/trace-events b/trace-events index 3ec8a6c7202..faeba6242fa 100644 --- a/trace-events +++ b/trace-events @@ -29,6 +29,8 @@ breakpoint_insert(int cpu_index, uint64_t pc, int flags) "cpu=3D%d pc=3D0x= %" PRIx64 " flags=3D0x%x" breakpoint_remove(int cpu_index, uint64_t pc, int flags) "cpu=3D%d pc=3D0x= %" PRIx64 " flags=3D0x%x" breakpoint_singlestep(int cpu_index, int enabled) "cpu=3D%d enable=3D%d" +cpu_exec_start(int cpu_index) "cpu=3D%d" +cpu_exec_end(int cpu_index) "cpu=3D%d" =20 # job.c job_state_transition(void *job, int ret, const char *legal, const char *s= 0, const char *s1) "job %p (ret: %d) attempting %s transition (%s-->%s)" --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631125; cv=none; d=zohomail.com; s=zohoarc; b=hH86Z+JNaAH1RLT1/oFiQW4ExCMrT8Uj7i9dR8mQhbRkM2GODX/Iskls15W9rh80e26qhMj+utfZZ9IDT+SEKT8IKtbfFT/X/qa5bj3Rd22f2Q3T+7VCZYegp7kBOrg39ar+yC6fp2YBo0fRHgnzoZHm+onrlsSLtc6R0ekPvao= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631125; 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=IQes5LeOA8vkPfaUoODaZwI5RRRB72LYmxLKv5qcwg8=; b=ZsbiKcU4nJE671QFh6mM3w1fOx14kXIwBApO4HHDnf84LeS+F/DDvKMtKU9sBYWxC2quNkdtkHLcCMqKWXuR9OAGgV3oruOyhyPAL7GwSsCjh1sXzXYigNrkpGlkOA1Q07RBaIahnogm90KGdOQ4cnjRzXgDK+BQRpRHVq+vyOs= 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 1761631125539552.5342798420139; Mon, 27 Oct 2025 22:58:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDciz-0007kv-Dz; Tue, 28 Oct 2025 01:58:29 -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 1vDciw-0007kB-C1 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:58:26 -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 1vDciu-0005Ag-K0 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:58:26 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-474975af41dso37754835e9.2 for ; Mon, 27 Oct 2025 22:58:22 -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-4771906af34sm10491105e9.14.2025.10.27.22.58.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631101; x=1762235901; 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=IQes5LeOA8vkPfaUoODaZwI5RRRB72LYmxLKv5qcwg8=; b=mRky6laQi+8EPLKrgCspLQf9bJcaCucSVTaHQXgn5s/2e1GPVjHE9hOTnBpWPXnQF3 5z5RkOj35sFdkTSVdmqteM1xHC1Oe67j4ykvEDFmOXXr244Ezx/y3vgUhu2G2QrV/0ZX c+/QWLqFvsDt+rURSzCbruRv1tzEKtBFrhr+a8kd+rDrCjGTTSilp7NCTzrild/hlG0B Z0Q43EmCeA+p1oy9XRxOsegflDrdKm6AQCkUY3F2TjGY/52D+bY8ilD60QcG3kB0SkSh JHm/zREmGQdbfJT1H8b2wmCRlVR7NA2mbf49BnIEEt/wo95Wilh9Pr9Y1S+huBPLht1S 5j0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631101; x=1762235901; 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=IQes5LeOA8vkPfaUoODaZwI5RRRB72LYmxLKv5qcwg8=; b=URaOGtJ6xrSn7WMWvOvmTy8XpPpMTWZTpeRLSGh2MFL/D2WLi82rzNCB0jIgXxct16 R373MCE4PeU+JgFBvrmUaKYV3cvrzTUGETdfAlau1IiplRriyjKHb6jgWnVD+V8ICtVC SqKlO58PzfeXBKX2tZC10HKDFw3kLmb+Gz+LYg3+bGXsqgbXnGDDWAga1oAjFz00BXLi vhJFWEULkspKVb9nWqx66RQpqXoCDSPAHz3p8pldTlv05/Yix9lxfps409xa6rR7fLrQ 8cpTco19nIxrLdrkR9cjFoY0Tq2jgg7+XIpeKJ1Fxmcia/LE+Vaz+fJfRbovwCm/jnDm 3Smw== X-Gm-Message-State: AOJu0Yzf7oKwMzVvyni6NnDX5n3eL31gAAOLK2pcEp2jOxWQ7qyjVUqP Fc41x64K7oaxZR4IGYDsbLCUYndaV4nofnAMulXmzuWKj7V/HQ6sS5bdz/+UI3Qu8nNBaCSq6yv VewjdxMM= X-Gm-Gg: ASbGncvWLkt6ThEos08RznJr5OnYf5aWf3ym7rPP/ZZX93VRsjwiNQZCjMGnmNtFEL/ ezriPPJsOgqsCbckK7Xgk2y9qrHgpDDHzBqMcliPWypU+H56jS8bm9V20hi10YYjiiBoOBdNYcm o74H4Mcd5XVCmfppPqb4foYBrTOuaFe/WR5mR8SXe6Wdyncn+7P/RONRO8s+SPCc4SNVodAl+h+ aldOExlUfECPEjadtgtcDkYUxe7M/SUHasf8nWliXUsrMy8OwKozkwixAuK4fKMDWRHcPt9dmej memvU7TETQT1EvkHUbmScuDLZK0wnFXRUdJwSpCbc/kegdgB8V+39RctyOIGCozoE7aOrjomZtB WkvLvUf7Glb8wApdXYxPOtkH/1YvlQMrjnkcbQ8MJSGoGoIBYJaAdu0tcoCBpxhlDbBOXZDqDwd sFryBB97e7cMCLpfAv8ogs0tAHIzrr9Rq1OKmsyyfAP2eBEhIxi3476gE= X-Google-Smtp-Source: AGHT+IFp8VT48Ql+53i4mrWS48pgyMYG3Z/P3ai2L3tGtyhJlFPRkbyVaAlOMAuIUrBwr1iAYW9TXg== X-Received: by 2002:a05:600c:8209:b0:46e:326e:4501 with SMTP id 5b1f17b1804b1-47717dfe812mr15272855e9.10.1761631101359; Mon, 27 Oct 2025 22:58:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 22/59] accel/hvf: Guard hv_vcpu_run() between cpu_exec_start/end() calls Date: Tue, 28 Oct 2025 06:41:58 +0100 Message-ID: <20251028054238.14949-23-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631128128154100 Similarly to 1d78a3c3ab8 for KVM, wrap hv_vcpu_run() with cpu_exec_start/end(), so that the accelerator can perform pending operations while all vCPUs are quiescent. See also explanation in commit c265e976f46 ("cpus-common: lock-free fast path for cpu_exec_start/end"). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 2 ++ target/i386/hvf/hvf.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 79861dcacf9..c882f4c89cf 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2026,7 +2026,9 @@ int hvf_arch_vcpu_exec(CPUState *cpu) } =20 bql_unlock(); + cpu_exec_start(cpu); r =3D hv_vcpu_run(cpu->accel->fd); + cpu_exec_end(cpu); bql_lock(); switch (r) { case HV_SUCCESS: diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 28d98659ec2..16febbac48f 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -992,9 +992,13 @@ int hvf_arch_vcpu_exec(CPUState *cpu) return EXCP_HLT; } =20 + cpu_exec_start(cpu); + hv_return_t r =3D hv_vcpu_run_until(cpu->accel->fd, HV_DEADLINE_FO= REVER); assert_hvf_ok(r); =20 + cpu_exec_end(cpu); + ret =3D hvf_handle_vmexit(cpu); } while (ret =3D=3D 0); =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631161; cv=none; d=zohomail.com; s=zohoarc; b=UfpSJlIokqUoKMX3RsnQzxKIBDHnhfODiu3MeiZOp9c2O73xOq9troUKk5p6HWQniQTIaV0DkCP1bxpUU6yCUKNGwzGXa49NJst9CyhRmoIRMA6K1kZwIqvhvRmpzW1A3oGvZpGmUI37AUsQ30FDJ8KfLD8K/gFCAmlKksra2OI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631161; 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=B7QBs13fwIjO7kuSvhwOAAtMaY6vnhC/TwMzIPPo1l8=; b=W8BUsdHbLV+qlKsiLFL9nln+zJ6Th7DOMEHbnM/XIXUxnth7AbJ+iODjc1dMrw6Dc+5TD+W8NkaOAYG66OP6+es3UGj5DwxkvgabSUUrx6Q0RMhES7oU+iWZM6Qjze4uS0EIMhFSoRisMSh/P2Tff7KOY06r2ax9KB9dxwtPtIs= 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 17616311612771010.7329716027231; Mon, 27 Oct 2025 22:59:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcjf-0008Ds-JE; Tue, 28 Oct 2025 01:59:11 -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 1vDcjd-000882-0O for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:59:09 -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 1vDcja-0005C9-Fs for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:59:08 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-475ca9237c2so30839135e9.3 for ; Mon, 27 Oct 2025 22:59:05 -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-475dd4cc596sm179116375e9.15.2025.10.27.22.59.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:59:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631144; x=1762235944; 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=B7QBs13fwIjO7kuSvhwOAAtMaY6vnhC/TwMzIPPo1l8=; b=rmk57Zty/evzamT60+o/nQOGx5q+LSBnLNHqBz6mOskvLUESw+h+EVtWwXzCD99vPu ISgj9l0tF4jyU8S9epReiyaXS+cLNp9s3AjTGeK1f5TaI2y68iFY3Wqy1vcL3663zEOk gRf5iBkddhAUC2rWwkiFb+Na4EzFJRDFfk1SuDFBvys7C2rUf06C/G4nzZrXNEkrP36S A8TXgUAp0pUnqX30c/hl7npx/7i1dADaXduRBVhJ/m/duXG2OYYZAzcbZYS5m/FruvGx xQn28bIfLKGQbJXwFhCKTU92AFhMq5Fx6F0KIR1AtdvA6p5ZKRkoBMgZwokThj7KS4Hh QF2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631144; x=1762235944; 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=B7QBs13fwIjO7kuSvhwOAAtMaY6vnhC/TwMzIPPo1l8=; b=ubsUg+rR8ThZK00cj80MgC1vhml/Nn0/OxyU2kmEFbYhC/r6wiZuMSxpbAazmpAV6f ZcbvC/czY9ubAWgtSTYqdqG3yY3p0HyFJ00GFUsOZgvZzK10XdmrzoCHK1u+S8uo66S1 Uhwia/RGK3Qd2BJYHUVIZgekOyo7NGA9qr5rQGxDCOzfjO9jA9BauSJtcts9RldquvGJ Mj/a20NVtDU7z5Swe163vG12s173LlfVOfkMKgIeFS31RvAUUiRxun4W/e87ULDr8GWJ xvc2HVW4zuWSjUVRPXGEq2rqGooCxV0AfFPK5MDNkReuHPqviEZ9Ybp7sYepPgqJgEmG S+8w== X-Gm-Message-State: AOJu0YyXYsZEe/ytUrf0ALMAKnPdAWog16W+j7Lh7Dv3tPZb4r596BHZ U2uyS6MpNOlJ76cZ8IKgEVtBnL02H8epBBiCbwvk+CmB6RCa4g9uGricnuqPnsQVuT9c3zpw/VO Fg3hc+YM= X-Gm-Gg: ASbGncs6w8IuTq9Tk3U0fEO8pADrLQJPAJc9KPbwbDr1Ss7yQ+3t5nML5CQ1ccrILYf p+yGzE82SsnzQauWXRWVP6hMdIIrSWvnkaqaZvGxX+ojT7Ddhngv+dsb571jm0e2eqYShDKHekK AYA8usq28qbZW+a1ZQesgipDyqtwS8Z1kEcAFc8xKmtoIdhwBckzKgf9ISDzjAXjZs/LvjkmTtK 8c8YCNPJ3TmCPun1QI03lkwYq+58OdV0N9lYTJ409e62a4dpcZ6Ept0qsVX5Uigqbg5rS5v9rGF WKLZeEV1Hs2crOUd1o1B3CBvr8zzBZE/eedmahqf9IgAzzYEdLVzHYjkseXk/iJF4/y1DizUqR5 tIMTyLatcfaZ37GGTAKjs9ktZZPyxhKon7RaZZxArSFZdB5U7t/YD12I+AXApnpSqU8YXfqlgrA PcQ8l8O3+U+LuGemjFT2M9TUnbFwNkhqoJmkcEkn59kuVisi0HmWwQFk8sXcIn18DUJA== X-Google-Smtp-Source: AGHT+IGbknHLhEBnabsdxE3ebxXJ5OObCI/Mgp9Tr9GEX1f4T7tga0oYi+Tdc1fEonM88BoyMHReNQ== X-Received: by 2002:a05:600c:4450:b0:475:ddf7:9969 with SMTP id 5b1f17b1804b1-47717dff741mr18493875e9.9.1761631144360; Mon, 27 Oct 2025 22:59:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 23/59] target/arm: Call aarch64_add_pauth_properties() once in host_initfn() Date: Tue, 28 Oct 2025 06:41:59 +0100 Message-ID: <20251028054238.14949-24-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631162913154100 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 26cf7e6dfa2..f81cfd0113c 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -762,20 +762,20 @@ static void aarch64_a53_initfn(Object *obj) =20 static void aarch64_host_initfn(Object *obj) { -#if defined(CONFIG_KVM) ARMCPU *cpu =3D ARM_CPU(obj); +#if defined(CONFIG_KVM) kvm_arm_set_cpu_features_from_host(cpu); if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) { aarch64_add_sve_properties(obj); - aarch64_add_pauth_properties(obj); } #elif defined(CONFIG_HVF) - ARMCPU *cpu =3D ARM_CPU(obj); hvf_arm_set_cpu_features_from_host(cpu); - aarch64_add_pauth_properties(obj); #else g_assert_not_reached(); #endif + if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) { + aarch64_add_pauth_properties(obj); + } } =20 static void aarch64_max_initfn(Object *obj) --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631204; cv=none; d=zohomail.com; s=zohoarc; b=eJUtK3NxGoJZsu2FFDqnjkNYtla43nEYg5itLP8Tch3h2EqM4jPI+DlL0pH/f0OVX8M/VmmixsWY32CRuru0povXZHJkvzir2XWd5iFUXFtvrRJ0+F670fPERMPGse8s75zL0zRVnvAL/wTj63yG5y1jBRKDtMYY2YzTnVTD1yo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631204; 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=Y/pnrcoc7cYS7GwGVqSI0sbh32hz5/hHl5ailiW8kns=; b=IfL+OFjreLZPskV6pCr0OqgHAd3pE8bYkUxUj1k4skqY3wnf1YRd2pDYIk54vx5rYdnR1hyaZyLB5duaB66iaPWKG0/HsuhSe5XUkjklqj6JHXk/t7v3n20K8XNsOIvgnXJQmm83So6S/ks7HwXWmrp2ZwuHmF1Np93AYhVjiuk= 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 1761631204741456.41176753042123; Mon, 27 Oct 2025 23:00:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDckM-0000Kv-6e; Tue, 28 Oct 2025 01:59: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 1vDckK-0000K2-5b for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:59:52 -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 1vDckI-0005EN-9y for qemu-devel@nongnu.org; Tue, 28 Oct 2025 01:59:51 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4710683a644so45923365e9.0 for ; Mon, 27 Oct 2025 22:59: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-429952df3c7sm17969161f8f.40.2025.10.27.22.59.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 22:59:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631187; x=1762235987; 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=Y/pnrcoc7cYS7GwGVqSI0sbh32hz5/hHl5ailiW8kns=; b=lLTokvCsaWAjL98MLae1c+YWqE1/fUFxnWCecmsvJkdeUOYNdMUs9V5C1jzVsAjPNS ULA9nLz8B7BVXMbcTV6FpWy0CTKmlpyamcFr7K1Gy/JQHUsFIt4avqjS+tDi8e8FM6Pe iMWi10LwenYbDYWWZJ2U4ht8e/pvUGVnDUgyPKSJzoWeB9mJWQESZ7HRlejupCl2S+Rl qgA0jqbCJ6veEszZqMmBg72ZHKpUQtxE4vaeDAPZaTeMcNQKZrbKauUVoQSMumjzutdH rFIyLgLIGGQiOvZfi85SsJCYyL8NylHC7k0tDXH9KcclkvYRqq0W/B4454vhdL7WcKK4 TxLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631187; x=1762235987; 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=Y/pnrcoc7cYS7GwGVqSI0sbh32hz5/hHl5ailiW8kns=; b=sTnyn2QD1oAorKtCLvA+R31jU7jUI/RJvc3EhEzWLAPL1g8ljrVHLXA74TglhQdpf6 vBgdAXC9VXastnTbRlaSAKWt9/AGa5zIRbFNGQsuRlTuB91U4+rrvWvKxh8MyeGmHp7A Vo/448G7R3K7aenevVNSPj9BnmuyyT8JHPm9MoHeLd57iK7MjFcbGB9dBPNo0VUr1Ie4 OC9jDzl/br21k7ivB3SaduSK2nPVKfEb2lTJkl/L7XCTQnn5UW0lW0RInKqpiJLhTJgK pvE92np4MxGzPvNPhg89eihK8IrKXN7Q/lera62DgO+DsBIRQDHMcHXng6x3lsgJc1tM UhOA== X-Gm-Message-State: AOJu0YwcrrVZd+CXcTUDkWreIzcbsZC7aAL7wNQP2GqiZiowZFY30ae0 x6kjcx1Z/Fg3tHVs66WVkNECx3G7rhEkh5KuhCty5Kw64Vq9XxSVQNYM4sli/5/uOCbFT9O2M2y EwCkeJwE= X-Gm-Gg: ASbGncuovk3K4R9rux+SGp4zI5P5LHptreIgTmAJAhRfIQYdIQduSK83qOg22acu7lT C+XvKVJJx/xmpima19/pIfN09r5SxKqzP5owKTHiH0Gxkz6erTsgsURFTDFxA8OhQcFABEmOSF0 JG3vkFsRywa3bWko9oftVUoMIEbIEvwqmnxGdfW7AdaS+ZA+0YBgjkScFcP2EB9G55XLKDBql8b HXJO8wL/Af1+FWBmVLs8D35NYEmfNSFd3S5nj+doUUy7r/k+k0I5831kxH252FLFX+4YAG0q7f+ mq3BlGJX30/516TfgSX8lAYRKHZKwYJuiZ5Ug9ZLXHz+1jGyKXi2IboUrcZog2epsdtfmSTXL0I xe9o5AS/HPd3KyfP40jnEg6u5Nb474rcGdNpCl/DyEwWoihlYVE79h+s91D647Wcrg+IGfcjO0z G7A3KkMDimuTr7l99cE+1geXgmxnZDxGKuMZO6uA0L1DlQT33P1eUT7j0= X-Google-Smtp-Source: AGHT+IHYMVKfZEVR9J/wlSA+dishZEk2oVCDLXjk9MfKtSTnULTiRIcxTejUPDTOOFx6pXuYd1RQ1Q== X-Received: by 2002:a05:600c:608c:b0:475:f16f:6e10 with SMTP id 5b1f17b1804b1-47718170f3emr13646525e9.18.1761631186768; Mon, 27 Oct 2025 22:59:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 24/59] accel/hvf: Restrict ARM specific fields of AccelCPUState Date: Tue, 28 Oct 2025 06:42:00 +0100 Message-ID: <20251028054238.14949-25-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631207937154100 Do not expose ARM specific fields to X86 implementation, allowing to use the proper 'hv_vcpu_exit_t' type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf_int.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 195d64dcf18..3d2be4092ef 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -59,10 +59,12 @@ extern HVFState *hvf_state; =20 struct AccelCPUState { hvf_vcpuid fd; - void *exit; +#ifdef __aarch64__ + hv_vcpu_exit_t *exit; bool vtimer_masked; sigset_t unblock_ipi_mask; bool guest_debug_enabled; +#endif }; =20 void assert_hvf_ok_impl(hv_return_t ret, const char *file, unsigned int li= ne, --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631251; cv=none; d=zohomail.com; s=zohoarc; b=iRdcupwY0J98MfSlXkNephdGES3KSozuvknNM3h/FUdkN9tltDu98URR+zM5BWzqb6/xDK5rxuFcNgNF4z+e+7CLJrnmEnCVGCTkOWAxy0qQgETdkOknLFIhx3MxWxOHZKEWli7oqc5V0541lSYi+GpAkJWTWU/Tb/2fFP6WC4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631251; 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=SMVGGhuv+EE/XWA6EIDr/RcPSQYEZruS7kFfhc7sgP8=; b=hM5hntU2HWbd+NVB3cDuiAM1m7jHs9SeoWHBbTEmJtcE69rqriBrgLVz/QZQ9IzeDEtlwX44e5Edfg0Xxu3eodMGOIR/mtl9rwpTzv8i0vT1O9I/BuWIaxYP4f67J9bIxKJJwMs5GF+ll6Qi9Ed24LgMzQOh5v3ImKnYrgEnX9w= 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 176163125196544.9710224149261; Mon, 27 Oct 2025 23:00:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcl8-0000wY-JC; Tue, 28 Oct 2025 02:00:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDcl0-0000vC-3Z for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:00:35 -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 1vDckx-0005XD-Vs for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:00:33 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-475dd559a83so16435985e9.1 for ; Mon, 27 Oct 2025 23:00: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 5b1f17b1804b1-475dd48a07dsm175051845e9.17.2025.10.27.23.00.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:00:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631229; x=1762236029; 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=SMVGGhuv+EE/XWA6EIDr/RcPSQYEZruS7kFfhc7sgP8=; b=GkuXCjV4evDmmaSOem4BukTpP9ws2b1qUarmR9jtnQeIu24JZMHog4bBlk5uLjNsGC ZwLgiwc5T+/q1kBmW5SsPohFRfC5on6eoquoEqZGImUqZ518A8axrae/ZedpMaAX3a2U mA+NoL3xYeydgKSkQJyXOQaSKNpFJ4YjHr51a0tzA6Qf3nynDdE9PGv7XlFR5PTCphHz 4ooKk9/8HGWIJpGUGfgoFhcirX0m7d3WgEQv2yUHzhQSpKqzT3Od015heFSdDlrKDBiX ukhHV9VSU2tcBv1rmlKGODrMhaKJflUZwRri9Td4G4VBHpVsHkz5oCp3ebob2RGEGLnc tMUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631229; x=1762236029; 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=SMVGGhuv+EE/XWA6EIDr/RcPSQYEZruS7kFfhc7sgP8=; b=WCDAXIy9DpDTJjCXQP+BFbgG3LaPSuUrafgOR7LwIllT33sX8C5nyb6tSGhH+1BY4P PSELecQcrI0ZqL49r/ZOOa1Rk7drU9+PFuLOBFREtjmrbXn9yz3JsN8CRu6mAK8R2HBr iwuvUr1g8zSBc2kpm7osyE8WN3riFqL6Utvp5fz4XWkdxQ1RJoIa3/i1ndFi6iJ/suk+ o4B/rRbHq7vwPiJn2PjGyBCH6Vi3y54j0DmKnRL7y5X8EQrKKzcsppJ493m4tTYk4/K9 b2Bt1Vss6uPt/FhdQB0lkOKZnNyghO3xpykCiHr6gr1WDiTM2UsLzKZKbymOSJIV2QQF 5x0g== X-Gm-Message-State: AOJu0YxeA2vT1GKITodcM3bKJUdfL5Z68ZuG/WxCMXu2XdvdphgTmMVZ iEJR5f+bG5fL9N8i2rysjK8F93/5lphW8PpeeG1fv8uPcGnHLzurJ9xpQhct3FhBSlA1fmEQl/c yE/NK29c= X-Gm-Gg: ASbGnctv+Bj0O3u74gSffur0/gTz2hIezpuq7J5GaPwiRZUp4jumMexobJfRP3dtAn7 u8vbEFNs8r48XdPDFPn/TznT2D16a3r4tZYwerEUljTJZpUxBfjd9ZwBjVwDogLEo50gXCplO1l 533TU/TGGrYLJQFImHowfdl9QAXmiedTbVneop4WnqHpZbG/6dB07sQkaw56maK9ZEvpWwQfleF jemFJ1V6vLpksjpa9Ucob0jY3hfGlBEyQMPJ+4Gau6IIT7TwplmHUC4KMh5b1ZwzVco91VEnL5a ZdDf5HNHAuyGo22XTh5x8hPTIeqaTj902Xo7keubxp++JSmYXpPy8PLLAv2Btnsx5fGWkdL833M TgvXxs8nMRPHZkAR6siyzX4d37+RG3Wzf4OqsrRnpCoHuWVcgdS9u82qaBMhOroejVoHhUs5WFI MX+RFmO+Eb4DH+bfJB1nNTF4UX9EYJHMjSI0jArMXdF0L0oqunVi9LIJg= X-Google-Smtp-Source: AGHT+IF3kDF5RwB3sViv6DTHlMR6a23Mx+XIxQHrKZgDkNqNKVT/dI1mRiDZKI+ljqDV/tXA6UGkiw== X-Received: by 2002:a05:600c:848d:b0:471:16e5:6d7a with SMTP id 5b1f17b1804b1-47717dff972mr14201915e9.13.1761631229212; Mon, 27 Oct 2025 23:00:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 25/59] target/arm: Rename init_cpreg_list() -> arm_init_cpreg_list() Date: Tue, 28 Oct 2025 06:42:01 +0100 Message-ID: <20251028054238.14949-26-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631253341158500 Prefix init_cpreg_list() with 'arm_'. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell --- target/arm/internals.h | 2 +- target/arm/cpu.c | 2 +- target/arm/helper.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index f86f421a3db..773c08d4f7c 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -376,7 +376,7 @@ static inline int r14_bank_number(int mode) void arm_cpu_register(const ARMCPUInfo *info); =20 void register_cp_regs_for_features(ARMCPU *cpu); -void init_cpreg_list(ARMCPU *cpu); +void arm_init_cpreg_list(ARMCPU *cpu); =20 void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu); void arm_translate_init(void); diff --git a/target/arm/cpu.c b/target/arm/cpu.c index d2fc17eab63..39292fb9bc1 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2141,7 +2141,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) arm_cpu_register_gdb_regs_for_features(cpu); arm_cpu_register_gdb_commands(cpu); =20 - init_cpreg_list(cpu); + arm_init_cpreg_list(cpu); =20 #ifndef CONFIG_USER_ONLY MachineState *ms =3D MACHINE(qdev_get_machine()); diff --git a/target/arm/helper.c b/target/arm/helper.c index 2ef9c178147..31bb3ce5172 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -252,7 +252,7 @@ static void count_cpreg(gpointer key, gpointer value, g= pointer opaque) } } =20 -void init_cpreg_list(ARMCPU *cpu) +void arm_init_cpreg_list(ARMCPU *cpu) { /* * Initialise the cpreg_tuples[] array based on the cp_regs hash. --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631318; cv=none; d=zohomail.com; s=zohoarc; b=U0lFzN1gQ662kq+sPI2h9oH4dOYQ7NAWysAtiIXKKovJYIgPh3bGqCyZEia0GNVzyNmlgOUzjVQOb52YYZppxVKtJV3tN6b/8bPp9d7GPMhm+dKTS2CICj9Ho8jZVbPSoLpHC6kucJSIzuGVLtMRWgToUmLpqOY4UxQ0HuhUs4E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631318; 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=iFhev+ViAFFSzJ1smEp5sPV4YLk7YFAUxT1dvo2z6os=; b=Xjc4t0KCxnTkrfrWAbcnc5Hr83aUbMb4zSZjwRy3olKfjrzwR5X/wAE9wIIopkxDjxFIQZAJhMNwXojeBUFy0W0sZF2uFdnpNrjoYsrLjOJ4T5FgO4kVZAscZ1Ca2sVT617gn/YDiCrRCJr72wS+kmZPrWu24Z1Gb8AEG4wQnPk= 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 1761631318441402.931313394389; Mon, 27 Oct 2025 23:01:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcmD-0001hn-Cy; Tue, 28 Oct 2025 02:01: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 1vDcln-0001OD-3j for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:01:23 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcld-0005ba-VU for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:01:22 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-4270491e9easo4529705f8f.2 for ; Mon, 27 Oct 2025 23:01:13 -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-429952d9e80sm18184125f8f.28.2025.10.27.23.01.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631272; x=1762236072; 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=iFhev+ViAFFSzJ1smEp5sPV4YLk7YFAUxT1dvo2z6os=; b=DYzAq1SBw9H+MlUbEDXHoHbt9kU2bbfEbCz/dLF2wIvczgl13y3cd+x/k06ezLT4Ub WIt48qCEmxHZ51V+0Sxu/hz/6/2utX1r5aqa2G9wtQY7nUUV3gRnGAzf61wcm0zdoaIo x+dm1tonCU+yaF6MkA4CqHuHZg0ErLUrvGAHVUPzSm3qSEXVacZ79Xg6mYgXo6TB7087 oWRywGMzED/ag4mKTijzUzuwur5INKdkRlKORALAP938ZkTUqVhTvI+UdDDpJ4M2pkTO jJV9eihkT/kpSsS2xsljBbDpIFp+xdgE8mLvqjFniyqQcqvUCjsaKa2+vr1s0Ejzxby/ cv+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631272; x=1762236072; 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=iFhev+ViAFFSzJ1smEp5sPV4YLk7YFAUxT1dvo2z6os=; b=oXSxIn3i3IJrZSo1joahSggOix5nODPaqdjCK0bfNI5wNSqIXUjmr50Lif1c4uqYqZ hBf7le+O65aFdflIrTDtiikhHDcD8DevNYC+BrnfL1EdvVT9ig8WwltLi24DHr0DfX8e wVi16wOwQ4LLNX3F5amy1+OCXnOs7OYvaWZcEDWLwuVZIqW6Ov/+SbcNRGufOycH4xG/ 0gw4zVmVa32112Fdo2/E1d1X2Z2qQxkNgRkRbTn2EdNTtdkB73TUnM7+MAwswUAml/AC /uwN/v1MnNTxu1c3PRW89a4XGjD5P0qvz0uDXaiaMZm9Glg/1MD7h1JP+3AbTz6oeb11 s6kA== X-Gm-Message-State: AOJu0YwqVdMCRH/hkvfzQfstscgFFtGnCKiVtDGNYQ5y5s952eCrC8KH /vSEqbN5cHC5zaun9EJ38mCzSv/2b/tqiaJE4uQ7UBzyDndyol2NX9ewPUvXk1TOveagf9iwN4H SyM9iMY4= X-Gm-Gg: ASbGncvGdhRE0cpFHLdxiVmntXX2rhaNumL/RHHTBrWkkocvn/12mP+cpBz/08LuG8j fNkSSrYUR2PsSLhnkXhxZrR1ZxcvTqMsfpLSWCqtpI6e6fTQxrnj6sq91vx3nyVccsD2quyuiWV kVMQKK9Uy7/d+JHJWK/MG0wSLK3EiXaOWRFHg/UO/hctf/95gWWsFhvz2cUKm2ziKFpUmLiz41B 1hjq+hyYpAJxZ8EduDZORKjDyc1A1xdvN3W9Bqe5d0rRbhGvM9V+O1jvV3K2K/9EarIEOd1FVDB /+TMzUnbT5mYbcUMU+nCTQVms9YIBYBRLbLJOxv8a7RksxsYwsYc0YLdWbH3+mBVjcl5ooaHwEv Oo+z8fys9gwelpfuPCUAsIDifaQkymh7LGlJv6ij4ZFf8Kdfk0Y2Ds6QkF0qWjdHf9AN/PpXn/V TBVrOnpycJIpAegwNedk/qMtX2ZnWLimCEZwn3wVkaoEdegMHRQuW5/sY= X-Google-Smtp-Source: AGHT+IH7yne3eVNVI10002KbW8Od/u2ibkGXmfbRK8wakFldV85f8E9RfyKRdst1ttHCkAWdPTtjqQ== X-Received: by 2002:a05:6000:2911:b0:428:52d8:9680 with SMTP id ffacd0b85a97d-429a7e5522bmr1619947f8f.18.1761631271610; Mon, 27 Oct 2025 23:01:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 26/59] target/arm/hvf: Rename 'vgic' -> 'emu_reginfo' in trace events Date: Tue, 28 Oct 2025 06:42:02 +0100 Message-ID: <20251028054238.14949-27-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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: 1761631320120158500 In order to extend the trace events to other registers, rename and pass the register group as argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell --- target/arm/hvf/hvf.c | 14 ++++++++------ target/arm/hvf/trace-events | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index c882f4c89cf..26bafee259e 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1149,7 +1149,8 @@ static uint32_t hvf_reg2cp_reg(uint32_t reg) (reg >> SYSREG_OP2_SHIFT) & SYSREG_OP2_MASK); } =20 -static bool hvf_sysreg_read_cp(CPUState *cpu, uint32_t reg, uint64_t *val) +static bool hvf_sysreg_read_cp(CPUState *cpu, const char *cpname, + uint32_t reg, uint64_t *val) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; @@ -1172,7 +1173,7 @@ static bool hvf_sysreg_read_cp(CPUState *cpu, uint32_= t reg, uint64_t *val) } else { *val =3D raw_read(env, ri); } - trace_hvf_vgic_read(ri->name, *val); + trace_hvf_emu_reginfo_read(cpname, ri->name, *val); return true; } =20 @@ -1261,7 +1262,7 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t re= g, uint64_t *val) case SYSREG_ICC_SRE_EL1: case SYSREG_ICC_CTLR_EL1: /* Call the TCG sysreg handler. This is only safe for GICv3 regs. = */ - if (hvf_sysreg_read_cp(cpu, reg, val)) { + if (hvf_sysreg_read_cp(cpu, "GICv3", reg, val)) { return 0; } break; @@ -1432,7 +1433,8 @@ static void pmswinc_write(CPUARMState *env, uint64_t = value) } } =20 -static bool hvf_sysreg_write_cp(CPUState *cpu, uint32_t reg, uint64_t val) +static bool hvf_sysreg_write_cp(CPUState *cpu, const char *cpname, + uint32_t reg, uint64_t val) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; @@ -1455,7 +1457,7 @@ static bool hvf_sysreg_write_cp(CPUState *cpu, uint32= _t reg, uint64_t val) raw_write(env, ri, val); } =20 - trace_hvf_vgic_write(ri->name, val); + trace_hvf_emu_reginfo_write(cpname, ri->name, val); return true; } =20 @@ -1581,7 +1583,7 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t r= eg, uint64_t val) case SYSREG_ICC_SGI1R_EL1: case SYSREG_ICC_SRE_EL1: /* Call the TCG sysreg handler. This is only safe for GICv3 regs. = */ - if (hvf_sysreg_write_cp(cpu, reg, val)) { + if (hvf_sysreg_write_cp(cpu, "GICv3", reg, val)) { return 0; } break; diff --git a/target/arm/hvf/trace-events b/target/arm/hvf/trace-events index 538af6e0707..29387780e3f 100644 --- a/target/arm/hvf/trace-events +++ b/target/arm/hvf/trace-events @@ -9,7 +9,7 @@ hvf_unknown_hvc(uint64_t pc, uint64_t x0) "pc=3D0x%"PRIx64"= unknown HVC! 0x%016"PR hvf_unknown_smc(uint64_t x0) "unknown SMC! 0x%016"PRIx64 hvf_exit(uint64_t syndrome, uint32_t ec, uint64_t pc) "exit: 0x%"PRIx64" [= ec=3D0x%x pc=3D0x%"PRIx64"]" hvf_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3, uint32_t= cpuid) "PSCI Call x0=3D0x%016"PRIx64" x1=3D0x%016"PRIx64" x2=3D0x%016"PRIx= 64" x3=3D0x%016"PRIx64" cpuid=3D0x%x" -hvf_vgic_write(const char *name, uint64_t val) "vgic write to %s [val=3D0x= %016"PRIx64"]" -hvf_vgic_read(const char *name, uint64_t val) "vgic read from %s [val=3D0x= %016"PRIx64"]" +hvf_emu_reginfo_write(const char *cpname, const char *regname, uint64_t va= l) "[%s] write to %s [val=3D0x%016"PRIx64"]" +hvf_emu_reginfo_read(const char *cpname, const char *regname, uint64_t val= ) "[%s] read from %s [val=3D0x%016"PRIx64"]" hvf_illegal_guest_state(void) "HV_ILLEGAL_GUEST_STATE" hvf_kick_vcpu_thread(unsigned cpuidx, bool stop) "cpu:%u stop:%u" --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631353; cv=none; d=zohomail.com; s=zohoarc; b=VN5QuMgQmX6wIwdIcVTai1DfDcQL59g8fQKSCOgQfC2q/q496XROdolw6VguOkDPzt6AjqaBIx/DT7CvRrwElUMHzCM8iMaQhRHfFT2COWDH7oxnoqrdUde1mdY/OaVa83NHQNnI4lXrTynE0eJrAF8SKKBDjplfiiGldp8WjYg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631353; 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=g7MgKZFYNv4e6Tb/k+QoGSCvRTnlJxwa/GyB/qCuFpQ=; b=e+ckEuntw8G5VQq5glyHoB7Xp8CYZ55hlZjfIvYJzVczg/7XpgSCHbC1Rd2IkgL1d0JkUXcNFNrZoUgcup3MonRO2iny1WobpNptwjg6ehjHT18Mt/SD94ldd1xx2KMj54nPy/8He7GCEQalMx5625Z/+S+iPsyVg60oP11zx60= 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 1761631353430878.6805186558607; Mon, 27 Oct 2025 23:02:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcmO-0002Aq-62; Tue, 28 Oct 2025 02:02: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 1vDcmM-000288-Nl for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:01:58 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcmK-0005df-F6 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:01:58 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-47114a40161so62402065e9.3 for ; Mon, 27 Oct 2025 23:01: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-475dd4cc596sm179237715e9.15.2025.10.27.23.01.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:01:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631314; x=1762236114; 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=g7MgKZFYNv4e6Tb/k+QoGSCvRTnlJxwa/GyB/qCuFpQ=; b=KV1EYiJp1g9f/6YPKnBAy7C4Fkts5Lqt8lrD+nR3SQoYcbWkFYO8QvYxGLbDq2aZJF vq+XQmZ4VJTZr88aK6TYv+fwqssFiMy2NHL7PGMTFN8HRkuRC2TCSGa7cuChkY8bQFY/ E+nX/vlHPqVEDMdtGKK4rMrtm/UFkXTpQeAA3KLqFCzd79IRjUHou2s9JvK5EQ5NY1QM JCXPBn8zkqlBHV4TJPtquqTTUBPt+ndWtIxfxI13X1muY/YPkthyDtUtjMcZnwPJC0z7 wEyXOuLxTs+TPpBP273hWUa5MleVT5B5ydREER+ie6C2fyp2BxAdIM3WKWJhU3ZxTN0I Px5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631314; x=1762236114; 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=g7MgKZFYNv4e6Tb/k+QoGSCvRTnlJxwa/GyB/qCuFpQ=; b=KJNaICLKYnSLTZSEie//Hhm9Qsa32VZY2Z2WivYEGF7/6KelbX73TZdl2PowJIKcnT I7dYUgWYgCwCsrwkrZinBYcilwWyQS3inOBk4QGuV4urUcGkteP5SA9182KTeWmLe50m oDQSbkT8ajGlkM49zLdQGD4Yr1ZuG86FxO2FIjP7s5a+ILUlkwRe3lgu0tT5rrk5rVFM QxtvPrq8g6RdkgyRhOOYFZvyRmQO1sfr28Q/HFvFL2dC/kuNX0qDI4L7iYCUGgUw+iWa 60M0IZw2VkLtoyMBzcDsKLEKvHEinnWQ77p4Ey3AjCKANPe1ZXZqCkZaqBETsdEIQbIO 0Xwg== X-Gm-Message-State: AOJu0YxsUckrixBA2N+H5sgNazNSDF9+ooorb1m5pFgM/Lg4MReHgTZe 9DQnFfpR41SbyWdDlMvXOhPW9jclX7LIjL3AP9jwsNobTBKUayi2AdRnrWUCZnjp9B0we1yS2o3 GPoIDA2M= X-Gm-Gg: ASbGncucouXZfmIA2DgfEY7Qu+34YBI90LMXkXi2V/C7ug4Dnmb+J4QGIMjlVm6lOsr Z4Bzo1G0tBjf1+AB3pCLnXwJVQW4bWSIWg2n4s+MEgppEEhtveTTswt4/aih5/fn1NA2hJlgq+H FBeHwszfyTD5JnZVI4vdsSQL3pEupiPJyDpPLpQUIT0Uf0aFSAwl0jC4dQ9hTK36uoYCcn//h3A VFs098ft2RgIsAKs6ArNAlr6TIkhE0olmw253IBSChg4mQygxxEkKAMPEcaS4ATpmbw2E5MFzTv uaGuy1vMF7M5GCFoJc6/A58dx9o9oiVzqMCsjwRSetjKnNRtNpHOfIZ0UJCM9T06UZRgp9F+iv5 CLiK0a6kXSUhtGTM/ZrPp5dzUP0Ptn9ju9DU1fxBi4P2dEif6Ap9fDvmVbCHpjf3f2QRso0xe5m zHZkEImZGzW9RSdvNCOWHidjlyzMIJoeBuHuMwAn0rHYugSYgyS+pSyIk= X-Google-Smtp-Source: AGHT+IFgn08EvjBhheTuphmBUBpmrDoN47Vrk7ZdoVRxwDSRdNnxJ2r5Qt+0rxuKwcfzFW45IKleQw== X-Received: by 2002:a05:600c:3d98:b0:471:131f:85b7 with SMTP id 5b1f17b1804b1-47717dfc5ebmr15621175e9.15.1761631314171; Mon, 27 Oct 2025 23:01:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 27/59] target/arm: Re-use arm_is_psci_call() in HVF Date: Tue, 28 Oct 2025 06:42:03 +0100 Message-ID: <20251028054238.14949-28-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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: 1761631354568158500 Re-use arm_is_psci_call() instead of open-coding it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 26bafee259e..a3bb71e63b9 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1934,7 +1934,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) break; case EC_AA64_HVC: cpu_synchronize_state(cpu); - if (arm_cpu->psci_conduit =3D=3D QEMU_PSCI_CONDUIT_HVC) { + if (arm_is_psci_call(arm_cpu, EXCP_HVC)) { if (!hvf_handle_psci_call(cpu)) { trace_hvf_unknown_hvc(env->pc, env->xregs[0]); /* SMCCC 1.3 section 5.2 says every unknown SMCCC call ret= urns -1 */ @@ -1947,7 +1947,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) break; case EC_AA64_SMC: cpu_synchronize_state(cpu); - if (arm_cpu->psci_conduit =3D=3D QEMU_PSCI_CONDUIT_SMC) { + if (arm_is_psci_call(arm_cpu, EXCP_SMC)) { advance_pc =3D true; =20 if (!hvf_handle_psci_call(cpu)) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631378; cv=none; d=zohomail.com; s=zohoarc; b=W8+OQ73+4je3Xt5hehP6iRnKpIlQpJe9ajRrp5ktlAeNWZpcCk1fBUxg3mD4OirUl1JL4VVs6Ua5YZ7UG3r8Xizf2VUPecMWO7bYCCyhS0onFv+aMOqIR4ltpXeul0Q/R7TMwdzMYtDoqnZpI2n5VWGAN4NdrgxKh3o7jscZXPg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631378; 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=HxYM4u3dYFgXtTituwGbMoaQJ7IaJZc35NgLj0t32r4=; b=VulAiD1KBow0d0dSrloH+Gj/VoQICFxetMPSE+PQ6+cWLqxsvPOnwAso19NZ4L9+vKx51xVRTvGNMkycynNIEoyrTJuMTOSrfA7QarjI5llAZLQVo0v0o416GnXzyx0Ql2jAyzpXCQdybi4ESll6x8i8KJYzBNhOojs1t6QgB0M= 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 1761631378876105.9365352394401; Mon, 27 Oct 2025 23:02:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcnA-0003JL-6i; Tue, 28 Oct 2025 02:02: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 1vDcn5-0003Cz-Oj for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:02:43 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcn3-0005fD-Id for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:02:43 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3ee15b5435bso4077677f8f.0 for ; Mon, 27 Oct 2025 23:02:40 -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-429952cb55asm18305284f8f.17.2025.10.27.23.02.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631358; x=1762236158; 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=HxYM4u3dYFgXtTituwGbMoaQJ7IaJZc35NgLj0t32r4=; b=PDDGQy4/UZztCcX7moDM78ef6Uuvxh+PJ/eXiDNkH169IEdu+C5ZWqNpS39YFN0XhS DmnO8OI4KH6gc4ELIl18nCJs5WiSAOimUpEHVPMQZ1fe/6VUoVdqUSmCCGZlsvFZoZcB pTQ8BSitTnP+3JVITz10sjYc2cE5lAUHMiGUGT0JCHNXS+Viz+nri/JA8a1v1QAXKo1r PR6w/YF+8TjaE0n5RjUt6maEcqOE5Ar0Q9YT+Azc+Leubhaw/7eONCCzPfvnwWU3lYp2 +HIknwf4YDZUMIUou0F6z6oThe/ANpmvwYwz1gDGdvLxbj64N4qIDBOth7yaMPkY9+/4 p3ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631358; x=1762236158; 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=HxYM4u3dYFgXtTituwGbMoaQJ7IaJZc35NgLj0t32r4=; b=NNuwBQc0su7xSzzveI/bmTJm+6OD1d9WLgGBBGgYXJ/3Zu2eLheWJew6QGzcdOi2um nQECDcQBgskLmbTEHywqAvyYX1ral4q8A+GN1V2Oy/KTPh3cI0MDW1iJLAOW28wyK2Wo I/cQt327KQjiZqGmNXBuYVBnlyodKd8DMop8MFElOHyTkNBuCQvmZhxNCdtZF3i9aooz urBESIRgvX2kpdiD/Nj5OVb6U/lmqVEIMuGtBXVn0wopRdO4QYLYchTGpnCoXbMm0wJg K44hm80xl9KjGQcduRBhlVo1yjaHEBePNNDEag20OeF1s8/Rz9Hm0hPs6Y0UsFOCruzW NgOw== X-Gm-Message-State: AOJu0YzsIF5bTAJE7BaAX837MZl02Qll0wNtUT1TLgT289CiklOcvnyp WvxBAUBQDnGK+FNrVGde50wHbdvwNjiIg4QRquXKSm7z4FpbZ+3cPrM4fEzMSdBcyvx9OPI4mlw LCeCzHLg= X-Gm-Gg: ASbGncsMFFFiEYvi5EQfXjKeBwMQWLsd69Bd+VsD5IG7NXwXlmkG+GrvHMYwMa+TH7J 1ticdEQbT5Ihhz35MTAwtCKVqI3YXdW/hbrV9Fdd4axiwsMPXm7QxaFjTqKgH/rMQwk6OxN0ZQj 8IIZE1QYDDT73hjgy5qN5XUwORJZjvHHWv/wVlirVXP/kKhNptxJ7Zqd7qub8FZU1fK33sfvnA6 6hni/WmdX/Hca3xYO/sxb76Vfn8jJa0Kg3UIG5fciXH8PWRm1mO5PjXvdPKPL4Z6QAU4uLZECMA hnG2NP0XL3rZr3n8Ui/PUNK50DlwM8EJQLLFaDXZ6YHk8ns/JZ7+SDB2Ho6nknSjFTi2n5x1eP8 e5b9m5ZYTeownzu//5TP2oCwx56kfvpZwG5m3XAG2hL5PmviwMbYgKVlBni8SbDEjoGITkRT+ZP HB0nDKzgBfcNnPg6h0aLAudr+/pfYE7hua4tW0ovq2FbxMeZFB+WtlZ0Y= X-Google-Smtp-Source: AGHT+IHbRvYiKx9tn6WuwU4E2OJ5IIlqD6krLj9AFlgNx6ARYvSvP/g/equMOrbkdaV9m9wO6UZ8pA== X-Received: by 2002:a05:6000:718:b0:429:a7f1:bdf4 with SMTP id ffacd0b85a97d-429a7f1bf3emr1801823f8f.26.1761631358406; Mon, 27 Oct 2025 23:02:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 28/59] target/arm: Share ARM_PSCI_CALL trace event between TCG and HVF Date: Tue, 28 Oct 2025 06:42:04 +0100 Message-ID: <20251028054238.14949-29-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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: 1761631381260154100 It is useful to compare PSCI calls of the same guest running under TCG or HVF. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 3 ++- target/arm/tcg/psci.c | 3 +++ target/arm/trace-events | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index a3bb71e63b9..f31b6e54ee7 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -34,6 +34,7 @@ #include "target/arm/internals.h" #include "target/arm/multiprocessing.h" #include "target/arm/gtimer.h" +#include "target/arm/trace.h" #include "trace.h" #include "migration/vmstate.h" =20 @@ -1025,7 +1026,7 @@ static bool hvf_handle_psci_call(CPUState *cpu) int target_el =3D 1; int32_t ret =3D 0; =20 - trace_hvf_psci_call(param[0], param[1], param[2], param[3], + trace_arm_psci_call(param[0], param[1], param[2], param[3], arm_cpu_mp_affinity(arm_cpu)); =20 switch (param[0]) { diff --git a/target/arm/tcg/psci.c b/target/arm/tcg/psci.c index cabed43e8a8..2d409301578 100644 --- a/target/arm/tcg/psci.c +++ b/target/arm/tcg/psci.c @@ -25,6 +25,7 @@ #include "internals.h" #include "arm-powerctl.h" #include "target/arm/multiprocessing.h" +#include "target/arm/trace.h" =20 bool arm_is_psci_call(ARMCPU *cpu, int excp_type) { @@ -79,6 +80,8 @@ void arm_handle_psci_call(ARMCPU *cpu) */ param[i] =3D is_a64(env) ? env->xregs[i] : env->regs[i]; } + trace_arm_psci_call(param[0], param[1], param[2], param[3], + arm_cpu_mp_affinity(cpu)); =20 if ((param[0] & QEMU_PSCI_0_2_64BIT) && !is_a64(env)) { ret =3D QEMU_PSCI_RET_NOT_SUPPORTED; diff --git a/target/arm/trace-events b/target/arm/trace-events index 72a2c7d0969..676d29fe516 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -23,3 +23,6 @@ arm_powerctl_set_cpu_on(uint64_t mp_aff, unsigned target_= el, const char *mode, u arm_powerctl_set_cpu_on_and_reset(uint64_t mp_aff) "cpu %" PRIu64 arm_powerctl_set_cpu_off(uint64_t mp_aff) "cpu %" PRIu64 arm_powerctl_reset_cpu(uint64_t mp_aff) "cpu %" PRIu64 + +# tcg/psci.c and hvf/hvf.c +arm_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3, uint32_t= cpuid) "PSCI Call x0=3D0x%016"PRIx64" x1=3D0x%016"PRIx64" x2=3D0x%016"PRIx= 64" x3=3D0x%016"PRIx64" cpuid=3D0x%x" --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631429; cv=none; d=zohomail.com; s=zohoarc; b=W2mjYTafZ4Hvsay1k54SuON5z2lwTPgSOoZ4T7vzWPZ9hIGIig6ciO/JaSSWvSIDY8XDf6z3CoprkS9XwDb7rLaBnr6J50N+uOrCM/Dtq8pTapXO5rSs8HKHLDUztqtqKj2jspqYH2gPCyLOdhx0QE8vwZxYhtaJyV7uJPfIrG8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631429; 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=Ll6Tf0Ct69En0jXlpNgHzxdgqKjfsdOoKFlniwfriwU=; b=KdDCs6/rPDdZhLeSEcx61xCQLkZOZ7VayoAA8fb52zkMlZxtOhujmUSwRlrk2Doie0eSIhu+BNCgyMflzgBWEZNC97n825c9rnXzRPbh5yBGuZI5LwEyZCgVWYomIldcbi9GMW3ezt0wnKSlOJooek21pATCpCpnGa0t31hmgL0= 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 1761631429562610.4937390088313; Mon, 27 Oct 2025 23:03:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcnx-0003s3-TF; Tue, 28 Oct 2025 02:03:40 -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 1vDcnn-0003pJ-8M for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:03:27 -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 1vDcnk-0005hc-1f for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:03:26 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-47118259fd8so41815725e9.3 for ; Mon, 27 Oct 2025 23:03: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 ffacd0b85a97d-429952df62dsm19804790f8f.45.2025.10.27.23.03.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631402; x=1762236202; 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=Ll6Tf0Ct69En0jXlpNgHzxdgqKjfsdOoKFlniwfriwU=; b=dXbMPZ5k2ODr/W6OEGcFOJGQVtd1OWneggkR833RzJoHOIMCtOULso4jiCoR8GaeXQ du3zlbFdr8vOcmHNhMSCobsMX3Wm9HQ34BLPV3F0cwWo21oMAqQxpZuHB17Hg8OewE0n ix++qIwNILg9wsMrgLyv1vBEdY7rd6EX5/pPJ6X7aNYY6tsKitvrJVtZ72c4vxr2RAzf jkjHo7HpJ1wv6vYsGAsQg3EsLIJzVHQbB5NYLYRHr9iqGMdwHeaXVjT0ivima1qMZp99 0DjYfjE+jn2FMsECAMFjkZrQzQBp8pkFMVzP5nxfDe96dZyL7pRyAIE2twBu4yZEBSYZ OSBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631402; x=1762236202; 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=Ll6Tf0Ct69En0jXlpNgHzxdgqKjfsdOoKFlniwfriwU=; b=GjlkS7VokKIbTee4JN1nvlD+uCAo5c9NUZe3rIYvQCvcHRDSLcdIKvFkB+QRQ+iwwN HEWIxDgS/urRbiFiW4OLTC7h3uISsjOzd0LLhwFbOemI7h+4rOzLJ48p9zyLz60ykmeM l3WASNFxxwvdkjs7eAqt+rvEt0rwLzwVeq/dL1beLgP2Z3zmzBVU1wKiaNQDKInAjpI3 oFcQTv0gDF1gUiNgojwlZhZPG/scqsADVfQsk7hgV2xKECmvK9lD6Oz47mLzsGjO7gPI /gERWdChU/86LLXHAJYzmksFw7seTKVw4EGf+WsmPSxrTAHX/ZhpJwU5q6NZkiRe3vDm B9+A== X-Gm-Message-State: AOJu0YwQQITFk30zZI49jQ2J6UhkzHiqGskT5fODUfMHappNN5KQfmMj TTcnJSNN4QsJm+LsVmCrCnNiv2B3EiWqAT0kvR1I0BqIiO5YHLsNuzvp5f85kUEJxaO9hwe2Ieh 8vHuzwPw= X-Gm-Gg: ASbGncvdMnIzweB0oBCfnCEYnC+p8/3g8uD+O5m6DTBAqZaOiJTC4r6xRlC5aqizxj/ 2+1JBbX/z0GZLmZ3OsxoOEAJHAXcu8d6Suo8BH95hCkHY1Urg/Mf5YERUUhLV4APrupI55bHUqG sy+uLv3pUfzd6anis5FMcp/Ywx48sBWc68xEKq6As69F1iuNo8dVevz1T1ra9YJBUg6tkIrjOps CVNt1B1zHbtwVP6Tr51MkV1jCdcPjXLh6QjHSkDdhuFEUjffUeRNKEPlK2Vy2AEx6sJO0Avx6gh O3FpkO9uPTKrlc90Gy3duMjdjT/4VPFSO+em/bKFRgBiEiDJ2Fe6W7oVPG5LSp/uFd+xWIUqQi+ //FA5vQb0agR0AjdpoyT3Ux9esMQLQ/avkbiiq/Qn0QmC+LSkqsWxiTwO4m/Y38+OepqpYES1Da mHUBQ4QlsIJFch0ch3JEJ+eFka5IRHN/MZuvpgT0B4LM1a56UsOPTkGpU= X-Google-Smtp-Source: AGHT+IGAMsXwptan82HAuhng40vI14uZK7lXnZWO7NrVQgMpYfQLMhTUt44fnTq6xVkq8eQ8fsWA/g== X-Received: by 2002:a05:600c:83c3:b0:475:de68:3c30 with SMTP id 5b1f17b1804b1-47717dfaa4bmr13964525e9.16.1761631401853; Mon, 27 Oct 2025 23:03:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 29/59] target/arm/hvf/hvf: Document $pc adjustment in HVF & SMC Date: Tue, 28 Oct 2025 06:42:05 +0100 Message-ID: <20251028054238.14949-30-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631431759154100 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index f31b6e54ee7..805fe75e6b1 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1936,6 +1936,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) case EC_AA64_HVC: cpu_synchronize_state(cpu); if (arm_is_psci_call(arm_cpu, EXCP_HVC)) { + /* Do NOT advance $pc for HVC */ if (!hvf_handle_psci_call(cpu)) { trace_hvf_unknown_hvc(env->pc, env->xregs[0]); /* SMCCC 1.3 section 5.2 says every unknown SMCCC call ret= urns -1 */ @@ -1949,6 +1950,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) case EC_AA64_SMC: cpu_synchronize_state(cpu); if (arm_is_psci_call(arm_cpu, EXCP_SMC)) { + /* Secure Monitor Call exception, we need to advance $pc */ advance_pc =3D true; =20 if (!hvf_handle_psci_call(cpu)) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631472; cv=none; d=zohomail.com; s=zohoarc; b=TgleiIFPC4p+Rf3Byxss4UgQNoR5RQnVbl68/kzhsFIbCT8u5mNMX/CdadiOlNeLhvsc6phK2l0ca7iAfIE4zIppURZqEm6EqZbms8K04Dwld5lzGYGihCxS9iuphobjGfL49Gib9CBa6P8gnkodtKBBEr4Gs0anWov00BgsCEA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631472; 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=Xn1hBfvpsHSz1gYz2L9i4rhmWW2kN0qXymZ6HJBhx7M=; b=VAjq1pdoWU2UgdhqJRn1oGl/wQSyFncUUDsE/iyHCuEHoUTc5rShvrOIRlpN1+jF9It7XopTroRusSYWuOcCKmIpyocfIx2cQQHyxXYAZriVVBZGoy6VuHKYsJvU9m4+ILaFyWBsjhiDxDkGxQsap38AJuqt4d3I6lHxZnZ/x6s= 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 1761631472150541.3213181228881; Mon, 27 Oct 2025 23:04:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcoX-0004Ew-3V; Tue, 28 Oct 2025 02:04:13 -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 1vDcoV-0004Cj-5q for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:04:11 -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 1vDcoS-0005kR-VJ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:04:10 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3f2cf786abeso3197737f8f.3 for ; Mon, 27 Oct 2025 23:04:08 -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-429952d5678sm18089059f8f.22.2025.10.27.23.04.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:04:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631446; x=1762236246; 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=Xn1hBfvpsHSz1gYz2L9i4rhmWW2kN0qXymZ6HJBhx7M=; b=DwvhGkjXuFF7+TLPoxN730CdP0OSjB96gP3pkyoAuodVI4dfmCIE3kIoSiFMLU17fG E/jJKZ3eRMAxdbxyiYRewzl2ne6/q8qkXgbWfuO4Z+Nfjb35AG8YPCzz01cb8NFEmoxy C/xqK/bD9oiu2hQ6bkSYKU/8CQ6xqPUNjiORzmEf2+AqcWuchCv9m+mDjwof86hruSf1 bcrQbEy9gNXAWONs6dJciLpzXMEvn/vZJmqf+r791nJRQue2KO6N8CjLFjVxEqMatWZS zTimxPJJ3hxoShvBaoTW0doj+5McHKud2SeafnX53WLmT/FupRSq6z6kiflQTPszWFFa HHyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631446; x=1762236246; 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=Xn1hBfvpsHSz1gYz2L9i4rhmWW2kN0qXymZ6HJBhx7M=; b=SD5r0xxIqCw2DPN6h9FuUyCkWoA7809VAXO3umyn6/ty+LP4xCgaHbgv5JLYcP2Xtx FAXUyAoHqG/Qb+VI5lWgXRhsGgO7MFhH86wAv/TraVYtwAWKIQw8jAs8jcaMm7jk3XV6 B0j5bQB+QDn4+rqzQMiwtvt5R4r+l3HYFUvnniE0uggzbnQk5GuZ2X2C+oLAP1zJIZWL bzbk8T2U8Nrctp6Okj5as/K9ch//Ny1jtA8IsKHB0F78nv5hjtd5pLjIsMw4JJW8AsZj AAwleSYxJreegZrpVvh8R7WjaO1fbvtLkzBUQqEi6WZbWQwizGFHywgwNa4+tmIyJfcQ 2jmw== X-Gm-Message-State: AOJu0Yzh2AKasI1JZOh+FwbVBEMMjOzpUJXSvMnz1WddioZ3SBqcTqPg fM1UGnMfHGZacqYWVUG3DldDTLqAQBB4HEBsKZ7xhhUlaLW44X730/Shj+EEcyQY9O9bBrpYrFN NClB7Q1o= X-Gm-Gg: ASbGncsQW99T/dJe1CrnW998EFHICCOHu4p1GXmf7nXKA4WvAWY6Bp0yvCMJUJ2ydIF Lh2Q0/xAxNPaA3w1FZ2WvhcENpZoEhy3+mFjKhg7dTlEHpGlGn/6bvKj9yauhVV7mpJUK7aZrDb 1qU+ndDD8qi2pPjJn8GTIi5wW89ojnd81CCkBAC709LmHoy3Myg2mSbeJJkP8VkgLKsqtfZSH53 g1wygxq1XuAp9hsi3Vf2TFoXL/q2J1WHUbEl31Pa6XJ9s01SYeNh/zzkqlNjjn6mITKGpWJcPe2 j3q9VkSz2+nZmW1jPt7c1Qj4voz9yhugz7GEQyjZ4sN8yQjmLcbQASKc6342kxeZtKTJYMxim05 HYvG7dTgNBlQ3Ye60oV4ztA38qsE1hVQSLqODPhDi5i9sX8js4JwHuNKC5LUJgPs+xRmHTbKi6D Dt3qKCQZOlIlRoz6y3WZ0PminpV0YCFoxFM55twTuuKjVeDlTFmWOKh/Y= X-Google-Smtp-Source: AGHT+IFOk/Fv4mLKlzE/tHV2k7ujL4eD6BoTdajwOCc2as4saYM/Jjgd+oVbiA5xEqHNioY5AT6b6Q== X-Received: by 2002:a05:6000:1a87:b0:425:7c32:d969 with SMTP id ffacd0b85a97d-429a7e52f3cmr2003885f8f.5.1761631446405; Mon, 27 Oct 2025 23:04:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 30/59] accel/hvf: Trace prefetch abort Date: Tue, 28 Oct 2025 06:42:06 +0100 Message-ID: <20251028054238.14949-31-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631474345154100 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 11 +++++++++++ target/arm/hvf/trace-events | 1 + 2 files changed, 12 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 805fe75e6b1..de1e8fb8a05 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1963,6 +1963,17 @@ static int hvf_handle_exception(CPUState *cpu, hv_vc= pu_exit_exception_t *excp) hvf_raise_exception(cpu, EXCP_UDEF, syn_uncategorized(), 1); } break; + case EC_INSNABORT: { + uint32_t set =3D (syndrome >> 12) & 3; + bool fnv =3D (syndrome >> 10) & 1; + bool ea =3D (syndrome >> 9) & 1; + bool s1ptw =3D (syndrome >> 7) & 1; + uint32_t ifsc =3D (syndrome >> 0) & 0x3f; + + trace_hvf_insn_abort(env->pc, set, fnv, ea, s1ptw, ifsc); + + /* fall through */ + } default: cpu_synchronize_state(cpu); trace_hvf_exit(syndrome, ec, env->pc); diff --git a/target/arm/hvf/trace-events b/target/arm/hvf/trace-events index 29387780e3f..b0d3d7bd322 100644 --- a/target/arm/hvf/trace-events +++ b/target/arm/hvf/trace-events @@ -3,6 +3,7 @@ hvf_unhandled_sysreg_write(uint64_t pc, uint32_t reg, uint3= 2_t op0, uint32_t op1 hvf_inject_fiq(void) "injecting FIQ" hvf_inject_irq(void) "injecting IRQ" hvf_data_abort(uint64_t va, uint64_t pa, bool isv, bool iswrite, bool s1pt= w, uint32_t len, uint32_t srt) "data abort: [va=3D0x%016"PRIx64" pa=3D0x%01= 6"PRIx64" isv=3D%d iswrite=3D%d s1ptw=3D%d len=3D%d srt=3D%d]" +hvf_insn_abort(uint64_t pc, uint32_t set, bool fnv, bool ea, bool s1ptw, u= int32_t ifsc) "insn abort: [pc=3D0x%"PRIx64" set=3D%d fnv=3D%d ea=3D%d s1pt= w=3D%d ifsc=3D%d]" hvf_sysreg_read(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, ui= nt32_t crm, uint32_t op2, uint64_t val) "sysreg read 0x%08x (op0=3D%d op1= =3D%d crn=3D%d crm=3D%d op2=3D%d) =3D 0x%016"PRIx64 hvf_sysreg_write(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, u= int32_t crm, uint32_t op2, uint64_t val) "sysreg write 0x%08x (op0=3D%d op1= =3D%d crn=3D%d crm=3D%d op2=3D%d, val=3D0x%016"PRIx64")" hvf_unknown_hvc(uint64_t pc, uint64_t x0) "pc=3D0x%"PRIx64" unknown HVC! 0= x%016"PRIx64 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631529; cv=none; d=zohomail.com; s=zohoarc; b=YSaTlei+GYeEpAxG6WDH9PMDKKRNNsnOe0g7PkPTurFBlxA6CPb2vE+HXcDZ13lZwyJBLuS40NjdBhMKMGwFp6cxfWsiPz8G+ttCJUoCi58jULS3zS7F1OqVhoLCOPAqEw0Jj2CZOTGCZrQNjI/QaC2rB2nvDqXmE3vQvQoqsTs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631529; 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=5rAlH1/lu+rh7awee2lje3uE1FvJDSXtcSFDkovTFo0=; b=Twz0Fjhz8NczA4ucX3LcjN9i6mqyM9x7a2c7AKQRln1FxgOy4y2xQki4D6zEdGu96NGLoB5dNDyc+7PI/hxrq3i8wxA1c4wbJaRl96SXKAa3KdohW5lZRBmcQPmU2by2s0EAiKNUI0V8+deAZMZEVibt895Cryos4KvIrROSbsQ= 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 1761631529216275.80534968804704; Mon, 27 Oct 2025 23:05:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcpV-00053T-4M; Tue, 28 Oct 2025 02:05:13 -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 1vDcpC-0004zj-AA for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:04:55 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcp9-0005n9-Tn for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:04:53 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-421851bcb25so3375441f8f.2 for ; Mon, 27 Oct 2025 23:04: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 ffacd0b85a97d-429952db80fsm17842412f8f.31.2025.10.27.23.04.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631490; x=1762236290; 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=5rAlH1/lu+rh7awee2lje3uE1FvJDSXtcSFDkovTFo0=; b=Ey/HZHUlloaZ/2+tZX7OQk9yvqOv4MQ3aukkEh84FqpBVvtLCRNrjJG21aCs8b8S6n f9w5MH5vAaBQSt0ISRdam0GqqKcnmBUwXcwV5QwopJ+WITSIPLvLR/w1RLY0VRBwQcNg fAtCrFtRLl5juTYzLQ2QXM36pPbfsro7Mb8fWKt0o8f77/5J95KNPdtWU6E7c3lHhyOa qJOcOlbjT8rKcQqizPb5i+yTZ3HS0pWGgmD2KbBxDUwTpmf8qbaX/qxZldAgygpGteRZ XBjxBGAM0E3MCGrlwtvCfvHisZHuPxXuVQBsNZuYTMEF49ByxZyzlynzw4ly/OCRSwrZ VU9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631490; x=1762236290; 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=5rAlH1/lu+rh7awee2lje3uE1FvJDSXtcSFDkovTFo0=; b=kzUn2xQoMvUI1AE6OARMTcKnynalNsXkbB7ye/2DDWoAXdrNRz38OQZPDAh4JUxGPS f42AraaXYvSqDzWr3GQkcdW/aZ09+FQsGg1UJK5CxZFOYnM5ZWYa1aigNA4hkAl8aJ/9 s4GTn5MIwj190Jr3cnYH/t1Drnj6A60f5GI+0iSeewi7WFTWVCddXqxvOaVlaa2dvsmA GhwRo4DM+SAgUXGeLa20+AumgNwnrpHFBLh7bga5SqByx8qH5tbXDoQXbKoGGS4BokH6 NH+mGq9hNuX9CNs6GYjKAkbDCO7Dy/XvkJK2rMzzpfHLdZ8Ttb+ET/aUyNKio/RVP1fA utrA== X-Gm-Message-State: AOJu0YyDJDvi97fDvZ2v4zEyJv8Jtq7h9+tnSZxXD1ho095UrxPabICr kglPFyPfwFT/RPf9EJmVqsmFGU2Re9PeBFfNeWZe5AZD5RjbtI0ldsfGnJbp4bwpGTGpXg3LrKD x5MpjDd8= X-Gm-Gg: ASbGnctvf62uY7t99IzxpXA+gEQDQQCqqbBQd8jG6rJHWbSJUVUR10unN0eKlTA/+eu 6byojie9i9s54N/uXzmL8H+AFe1Q0suNV+H+XyMk+4dp8kDPbus+G8VZKVP6SWVNnk7/s0UYOi0 G8kOURQewCFa2AhHahM8fAIcyJpx0Tp01bXxLcRChH4ujvwQDCEN6ZRbimikCyO7UYsvU83Y2wK aZRDZKBgZvSb5tqwDIFUEAK20J9URe6Lsvwl/ZfCnGkee1hPdOO3C+ng6oDb1J43mHd2xfu3nYd hEiXFiI+ut/BZl7AeCDKVKSO20KKWA6PA1qTUJXDvlVUIOHeZMKZ+c7Uakwi9nV84zfmhRh5NRq puk9pYFkqPUh/ruGxS4eKn9ZdAmNnvYQvCae6jRRJq7kr9+W3rORU3UAXzOEjs0vfhk7oD9MfxV 0NicQmOhNgtJdncE1U/5X0EDw5gR34Sfa/GggA+s8CjvnJ3vHn+m0oATVU5CY/nVoygA== X-Google-Smtp-Source: AGHT+IG8zkd+TJv5KiWfrzhXB6ZTjqoPB1XyO0nMC8KbMR1x7q52BJzIfXG/0i5W8BVCYWo1X+isoQ== X-Received: by 2002:a05:6000:430a:b0:425:75c6:7125 with SMTP id ffacd0b85a97d-429a7e59dd4mr1695553f8f.16.1761631489856; Mon, 27 Oct 2025 23:04:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 31/59] accel/hvf: Create hvf_protect_clean_range, hvf_unprotect_dirty_range Date: Tue, 28 Oct 2025 06:42:07 +0100 Message-ID: <20251028054238.14949-32-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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: 1761631534942158500 From: Richard Henderson Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/system/hvf_int.h | 3 +++ accel/hvf/hvf-all.c | 25 +++++++++++++++++++++++++ accel/hvf/trace-events | 1 + 3 files changed, 29 insertions(+) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 3d2be4092ef..5a57691885f 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -89,6 +89,9 @@ int hvf_arch_get_registers(CPUState *); /* Must be called by the owning thread */ void hvf_arch_update_guest_debug(CPUState *cpu); =20 +void hvf_protect_clean_range(hwaddr addr, size_t size); +void hvf_unprotect_dirty_range(hwaddr addr, size_t size); + struct hvf_sw_breakpoint { vaddr pc; vaddr saved_insn; diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 0a4b498e836..e13abddbd9c 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -58,6 +58,31 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *fil= e, unsigned int line, abort(); } =20 +static void do_hv_vm_protect(hwaddr start, size_t size, + hv_memory_flags_t flags) +{ + hv_return_t ret; + + trace_hvf_vm_protect(start, size, flags, + flags & HV_MEMORY_READ ? 'R' : '-', + flags & HV_MEMORY_WRITE ? 'W' : '-', + flags & HV_MEMORY_EXEC ? 'X' : '-'); + + ret =3D hv_vm_protect(start, size, flags); + assert_hvf_ok(ret); +} + +void hvf_protect_clean_range(hwaddr addr, size_t size) +{ + do_hv_vm_protect(addr, size, HV_MEMORY_READ | HV_MEMORY_EXEC); +} + +void hvf_unprotect_dirty_range(hwaddr addr, size_t size) +{ + do_hv_vm_protect(addr, size, + HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); +} + static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) { struct mac_slot *macslot; diff --git a/accel/hvf/trace-events b/accel/hvf/trace-events index 2fd3e127c74..f989da59492 100644 --- a/accel/hvf/trace-events +++ b/accel/hvf/trace-events @@ -5,3 +5,4 @@ # hvf-accel-ops.c hvf_vm_map(uint64_t paddr, uint64_t size, void *vaddr, uint8_t flags, cons= t char r, const char w, const char e) "paddr:0x%016"PRIx64" size:0x%08"PRIx= 64" vaddr:%p flags:0x%02x/%c%c%c" hvf_vm_unmap(uint64_t paddr, uint64_t size) "paddr:0x%016"PRIx64" size:0x%= 08"PRIx64 +hvf_vm_protect(uint64_t paddr, size_t size, uint8_t flags, const char r, c= onst char w, const char e) "paddr:0x%016"PRIx64" size:0x%08zx flags:0x%02x/= %c%c%c" --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631557; cv=none; d=zohomail.com; s=zohoarc; b=SIek7C2cxu9vOMgGo34b93/d04P+Xl8oWE1sXDlqkheu+wciDG/xBmit0vBP/yvvimepZ96xFEGOv7ugxMo/zzNK18hmrqW7uLN/Iw44tw87Aw4TUL3zZ3DSy1jzSFCMUmqE6Ah7ggQKjvHnqipqubPKApG3re2YN36WXgvo9gU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631557; 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=u01SXPrt2hQxgDjr6x7tak/H302DLDxCgjKNSxGjajI=; b=fjmikBlu8zPtDkFTLznQ4OPxri/w9N5GC9jXKWedyCLRE+n77DI75xdqWIsNK3TpJhqTAZ8XU++lEXu/LCUSE0XOBzLnV2Kx9GNt5+73EbMvLzteknPoZ7O118tP1kYmWB5CmDPim4aGF9VP/1iFJVnjFXbsrvNxnDi/JMbS800= 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 1761631557236201.5552363077985; Mon, 27 Oct 2025 23:05:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcpz-0005cl-QX; Tue, 28 Oct 2025 02:05:43 -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 1vDcpx-0005cK-Kc for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:05:41 -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 1vDcpq-00060d-NS for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:05:41 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-475dd559a83so16459025e9.1 for ; Mon, 27 Oct 2025 23:05:34 -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-475dd4a36easm176283575e9.10.2025.10.27.23.05.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:05:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631532; x=1762236332; 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=u01SXPrt2hQxgDjr6x7tak/H302DLDxCgjKNSxGjajI=; b=rmj5CO70enHCYANb+RlJSdoRJ+pWROssyODfqeq726yx3V7/YrKDmuO/hwtgVWxFuD jTNBmjuOLHuhAA0hFqQfNm59zB7dBrR0/NGG3L+WENm/CPJAUlPiOtaW0tIiUDtSwkrA NRhhIfqan2LkFuXkFE0yzex0lxD0S2iy/lEQ54z6+OD/W/w4H2N0TrkWZJ2Qck2HmJGo BkcW08QySdImvBDvu+/EEsC1KmpMX8NXZ/+1LFXM6tUEHDhcj6gNuFHSIIzazxBXI5Oh cfHT1gREKECJPDYVZgvQqwlObXR41dSedb5KnpkLf2nRtBtPLxtvWblCHx/Zg5zdV2W0 Bnjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631532; x=1762236332; 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=u01SXPrt2hQxgDjr6x7tak/H302DLDxCgjKNSxGjajI=; b=rbiVwYDzUkhUyDhQcX8/C50ZEs0CpljcqJ4vXZsINCAXfEEy3mcxkpxuA8YzRZ7uSH sPto4fI+qg++EcZNh2xxOxsXs4b6ca4o2MaVObYs4BA3vLmfSiFpLk6Ogc5BImqzH24c B/os7u+ST8tlK8lohsibNAZwNZCRHK+ykCuUHod6l0udzmSE06NQka5wS9ukcnTp0RZI GpyrLat2XTA4Kz2fRJR8Pzyc8AjSWuCNPLZQPZCw/NV7FLOVrurhq+xoosUb+nZ6Z9RK U79pZTKVlleUKIbwQhsGLC4opW8jKXhq53o92YZ/PUk6VYlSI2ih8TZo4B4ZtHgdVMA5 n52w== X-Gm-Message-State: AOJu0YxIzw7/4+5m66GnXYiTZUFTCRuubW395V+9cU3b5v3veM6lhl8q 9HSjsRumZbIVOOS9cKdL8Q9vGrbada7bD+QnYdz4HgXyOP0zZNG5NIo4sotKhNughomJ0xixxF7 leJRt9rA= X-Gm-Gg: ASbGncv+YQw7bFsQ1vJZAdn/aJ2LrOc46INWGJET6uO0EV1LUC4QcImjLv3HgQfnDDP DniPVJ7sySx2kIOwV2W8ihoz5NxjxnhSPx4hsV0tN3fYf5AHUyabQd6oAgbIbtg8QXvByE62Wrf kEaNvGl0vQRRx4T3vlKBzFdwknGaSwx3tCiNPRFIs5gKHyqqZOBwa+aC5vOzZw2mRR55Xxvrssr nq1QA5rUJWMcg8JYW6SHOzJhZiz0i5JfoXQmBI8hWbetFIZPMvIrqAhpkmZFn+tyJvu7xrGPYPL tGTL49kQFdYWhIwHKHhpUs3LSqP/fujcbJkDnbibZZ5+ELrjaYQvR1Ql9FinveusSDjnwp6QPM5 yAfGKFrsqpLlCdxN0ktKkzFOQqFPneqz/dTvo6cTIU1rbpzfYNv+z3cHv3PDENDoayhTQO6BX5v 6FRQQ6jN6mQomlmIpRtit91QkZK8IWOELKh/3n7g5fahNyfPqrtuuJW1w= X-Google-Smtp-Source: AGHT+IElUdgpJKS1wXmIR4e0GvIkBEyBFHPFH5IGkjUeOidzhx982Lw8IQRJYjz3R73P7ubrcWtvgw== X-Received: by 2002:a05:600c:4e12:b0:46e:1fc2:f9ac with SMTP id 5b1f17b1804b1-47717dfe76dmr13631825e9.10.1761631532255; Mon, 27 Oct 2025 23:05:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 32/59] accel/hvf: Enforce host alignment in hv_vm_protect() Date: Tue, 28 Oct 2025 06:42:08 +0100 Message-ID: <20251028054238.14949-33-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631559657154100 hv_vm_protect() arguments must be aligned to host page. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson --- accel/hvf/hvf-all.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index e13abddbd9c..2efecdc9f40 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -11,6 +11,7 @@ #include "qemu/osdep.h" #include "qemu/error-report.h" #include "accel/accel-ops.h" +#include "exec/cpu-common.h" #include "system/address-spaces.h" #include "system/memory.h" #include "system/hvf.h" @@ -67,6 +68,8 @@ static void do_hv_vm_protect(hwaddr start, size_t size, flags & HV_MEMORY_READ ? 'R' : '-', flags & HV_MEMORY_WRITE ? 'W' : '-', flags & HV_MEMORY_EXEC ? 'X' : '-'); + g_assert(!((uintptr_t)start & ~qemu_real_host_page_mask())); + g_assert(!(size & ~qemu_real_host_page_mask())); =20 ret =3D hv_vm_protect(start, size, flags); assert_hvf_ok(ret); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631604; cv=none; d=zohomail.com; s=zohoarc; b=lhBDQtbZKCGO2fDTgIq6YsSf6Olv7rLO1R7okz/tJSFO0KrSzM2WMuu2STkkyvlP00wvvN1i2+jzG9pWlvo35rXnIQDfcyHuTccertmk9ruCcLJEepZs0G5qKnMZQ3oYhGrwmIVs8IoEvL7Fz6dj6mDc9bbJEpfSD/xqnX1dOcw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631604; 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=00VoYdC8InBsegxgwoexYjYht16HaFBR+CXcPMHb2Dg=; b=hGOqL29ephd+1tm4O+RRS+FG/FDQTK4L8rWLML0Rw21VruIPI8Hp4dLMI6QA9TPpk/zs8xKsdDALwbFvCeIEMXUvo00PxfkS151n5FL3Z5+SHyLYgIkbtPAVZPTAo6m+2bTTJ/9XDYrI4eVKBJiRCMH5PjHZlx7RRYdxyyoiZLI= 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 1761631604949477.22759636649175; Mon, 27 Oct 2025 23:06:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcqg-00066B-8m; Tue, 28 Oct 2025 02:06: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 1vDcqc-00064v-Tg for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:06:23 -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 1vDcqY-00063h-6H for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:06:21 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4770c34ca8eso19389795e9.0 for ; Mon, 27 Oct 2025 23:06:16 -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-429952d5678sm18098843f8f.22.2025.10.27.23.06.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:06:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631575; x=1762236375; 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=00VoYdC8InBsegxgwoexYjYht16HaFBR+CXcPMHb2Dg=; b=z2KFfQiOam4XtzZqW9316dSt6oBV9/R20QEhEaq0ZJavEAv4eun8owDXxBxq3B1oro TQ8H0Kj+4fZNqgfs5nJmiimnrhPfQz3F8bgb19Y3FGIkE0KUx0CtLEvq3X/8D0KPSyM0 dP61GHfKM0lOHPOHmLR13sUIfHrmwEbRE+RD29OnDgM/E9ofs9ud/lSZhCrJ/dFA20X9 OH2vCSyRiDmP8GS8USHwW2+1lyvevGXJNqDUTTlswCbj6MPFyhssRVMfds9cER2CFFCV 2CHboe5vTiznJ95uKqgcX07CwHNhf9DCVRqfdypALB/YVzjkUZ3Innd5FyeKAeGKPiKm 9B3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631575; x=1762236375; 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=00VoYdC8InBsegxgwoexYjYht16HaFBR+CXcPMHb2Dg=; b=nQXKeK4sCxsQ8d5WGjsvRI2f+aLtj9RXJJK4QJQG/oYBmNuyVoKkcxQERI0/WD2qpZ JlWuGeci/vfum8m++a/nZIAK10CbrKrhSWN12/CNNfJVo1Cn4cdqzJE1k9bIQySJQtES 0s4HdDO74hMo/vC+dKTTOFMpRapKKrcTMJSboC6wc/IMWhc7WIe1KhYs48RQxVkJ2+Sf MUb2nfMYRXd59ZIx6DSMtkJDEfPPEyBAbAKMcG0Z5QhNLLb339sf1+AVPn7VwqAca9N1 u394e9V5VOl+NmvsZN1PnCTMkfTgJikvQe5yVMIDdvwPhbeRaZZPZlpmNq8F7tZ++V2U kN8A== X-Gm-Message-State: AOJu0Yw7pSYl0ssiAQs9GZgbNLL/crvnH278Sn7SFUD26bPtlgvwX42M USJdUUXwhKewDY7MEFTymhBtII5dMRhAAqPmN2dhCwdJmGI33yfejkjx0aDPDizbXKn8xgqlRk7 Qs5JPmBg= X-Gm-Gg: ASbGncv80t0X23l0+KQR/Fr2iKkZcwRFXyLBIeUHiK0qS2AgS7Lp1YbO0EkNxpKOluD oReWRtBZoBE+c6QEmWADbyiAVXDAmbrwjr3RfzNcuwFAHdQzb8A+vgUkCw+6oFPGtXV9VySCDd3 Zk85XJ+tM0L5naMI/wuW7M1tLlXLachpRSNwrb9RaF4FKgOpycZRf3L8JuJd1DXCzLcYdfFVB6U 1DyVewsMUjUnKf+Qa1T/NTigjuGUCTMGqEhULCmq2QmmLNXk+lCedwYtHaxZM/fEZRtgpFXMY/0 6ANg5GLAfuj+t6GqhzALqxnyNsyrZpFra+9r9tJQLDexzE3ITwMoVPWa0a5tkRzNv07UyKftAY8 wSIT8Tp71E3qyWnRXzxZdRHUFyeev5rrPE7Szz9BLT957fezn9Qitc+7FpQ9cg5WR62oT9NowmW CypJ3x4o2JJqi78hDeP+kPetCQrFPHhSI7Iy8DKEmBAFZIB8xH3f3G5sw= X-Google-Smtp-Source: AGHT+IFJkB0BTUKzJ3G9O0QOasNRl83wrQ1f3eP0Qvm5iWg0pZrjqRykw9M69F2Fr0HkNzsz2v+wcA== X-Received: by 2002:a05:600c:45c5:b0:459:e398:ed89 with SMTP id 5b1f17b1804b1-47717df5366mr17887055e9.1.1761631574837; Mon, 27 Oct 2025 23:06:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 33/59] target/i386/hvf: Use host page alignment in ept_emulation_fault() Date: Tue, 28 Oct 2025 06:42:09 +0100 Message-ID: <20251028054238.14949-34-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631608077154100 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson --- target/i386/hvf/hvf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 16febbac48f..c0b2352b988 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -76,7 +76,7 @@ #include "qemu/main-loop.h" #include "qemu/accel.h" #include "target/i386/cpu.h" -#include "exec/target_page.h" +#include "exec/cpu-common.h" =20 static Error *invtsc_mig_blocker; =20 @@ -137,9 +137,9 @@ static bool ept_emulation_fault(hvf_slot *slot, uint64_= t gpa, uint64_t ept_qual) =20 if (write && slot) { if (slot->flags & HVF_SLOT_LOG) { - uint64_t dirty_page_start =3D gpa & ~(TARGET_PAGE_SIZE - 1u); + uint64_t dirty_page_start =3D gpa & qemu_real_host_page_mask(); memory_region_set_dirty(slot->region, gpa - slot->start, 1); - hv_vm_protect(dirty_page_start, TARGET_PAGE_SIZE, + hv_vm_protect(dirty_page_start, qemu_real_host_page_size(), HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXE= C); } } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631685; cv=none; d=zohomail.com; s=zohoarc; b=HFF+WTiZwWewOxh0gseqV2EYfekO9zV5PaE9bHHy/IpNQc0mRlNy0QZA4gxR/4ZxuYQ/G1GpUEzxFn5ldoDMAQtTKcFcwIxzO5SFZ0HmYbBCeUozvj9gTcVeapyGF3KC/jU20pvEtBpysBN8/M1pdfkOZaFRN2PEA/X8PYY+xsQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631685; 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=pXmt6X/td1himOahN7N73E8CiNP80Y12E2uGpdnzhOw=; b=Sx5sSme4bJ1aKgSyEyHI6NBclkg5AAo/XxA6frXhLhZNT8Yz0ZYctk5PhCOq23aKrl3mPOljvJDS6ncPfAcZqSzawSOdWCfsmL4R2GFwQ+OZf5XPCu7cRTmLryNL+xwRCnVpBU0yWClkFpuz1QSIiBeQxN9VpiQP9SJOKBfR4Vo= 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 1761631685212448.58374516692413; Mon, 27 Oct 2025 23:08:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcrd-0006Vq-1B; Tue, 28 Oct 2025 02:07: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 1vDcrH-0006TB-BB for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:07:06 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcrE-00065E-CR for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:07:02 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3ecdf2b1751so3805732f8f.0 for ; Mon, 27 Oct 2025 23:06:58 -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-429952df62dsm19823162f8f.45.2025.10.27.23.06.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631617; x=1762236417; 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=pXmt6X/td1himOahN7N73E8CiNP80Y12E2uGpdnzhOw=; b=G4OxxN4moIJ5k8L12ZQKH/Pwg0naNsf5H0m9N+zKfgsNha8peJXF9od9bbH/DMqAdv nz+QwpY7Q+Qa9ptkfHben1LpTH42XRadZUl13IH2d6kUYHvUkrMqjdIoAPeKrFi2Wqff YTcdQtcUvzhHFMxef2Hj7Bw4WYnd1lolihyBU/aMRMO5ssWOPylXIQUlbvTJKKTy0QQi fJxk0JOMH13maRiP7ZuaxI9IB6qRXZpR41o/iT5lI1GYnAqSXdRkYxifiUiaIs/0hmuY 4YPtPQ5Hn7cKDR6s1NFxdD54jat35qVGAFvH4A3tSR19KJJegymUgrYkQGkdD0en04Ts cPQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631617; x=1762236417; 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=pXmt6X/td1himOahN7N73E8CiNP80Y12E2uGpdnzhOw=; b=GxAMQQGzTYrM4Io57BLKHzZLD7/IexjmTOQeLWcCmQXhkQSbxD60C8G27jrTKlqjeV siaD4cDTQo6TAP7ZmKrY8iY7t19QC+sdn1lF5HhCZ+SvvilVA0Gqe3JEuZI7zbujeN0p /Ew/0hRAod4/emfDMkCdj+A8IS754c9OG5G9dcN1vGdSsHNZPsqS/m03LFkCJ361Ov+S 7/da1rAItc48HKiJpUN1O9RWppmn9E9K2ozfL559YVybH9+QM0WPUm6fF1csrhODvbnY HgNHT8nIjsOeEcQVwI1IDrJTQctStGgA7PF2LfcxnHLFhK40pnvG1TwfjQvvCS9/sEYb zP+A== X-Gm-Message-State: AOJu0Yww7+TohD8ShX1kztdOuM29uYZyr26uRiG0qvPljg2LEKgW/HiI l9/iMrP1p4znotZB1Emfzv9y50NsD/q8t8Mpnxuch8P8zugRR79aqK+QXuJDEZ28eKpFauaIMjS IqwHu3Ws= X-Gm-Gg: ASbGncttOOsYB27oKpgM9HEH7PF1GBbRTnAIz/Gmj5aV+XljvmcaxCFXPeGM0iC90Nv H15rxPSagGYEuEIpMral9NUDZs0i3ckOYSYos4mTfo/UZ3DbnBP5ctTXQc8XsSerfEjYVnlELBZ tgg0tTyyMaAHreeKK8tqvFt2RCwoTYcnBvyd1HW1pabpaoV6nHqdEp5wIPVj6yhcc4IiCrblRTx hbGNJBs2jZ3cPnUKubhPCbhhDAprsol4X/MqKghj6Gv0ZV30XBLZu8W7xjwt6bspy5cDh2qXCYE HGBUtiRT44Ok8z6IC6QSh5tLZOIEy28CFF5LtlPfInzah+BrTjYLf4870iJgdKXLozBrCgEWq6x /DFuu5PDrxivkgUBISwrYhIGcc2W/dCfSIrzB7yg80TC2msAHRpjIthVM+0g9vEPlYgPAngz0HS vZ6GGLZzOseq3oDLdoEJnuJEFwuRpgRGWkb5H/a4aOhB0atblv3W8/6ew= X-Google-Smtp-Source: AGHT+IFp9mUcbmznv1LTtiM6Z4VrDgd6GJxEj5LVZyzNLCOayKvGxIOptL5GROw70sDl8hlz+qNd4A== X-Received: by 2002:a5d:5c89:0:b0:405:8ef9:ee6e with SMTP id ffacd0b85a97d-429a7e59f6bmr1776652f8f.25.1761631617319; Mon, 27 Oct 2025 23:06:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 34/59] target/i386/hvf: Use hvf_unprotect_page Date: Tue, 28 Oct 2025 06:42:10 +0100 Message-ID: <20251028054238.14949-35-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: 1761631686484158500 From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/i386/hvf/hvf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index c0b2352b988..1e92e9b707b 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -139,8 +139,8 @@ static bool ept_emulation_fault(hvf_slot *slot, uint64_= t gpa, uint64_t ept_qual) if (slot->flags & HVF_SLOT_LOG) { uint64_t dirty_page_start =3D gpa & qemu_real_host_page_mask(); memory_region_set_dirty(slot->region, gpa - slot->start, 1); - hv_vm_protect(dirty_page_start, qemu_real_host_page_size(), - HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXE= C); + hvf_unprotect_dirty_range(dirty_page_start, + qemu_real_host_page_size()); } } =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631685; cv=none; d=zohomail.com; s=zohoarc; b=JLwL2o1HWiKKCKntwfE8E8Tbna/5mrYGtc5tYe3/k0yp6i/kCFGHaUBF9Epsbo4JDQRwiyTJJoP1mXDC7ve8t9elO172v2v9BmbDvzB5hbNgGlESJ45/Zqje51yVfpts+D/dAJpBtC4l3VmvriABaQtumtHv36TS5r0no8+ri/8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631685; 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=hsgMJlyY8TVXlqW6r595TkCwLDrrP0zYcTa4NqDCmPE=; b=bQ2+hGK/QaceVvODNeg0ItA9R4NDdNDlCtOcf1d0XHuAyJErolURHxYs7wPw/Xb437b4cBnEMNCWH1CE0qm63P0JwGVHiGACugN3ljdaCZIUZ7VbzF2/EUXYu3RZ0gkgdOQyGxn51f7G1XhVXvfaXg9kJ0YpQGDN0wYD6jns22E= 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 1761631685226711.269056726949; Mon, 27 Oct 2025 23:08:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcs4-0006nU-Qc; Tue, 28 Oct 2025 02:07: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 1vDcs0-0006ix-BL for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:07:48 -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 1vDcrv-00067u-0O for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:07:47 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-475dbc3c9efso21696335e9.0 for ; Mon, 27 Oct 2025 23:07:42 -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-429952da12dsm18532200f8f.29.2025.10.27.23.07.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:07:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631661; x=1762236461; 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=hsgMJlyY8TVXlqW6r595TkCwLDrrP0zYcTa4NqDCmPE=; b=R6hc3Lys9H7VY5Vc+EIwCAmL7yN3oHu30iJ54wCA/yCDFoCxIEqDvgfYtLFiBPyekE sfnMMdVq7wPGHNHX0Cs9b/V2+I4/4PMW/mSV36V+qSPYKjrsLSLXpK7ay5Qb/NOqErVS CtLQ+zppedXGmzniWftropsYCy3dOFV/vPL5p8j4bak3027G8pc8PTkxMqVfx7zndkCA GtDzLAy8DGsXVQDe2p6wBCLU/Gyuv//7S/gFQ+iVcyGRBR4C3ePQ7m55E7zh3Y0eSoZU GzWjrrQvwDC1s4J/G+tPhCiRBViY3AzrYHBz6XrE4oz03TvVofNH2aZxOx2bHj4nJDS2 DwtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631661; x=1762236461; 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=hsgMJlyY8TVXlqW6r595TkCwLDrrP0zYcTa4NqDCmPE=; b=VVc9oPwTyCygI3VpL882D6UKxbtVzXXxs6nzMY2J+xTZxOKR+j9MHtWL0fLTkc0BhX AIT6wWH1aW5qX8kMmfv0lAZg+fQV9BR+n/xBDTACZA0PFVtcNfJcYOVHXbFVWcUEvQDw vdUkv6hBNoV0DluDWOBetrLaDFNTd/i98Ukj6GP38gkSqplSQM4tdSqN+XRgxitlf6qC EeKGCOsaNYpCH9iy+/l6HWrVj5VyqEItcJyELHOxWX7bSxMs2q1nZIQIHr1j3QCPlP7F FTdHPHkmM/Bb/rWumpD9OAitIUG2kPFjkNs1qXzyY+zRc2jas/BQpYzGJqRrb5PRy2+J 2/pg== X-Gm-Message-State: AOJu0YyY0n841WSb+73H1HOKIBZTwBytYn9SEz7v6boie6NWFgYNUDPQ EtpvBJ48ABHfyWXf1I821xWg48DGTf4xro2wFvzBkcRZhEgyYVazc2ahuIX4rtezr21+jTeDiSZ 90ShuQ2A= X-Gm-Gg: ASbGncsvDTR9gYsjGUQQY+AHtTn2N3vP5oPngIyD2B1kGFKAs5UoW4QO0ErCyjf1xmy weu3zntvtAaLGOljYG1s+ho9hwIfJUUD38nkef5ZoVo5LvhI+ka0WBgHNLNIdNcD2/80SvjbWOj eqwLhCQgSuhjqBtyj8r4FV357gmqYa8jiyrJUmuG93rK9qVAnvoX0lK7twkZjq3e34VL94Ua9b2 jGoA9QGsLGIstsk5wkUQEb/JtDZ2k1OVqdmKyw++ZjSroZA7+9g8EMWBc0lL2yqCeRGSSGoX8Rj 8gyibrlCnnnjhJLLj9X1YfB3/U/YPku5GX0palyZ7ae4IYBk8Wr0HKBb1Rayh+XrXWeclyjiUnG TmWtYNPpwdo8u6oWTFQrzp89X6OKP2AISxzV2dSyusFBTTq2+cyE1epf0mV07j8bpRNU8Fsj8Z2 eGRWf0OP/ZutSSYx0g3EqgJyobLjnZUdw2WQ0B8e2U6KAY9/zixdCyx94= X-Google-Smtp-Source: AGHT+IGhl9TK/X6SnHE2Fq/7y/NKLCGxWqQwm7XWauEgZs0GNMncNbQDU2SW/v3QjzZKy30/+RE5YQ== X-Received: by 2002:a05:6000:2410:b0:426:ec63:18fc with SMTP id ffacd0b85a97d-429a7e59d99mr1792143f8f.20.1761631660980; Mon, 27 Oct 2025 23:07:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 35/59] target/i386/hvf: Use address_space_translate in ept_emulation_fault Date: Tue, 28 Oct 2025 06:42:11 +0100 Message-ID: <20251028054238.14949-36-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631688656158500 From: Richard Henderson The hvf_slot structure is a poor replacement for properly looking up a memory region in the address space. Use memory_region_get_dirty_log_mask instead of HVF_SLOT_LOG. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/i386/hvf/hvf.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 1e92e9b707b..b0c3fb97864 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -119,9 +119,12 @@ void hvf_handle_io(CPUState *env, uint16_t port, void = *buffer, } } =20 -static bool ept_emulation_fault(hvf_slot *slot, uint64_t gpa, uint64_t ept= _qual) +static bool ept_emulation_fault(CPUState *cs, uint64_t gpa, uint64_t ept_q= ual) { - int read, write; + bool read, write; + MemoryRegion *mr; + hwaddr gpa_page =3D gpa & qemu_real_host_page_mask(); + hwaddr xlat; =20 /* EPT fault on an instruction fetch doesn't make sense here */ if (ept_qual & EPT_VIOLATION_INST_FETCH) { @@ -129,19 +132,22 @@ static bool ept_emulation_fault(hvf_slot *slot, uint6= 4_t gpa, uint64_t ept_qual) } =20 /* EPT fault must be a read fault or a write fault */ - read =3D ept_qual & EPT_VIOLATION_DATA_READ ? 1 : 0; - write =3D ept_qual & EPT_VIOLATION_DATA_WRITE ? 1 : 0; - if ((read | write) =3D=3D 0) { + read =3D ept_qual & EPT_VIOLATION_DATA_READ; + write =3D ept_qual & EPT_VIOLATION_DATA_WRITE; + if (!read && !write) { return false; } =20 - if (write && slot) { - if (slot->flags & HVF_SLOT_LOG) { - uint64_t dirty_page_start =3D gpa & qemu_real_host_page_mask(); - memory_region_set_dirty(slot->region, gpa - slot->start, 1); - hvf_unprotect_dirty_range(dirty_page_start, - qemu_real_host_page_size()); - } + mr =3D address_space_translate(cpu_get_address_space(cs, X86ASIdx_MEM), + gpa_page, &xlat, NULL, write, + MEMTXATTRS_UNSPECIFIED); + + /* Handle dirty page logging for ram. */ + if (write && memory_region_get_dirty_log_mask(mr)) { + size_t page_size =3D qemu_real_host_page_size(); + + memory_region_set_dirty(mr, gpa_page + xlat, page_size); + hvf_unprotect_dirty_range(gpa_page, page_size); } =20 /* @@ -154,9 +160,6 @@ static bool ept_emulation_fault(hvf_slot *slot, uint64_= t gpa, uint64_t ept_qual) return false; } =20 - if (!slot) { - return true; - } if (!memory_region_is_ram(slot->region) && !(read && memory_region_is_romd(slot->region))) { return true; @@ -762,7 +765,6 @@ static int hvf_handle_vmexit(CPUState *cpu) /* Need to check if MMIO or unmapped fault */ case EXIT_REASON_EPT_FAULT: { - hvf_slot *slot; uint64_t gpa =3D rvmcs(cpu->accel->fd, VMCS_GUEST_PHYSICAL_ADDRESS= ); =20 if (((idtvec_info & VMCS_IDT_VEC_VALID) =3D=3D 0) && @@ -770,9 +772,8 @@ static int hvf_handle_vmexit(CPUState *cpu) vmx_set_nmi_blocking(cpu); } =20 - slot =3D hvf_find_overlap_slot(gpa, 1); /* mmio */ - if (ept_emulation_fault(slot, gpa, exit_qual)) { + if (ept_emulation_fault(cpu, gpa, exit_qual)) { struct x86_decode decode; =20 hvf_load_regs(cpu); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631749; cv=none; d=zohomail.com; s=zohoarc; b=YVsnCdb/hgIokIArK3rWm+6grdIPK2JkCmhOvdzGlXGGrjfJyGwUVtSUnLpQLya2GjCE+rzEs8Vmv9vsgdB3LIF0tZCEDLEDwRgeZdaL0ed9YhqTbgECXhoKcZMmjWu5BkpCpwR2GqDwxFB6iViTGtnPz0vTbY/1s+mErRkSbMA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631749; 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=tXWJQrd0lCphm6hCLWJPyr8+ILvdsszdNySmyDwYfak=; b=dyLGPdqcKXhjitFL8Y+v47BbnVxktub+VBlrXu1uFkWyijAiWWDrzOuVFAUdl033DHnu5ghY5SyT0aXGjmErJ1gyaEq+PioneeNsjXyXNcXA0PgwK93VTAuS5PHUTSnsf8bkHW+NGHQbM2DipnBg6kht0a5EEZEeyBZCU6iS5qE= 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 1761631748999485.33632395733355; Mon, 27 Oct 2025 23:09:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcsw-0007eS-Ty; Tue, 28 Oct 2025 02:08:46 -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 1vDcsm-0007WS-B1 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:08:37 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcsf-00069j-MH for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:08:33 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-4285169c005so2517178f8f.0 for ; Mon, 27 Oct 2025 23:08:25 -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-429952cbc16sm17718151f8f.15.2025.10.27.23.08.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631703; x=1762236503; 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=tXWJQrd0lCphm6hCLWJPyr8+ILvdsszdNySmyDwYfak=; b=gx/apBqwKf/d9fWsN5V40f5MB+8MYNwdANXJxRTJ3XPbaxbaA0ttoO8Ub5Yh+hbHH1 RcbiwYdAE9krmDDvc12z43i4+nDHuo458SydzEOEZ+lUada3WzUv7SfQJ5OsnHdU/i7K 3QkDeic7kYxzzezWWHBieIf7wfYWLz7dJNLJJ8fVBtn0fn1/ecASRMf0224/03zEPYSo dzeQ55WcdXm8TKLO/eUEyt5nJLjapZ0xt7s8DOclCHRJGnEQdaU1NhWyWCkRNkxxebYn fb/D9z8jgF/WPAB0lnrIrbA/cJGXQTH8XqrH69kCNAM5qBuC3AD3e7DeHvABg2jUBUyC EDNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631703; x=1762236503; 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=tXWJQrd0lCphm6hCLWJPyr8+ILvdsszdNySmyDwYfak=; b=ML3Hf1qk44JCsqh2Ezqpm9BK48rO1VWSUb89vGGYi0wW30Cre0VUUtSXSal4sT/Hr/ r/Z7/EwoA8GtmfvBEJjoEE6uncwFdEk3x+s4wqJmEvuQ+H1QX+zYzanoWF7EciVcMfMU +eSDf2XJ66I4ub/xAfTaxGYFpcbQTzBIkAXHotahILVbhcz3VFTOdbZm1o8PDv+e6a+5 feMlEpm/1RGsrQ/Aqf4Fp4W/rJoJFDrkFi885HW2Tg0K7Sg0RN3K+syhAr4pSEBdmJba vyDg0sxoVcteZtTbtLTAsTa9UFhgPY3WKYHt7e9M39ZH/yYEDdYG8mVGIlJxlK4chu2c OGaA== X-Gm-Message-State: AOJu0Yyo0GHrVvlOBrG4q05ItxQY7tsgekzIRSAJ94fBTFJSII8uyhPQ p7U1Nd00nFry+f/WK29LwokNezWpaPy7phUp/d4p0UOLTwtRidJM3+XQvzcithEQH7vgSu6FPSm rRkyIbH8= X-Gm-Gg: ASbGncsW8eaPaN7jmQchMIdXB3j8uZ3+f0XCaYBU+nx8gm31/sS59yN5Iw8LMhxdcZH /e57oU9eykObGp+TpgZezkib2L5GEoa+AQ9GUG0FQcWxXaTe2oXSEnMHaI5esA/VNvieMfgjS7n mVzzU+Iop3lVbRanB1OdW0w25mVXEPHk71KCbxxo5M8ARKtAhuCOPZSzPdvKMfpLgl/ydxj0Q4q SXYS2fVGjgmqnF7G2JKmhT4rWdj0/Evgw3H3Rf4/DRdLaKiHyNU4hcr2LfC9GsLPlwxK3nX8NqM wAOYeNr5gUhwH+RtKEevGkdD3pegYe13BKbXXTBXF5XxhpsXN6i6wwNQltpIbho5lWSzZCBpa/n c6ja7GdfsGyX+BoCT1z/ypcy5NXsVzu0L+Pm+QcOeYt9c7fCnO8RmMMxRhlTrDaD6vZxouDH2QN A9JZjUbh+hH7s6tUaQvM8RxlpuQ5zMGQFLsJ0n/J3VttxzuLVl8X9Ja+I= X-Google-Smtp-Source: AGHT+IE6G3/3QL/NrzoW29LEAqzzVlCMrcwoFxl6ReO/FwEdV0ppoYrI7y7xmOU70hbENwsrmew1og== X-Received: by 2002:a05:6000:2886:b0:426:d5bf:aa1 with SMTP id ffacd0b85a97d-429a7e99fbcmr1739756f8f.62.1761631703540; Mon, 27 Oct 2025 23:08:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 36/59] accel/hvf: Simplify hvf_log_* Date: Tue, 28 Oct 2025 06:42:12 +0100 Message-ID: <20251028054238.14949-37-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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: 1761631751463154100 From: Richard Henderson Rely on the AddressSpace and MemoryRegion structures rather than hvf_slot. Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/system/hvf_int.h | 3 --- accel/hvf/hvf-all.c | 40 ++++++++++------------------------------ 2 files changed, 10 insertions(+), 33 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 5a57691885f..ee7ab689f45 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -24,9 +24,6 @@ typedef hv_vcpu_t hvf_vcpuid; typedef hv_vcpuid_t hvf_vcpuid; #endif =20 -/* hvf_slot flags */ -#define HVF_SLOT_LOG (1 << 0) - typedef struct hvf_slot { uint64_t start; uint64_t size; diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 2efecdc9f40..361d658a186 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -203,45 +203,24 @@ static void hvf_set_phys_mem(MemoryRegionSection *sec= tion, bool add) } } =20 -static void hvf_set_dirty_tracking(MemoryRegionSection *section, bool on) -{ - hvf_slot *slot; - - slot =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - /* protect region against writes; begin tracking it */ - if (on) { - slot->flags |=3D HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_EXEC); - /* stop tracking region*/ - } else { - slot->flags &=3D ~HVF_SLOT_LOG; - hv_vm_protect((uintptr_t)slot->start, (size_t)slot->size, - HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); - } -} - static void hvf_log_start(MemoryListener *listener, MemoryRegionSection *section, int old, int new) { - if (old !=3D 0) { - return; + assert(new !=3D 0); + if (old =3D=3D 0) { + hvf_protect_clean_range(section->offset_within_address_space, + int128_get64(section->size)); } - - hvf_set_dirty_tracking(section, 1); } =20 static void hvf_log_stop(MemoryListener *listener, MemoryRegionSection *section, int old, int new) { - if (new !=3D 0) { - return; + assert(old !=3D 0); + if (new =3D=3D 0) { + hvf_unprotect_dirty_range(section->offset_within_address_space, + int128_get64(section->size)); } - - hvf_set_dirty_tracking(section, 0); } =20 static void hvf_log_sync(MemoryListener *listener, @@ -251,7 +230,8 @@ static void hvf_log_sync(MemoryListener *listener, * sync of dirty pages is handled elsewhere; just make sure we keep * tracking the region. */ - hvf_set_dirty_tracking(section, 1); + hvf_protect_clean_range(section->offset_within_address_space, + int128_get64(section->size)); } =20 static void hvf_region_add(MemoryListener *listener, --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631787; cv=none; d=zohomail.com; s=zohoarc; b=AKd/OsY0J+6JbyJ4qBWtBoqLezoCvQgoEp3EieE5M22Kg5AYBu8szqxux9C/KWMw28/i7AXt8aBs0y8GlxqUkd+k2YmqHhABuBOrlNKFswNK4nehtfdVHKpAvZZMvudvNUbVxUaDEQd/eC+ipQhBTftTTUJVR/AnGPNlW+OjUwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631787; 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=Gg8KFIu162xAUD3ojqlP0hPF5Yesx/MjE4Lk5N+Iivs=; b=gVAcehHXN8Lj/ZIyUtuuRiZGq0Bn69RpXkT7M7dpzfH99E/ka4CQqK4+/4JjM015pMBmvZw/NbMuVovKfcT2VjtYBtrQmH9f4wq5pR8gzu5GhGYmGS3W722v9XtGjZ/wpFEpvTJsZYH7XzjtAED0tX/d+v1mrAkYtRE7gyyupDY= 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 1761631787165970.0284206171593; Mon, 27 Oct 2025 23:09:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDctg-0007x6-6u; Tue, 28 Oct 2025 02:09:33 -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 1vDctQ-0007rs-5E for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:09:16 -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 1vDctI-0006Bw-Nb for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:09:15 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4710683a644so45990305e9.0 for ; Mon, 27 Oct 2025 23:09:07 -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-4771906af34sm10675755e9.14.2025.10.27.23.09.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:09:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631746; x=1762236546; 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=Gg8KFIu162xAUD3ojqlP0hPF5Yesx/MjE4Lk5N+Iivs=; b=ozj8DX1hQ7Hy/Yxyg7kvHD+rb1Zm3Flp3j5IFKntgAx5TOncHGhkrQeUbm/L2nKBvA peKjabO+oP0UyyG9RKQ5EXiYSh148Qu1M3wAk53T66KIO9sMXOpnV20a1Z4QHzJitLw4 uLp8H25Vizf2y8BV37OdF3EdaRFCy8RzXKF3ekSVkRo3Qj3qRteI+jy0oUOrVTzZ6pS5 /o78Mw67+OXC/VoNIa7xVqs9BwmAZXZNUbA9Cx2KALX2vVd/7iD9fm/Eg5tjBxQ7vcEE +k/a/2C4/TmuvHJA4CqHxGonJGNdIQMCrBCEsNq1XBrdKsUym88BX4o6Gy+CRuqTxCad pWfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631746; x=1762236546; 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=Gg8KFIu162xAUD3ojqlP0hPF5Yesx/MjE4Lk5N+Iivs=; b=IZYZ3zOJyPWBEHl43H8UPjY2olEpdULOFCXJti5Ixh8w9wG4bpPorPCJ4yex8N9KpH 2d44QwUIs8cX1R6A/SfVNNA8YCDmK0oCN0XfvQVbjhhqM7Eyc1jD7pcjQukk2QPwzcNq ddwzroq92Ak70x0yZOAbD7WL8dK+IasEY0mYnLeZ6T87oHasQ8vUAAg9ufBXm+V0m5pS 7B+KA+nN5tcWW4FWMHPoVzCGRjU8//FbFi8HGJkbGs2wk02PpslQ9B4/S6COHdb297Xm z7taO/qnAQbPT8eCA1Qf9s6HrnSeh0d0NmX6zbTkC7o/7oH9lK2tJk2D9/l6m6VGIST5 g/RA== X-Gm-Message-State: AOJu0YzzURHOy1eAe5CUH15RY4s65HIFnRI0KoWs3pcTYUVTMSWExIT6 0CUk8c5RDrFv5zmPrhi64s5iHSSsXkvbMzowECbIUHwiT/LckKmVC4vEgtoksDrB22rBdv0aDwv rE0QBUVE= X-Gm-Gg: ASbGnct7VIA1f0cLYzxH8K/itjL3BJ1V2NULUhCb9zOjbyGJ4tMKcAe+CO//gt2crot 87/yaQzy4ZHjtvyFUEEev0b7F1YHEbFuA5xrpOsKxHZI96KxxgYlrCAFv9oHqbGsJjiJ5znejDw SChriy0ctqnJCSifGTxsrN7umvKh+VVdjVodS2+0Fqs/pjaZWM1sIBWEq2V1yRioHjrpa9JodQv gEYb96g+696fd7Zt5HBQ00gwmJpSttvxN02Bp82k3LB83VRw/Sy1ujb/J/BFQ/KcHnO8USDvv7l bb9lwXDFvE3FjQcpEa8xsayA7PSdGu9ejFDXz/PsRbTr6H3kKL/tQJBxxLFqMFBElfZS3+xocHh yxZoBvSWsEYimtKWrvKGTXSjjIQ7j/pqBvptJNlecjuPdP6mHJBaw5fUzn39512FQjVQnN/vFzs jbvrOoh5o/w/CeeHKkqmGe5gWUplcCfQcFV8mkO1ftA0aScd4yC4CyBIo= X-Google-Smtp-Source: AGHT+IG8AgGTkhfVnAdja4F6R3Y38ls6nGTFw292Qxu+898jzmfEA3pFoTuM/WPGMrtKLD7dKTiGsA== X-Received: by 2002:a05:600d:6251:b0:471:ea1:a460 with SMTP id 5b1f17b1804b1-4771816e8fdmr9281555e9.11.1761631745976; Mon, 27 Oct 2025 23:09:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 37/59] accel/hvf: Move hvf_log_sync to hvf_log_clear Date: Tue, 28 Oct 2025 06:42:13 +0100 Message-ID: <20251028054238.14949-38-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631789997154100 From: Richard Henderson Right idea, wrong hook. log_sync is called before using dirty bit data (which for hvf is already up-to-date), whereas log_clear is called before cleaning the range. Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/hvf/hvf-all.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 361d658a186..4b0a1af9fdc 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -223,12 +223,13 @@ static void hvf_log_stop(MemoryListener *listener, } } =20 -static void hvf_log_sync(MemoryListener *listener, - MemoryRegionSection *section) +static void hvf_log_clear(MemoryListener *listener, + MemoryRegionSection *section) { /* - * sync of dirty pages is handled elsewhere; just make sure we keep - * tracking the region. + * The dirty page bits within section are being cleared. + * Some number of those pages may have been dirtied and + * the write permission enabled. Reset the range read-only. */ hvf_protect_clean_range(section->offset_within_address_space, int128_get64(section->size)); @@ -253,7 +254,7 @@ static MemoryListener hvf_memory_listener =3D { .region_del =3D hvf_region_del, .log_start =3D hvf_log_start, .log_stop =3D hvf_log_stop, - .log_sync =3D hvf_log_sync, + .log_clear =3D hvf_log_clear, }; =20 static int hvf_accel_init(AccelState *as, MachineState *ms) --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631814; cv=none; d=zohomail.com; s=zohoarc; b=KUTEyFLpQwoJ/MYZsx0dMKvgX4ixfJcdk3qteQihnGJdMMyiHB5Ebc/JOrFSWgSwe2g1dFIuzyG6yovIkWe+7z/yFMaIl7kuNJXVMk75jeiwBkm8nnyOZDVK1cVm77f1PnP42DOtIlZ1rX+HdDfturB+2wd6JZJaOTrmDJMuUgk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631814; 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=6ZU5Y5jdxtTfJM7VLLaWii+65USNcK5SXMjuuGQStsM=; b=L84OhVn70pP8xe/JlRJrrKpJK5J2Rm5oiGZ1O/U3Qsz6EgIHPd+D3HlqbqYeTmsJVmAK+EzBeAxzxNVHzga6skPAk73UeQvCgveLkr+2Ar5nwgVD950+RjhkPsCclwuU9/3OLzeXb0bDlk6AFpETwogKQ1NEFcOq1su1bKLHA3w= 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 1761631814620253.89493242835965; Mon, 27 Oct 2025 23:10:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcu5-00009Z-8A; Tue, 28 Oct 2025 02:09:57 -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 1vDcu0-0008Pw-FU for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:09: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 1vDcty-0006E3-Gl for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:09:52 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-427015003eeso4909036f8f.0 for ; Mon, 27 Oct 2025 23:09:50 -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-429952cb7e8sm18669147f8f.19.2025.10.27.23.09.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631788; x=1762236588; 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=6ZU5Y5jdxtTfJM7VLLaWii+65USNcK5SXMjuuGQStsM=; b=IlaJxUPmNC2FM2eKxEibD0ABaP10wOTCKEwiNfB+bux2htfafRt6UsX/Yg3+zgaiZB 8hpHapfbyMp3ZxUvvwlaHvvEtGwMIDZ1H0e0fZRQYADCH/PIsV3C22ZU6/a/N/IyiTXy Km572LS0D0dZvdpr9ySMsnX9BeI3DiERgpUeQvL+x4c8MrvASaOK4p5WhGXut7esHH+m w5FaGRNzaVFTN2+Cl9xpreweiZdNvnrxjYrMM7YNRPfL/1hINi/SQYnVA6Ia24kJYDkk h8Y0YZAE0s1kgafFmJM4qgu9fMzjU9oIb4sx9V3B4fz4h9Z5B56T/RyvJa0qp9FrW0Ob nkmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631788; x=1762236588; 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=6ZU5Y5jdxtTfJM7VLLaWii+65USNcK5SXMjuuGQStsM=; b=D8Pk6ec8eA9FvGSFVc8fcFYO+1EnwtNaOwAFowKT9fg0auetFiEHIURYtL1+GchU8G 9MPikZy21Kx4IsXMWmKGA/hekxxUSKeaAgLrHwhs3yiG9C/GIMKTeX2gZzcHe/3egOsz TRY1cgzTXRJvhBIZKBI5hRh6jeM+DvXPanxJ90jXPUN4Za9KbasArumGjoJqv/tgO8vi jOOOY5cVYJkipchHr9AkuKjFcwum4SPLiOpTlapGfl8EdSGQMyHKVXWGfkUBJfnvVWmZ A+2yKrKxHne+3Vp+NLUnTtY3S0WXN2vjiBtTYoX+/2gJDNqPBSLfo5VM7rFo6p2PHh3n pLEw== X-Gm-Message-State: AOJu0Yxn02pcIkA+aiFFRIgh8dQz+Jtk3aBqtfgkOza8GYNNuHmkvpyw x4cPH77nCF7NpdrSD+Pv4xT8H+MoLUH3k08YWudJ6InrI4qYq52seinnU7ylwwyIWBs/sAQ/ALn UbaSXTsM= X-Gm-Gg: ASbGncs+hgTai+5HqPZw9buqWEZwLfTsEUyWV2kDGEAXS0OqKx2WDtbZFedQ5+7ceB1 Y5z9ayp4OnzuHIkhnEsWZw3R8uzn73UBAJRWEfiqzwz7sA1g7VSR1JAUV1Da0Y2apnxyudrIsJj ukpa9TnVCf8+oOzwU2Gx7emvwS7LqlvgPZi7fl/dZfo9pprAqQrxmLvkKBA5v5NHgedAx8c7TVv bvfC1f7oEsO9JJqmYv7FpRWmK1ec/B6gU9jwfZixj9IxNiNDsdeeNxHdG/od/WpEOKyMqVDw+FQ K+RTePjV9hlGDddQ+YCpizPr3yz5Lh9OKKJyJWSaj2nWR83SlEj/urNnytndrg7LzapjSyA7Mgx 3g9DdmzZ4yJbSxndbuQmY6rUZAzceav4sTjorNHCgtzwLrr93i3KuY9L7KS9iVDKyA2O5tRUN7V skJlKrndk83OXSZBzE2341PvyNl12qu3cyKSvZL+FqfA6ibF3qHGL/Wqc= X-Google-Smtp-Source: AGHT+IGcQBpziHy8WQwIlSWWs40B2V1U8bpaNmxq9myLSa8B4GckMQu2wCzE7MMtqkWKFjY7Z7YDbw== X-Received: by 2002:a5d:5d87:0:b0:3e9:ee54:af71 with SMTP id ffacd0b85a97d-429a7e52c4cmr1653753f8f.12.1761631788394; Mon, 27 Oct 2025 23:09:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 38/59] accel/hvf: Simplify hvf_set_phys_mem Date: Tue, 28 Oct 2025 06:42:14 +0100 Message-ID: <20251028054238.14949-39-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631816245154100 From: Richard Henderson All of the complicated parts of updating the address space are handled by address_space_update_topology_pass. Do not create or use hvf_slot structures. Signed-off-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/hvf/hvf-all.c | 111 +++++++------------------------------------- 1 file changed, 17 insertions(+), 94 deletions(-) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 4b0a1af9fdc..97b367bd788 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -86,45 +86,16 @@ void hvf_unprotect_dirty_range(hwaddr addr, size_t size) HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC); } =20 -static int do_hvf_set_memory(hvf_slot *slot, hv_memory_flags_t flags) -{ - struct mac_slot *macslot; - hv_return_t ret; - - macslot =3D &mac_slots[slot->slot_id]; - - if (macslot->present) { - if (macslot->size !=3D slot->size) { - macslot->present =3D 0; - trace_hvf_vm_unmap(macslot->gpa_start, macslot->size); - ret =3D hv_vm_unmap(macslot->gpa_start, macslot->size); - assert_hvf_ok(ret); - } - } - - if (!slot->size) { - return 0; - } - - macslot->present =3D 1; - macslot->gpa_start =3D slot->start; - macslot->size =3D slot->size; - trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, - flags & HV_MEMORY_READ ? 'R' : '-', - flags & HV_MEMORY_WRITE ? 'W' : '-', - flags & HV_MEMORY_EXEC ? 'X' : '-'); - ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); - assert_hvf_ok(ret); - return 0; -} - static void hvf_set_phys_mem(MemoryRegionSection *section, bool add) { - hvf_slot *mem; MemoryRegion *area =3D section->mr; bool writable =3D !area->readonly && !area->rom_device; hv_memory_flags_t flags; uint64_t page_size =3D qemu_real_host_page_size(); + uint64_t gva =3D section->offset_within_address_space; + uint64_t size =3D int128_get64(section->size); + hv_return_t ret; + void *mem; =20 if (!memory_region_is_ram(area)) { if (writable) { @@ -138,69 +109,28 @@ static void hvf_set_phys_mem(MemoryRegionSection *sec= tion, bool add) } } =20 - if (!QEMU_IS_ALIGNED(int128_get64(section->size), page_size) || - !QEMU_IS_ALIGNED(section->offset_within_address_space, page_size))= { + if (!QEMU_IS_ALIGNED(size, page_size) || + !QEMU_IS_ALIGNED(gva, page_size)) { /* Not page aligned, so we can not map as RAM */ add =3D false; } =20 - mem =3D hvf_find_overlap_slot( - section->offset_within_address_space, - int128_get64(section->size)); - - if (mem && add) { - if (mem->size =3D=3D int128_get64(section->size) && - mem->start =3D=3D section->offset_within_address_space && - mem->mem =3D=3D (memory_region_get_ram_ptr(area) + - section->offset_within_region)) { - return; /* Same region was attempted to register, go away. */ - } - } - - /* Region needs to be reset. set the size to 0 and remap it. */ - if (mem) { - mem->size =3D 0; - if (do_hvf_set_memory(mem, 0)) { - error_report("Failed to reset overlapping slot"); - abort(); - } - } - if (!add) { + trace_hvf_vm_unmap(gva, size); + ret =3D hv_vm_unmap(gva, size); + assert_hvf_ok(ret); return; } =20 - if (area->readonly || - (!memory_region_is_ram(area) && memory_region_is_romd(area))) { - flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC; - } else { - flags =3D HV_MEMORY_READ | HV_MEMORY_WRITE | HV_MEMORY_EXEC; - } + flags =3D HV_MEMORY_READ | HV_MEMORY_EXEC | (writable ? HV_MEMORY_WRIT= E : 0); + mem =3D memory_region_get_ram_ptr(area) + section->offset_within_regio= n; =20 - /* Now make a new slot. */ - int x; - - for (x =3D 0; x < hvf_state->num_slots; ++x) { - mem =3D &hvf_state->slots[x]; - if (!mem->size) { - break; - } - } - - if (x =3D=3D hvf_state->num_slots) { - error_report("No free slots"); - abort(); - } - - mem->size =3D int128_get64(section->size); - mem->mem =3D memory_region_get_ram_ptr(area) + section->offset_within_= region; - mem->start =3D section->offset_within_address_space; - mem->region =3D area; - - if (do_hvf_set_memory(mem, flags)) { - error_report("Error registering new memory slot"); - abort(); - } + trace_hvf_vm_map(gva, size, mem, flags, + flags & HV_MEMORY_READ ? 'R' : '-', + flags & HV_MEMORY_WRITE ? 'W' : '-', + flags & HV_MEMORY_EXEC ? 'X' : '-'); + ret =3D hv_vm_map(mem, gva, size, flags); + assert_hvf_ok(ret); } =20 static void hvf_log_start(MemoryListener *listener, @@ -259,7 +189,6 @@ static MemoryListener hvf_memory_listener =3D { =20 static int hvf_accel_init(AccelState *as, MachineState *ms) { - int x; hv_return_t ret; HVFState *s =3D HVF_STATE(as); int pa_range =3D 36; @@ -280,12 +209,6 @@ static int hvf_accel_init(AccelState *as, MachineState= *ms) } assert_hvf_ok(ret); =20 - s->num_slots =3D ARRAY_SIZE(s->slots); - for (x =3D 0; x < s->num_slots; ++x) { - s->slots[x].size =3D 0; - s->slots[x].slot_id =3D x; - } - QTAILQ_INIT(&s->hvf_sw_breakpoints); =20 hvf_state =3D s; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631861; cv=none; d=zohomail.com; s=zohoarc; b=jnnHH/XLC+o4yZ8RKDyRr7vg7wmD66vDfYWhv3W9PV4hqQNuXUDG1GN/8KAk4L6hdov/djLWhkQya6zqg6nDPH9ti+l3HOWwSOj0rxEjI9kXnzta6lIExMQZbe6DF7yEdeDjTyu0zx2YVIwIGqTHfx0dL/E7qJcqtEUNOfq/B6s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631861; 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=c57WLejTczCDPIZIT4ByZo9teKQW5zfA4LdyJABPRTg=; b=NlYyV1AIg3uwFhIXprS6pmLvO07Q3IJCTfhWvDJ54y5RBb+W4cYxT+tBYWo5bhVrLHD+A4sGGnju9I6/Mixwol2nFbkKA8NfH7Q8Oq9teF1KVCP3x29GhTf3OVAI99DFfkAB8s0Drh4I7hMd6nO0zyxSQeq/d+8WXePE9eYlH7I= 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 176163186160920.29158026548521; Mon, 27 Oct 2025 23:11:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcul-0000tT-9y; Tue, 28 Oct 2025 02:10:39 -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 1vDcuj-0000sQ-Im for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:10:37 -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 1vDcug-0006SV-RP for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:10:37 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4710022571cso57362795e9.3 for ; Mon, 27 Oct 2025 23:10:32 -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-475dd035e05sm174667875e9.7.2025.10.27.23.10.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:10:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631831; x=1762236631; 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=c57WLejTczCDPIZIT4ByZo9teKQW5zfA4LdyJABPRTg=; b=e+3EopaeLuu4KrQfz+SwgD8vObeTmIHGTdivkMvDd1/cpvg5bA/56OVDs1W1lh99+W n5ATWWfe2FeV3zzjbtBVPu0UCjHxPMGc/5P0x7Tg3oTHk1kLvmJiV7uT0xLQBNrDCdIL DlHtk1ll/Cem4sCSZ0D0AdsMW6smWgxqwZO8I5ASntyOsn8cwXnPLV7M60sMKGty/sSf mdxiTmgYVMSCNeXR4LqQXIq7jjdt4OIB0gje1OdHMxboxMaVdpKFXEu6bqWbwuAAw02D aksK7ENeRGlFK9wDdUKe5/74ynhfL4/Xa4zxxwlSt97AOuqlbbfGvgtQRrETu5CS959n w+mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631831; x=1762236631; 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=c57WLejTczCDPIZIT4ByZo9teKQW5zfA4LdyJABPRTg=; b=ZRwOPkD79e1OuI62nwTUyDyQf3PauPCRY64a0Pn/DrdqZoghf1Glebu1/9GTbyvRBx 8U/Gyb9VyObeWqILCulV3K0WEgYlzCp+C9iQXTgrH3m/JvcTMn+JlllrBFfjt8dN/kgy VtGoUMSu5WPBNa2CFD5YVCT1OSK7B9ub07iFLnY+tPyOkb0xMlxt6IdiFX2BLy3Lw2l4 rxJ5BLvTZUHErS3vzp8QNAyMUwZI81DXgCeuH6S+VGPCdAsnFqjFukIaYgcFG5Lbecvm scatxHUA1zn9iHiOdSP511PNKcYji2m7jLxNcFkYZTDFY3ta1q+xjKayfCFOBEBhDXZO hTaw== X-Gm-Message-State: AOJu0YzO5jR9BKnvmOZPsDlxsKXnavuTGluyHc0y9qYJktPlKJO1Ss6U 8REQZuCVhDUyc559ZzLofesNEWA0GoBP/BLdZC+/DI1avBN+AGDyGu94NU3gfaixfEsHEzECTzr gnAYtmPI= X-Gm-Gg: ASbGncuvDqbShLACTmm2gterkk9uzz2glCzDJukngRIGEw0c6SxU8tmLFe+Dpg0T49r JEDzHq3jQXVoH3B5XP/WzmXPrHXZMwKTB0a0j5tL2PVGVYSijmrTzkGoIhO/D+RwXseHS5mj++h Y7YUFJT5EdY4ZxAg75MrvpIR+OL64u17cFlYzazfwF54iTX4NvZdL9V57G3mvjBw0ZlhZ3TolzV Xr388Ds6xajCT0QnzIUOO06HHHH35uQpFst+1MgFtTtDncj4Yu+aSgmB6xuuMUbMyV09h746sar hWTdvesvoafqZEjZ1nvafUK1bCuVKA9vOS3UTeXtJ9EynXLxJpSTM1kNr34e/Sw79bVhIKeYj+E uXw/sJkySn0TlzUKO9alVwhJpoi+MbgwEMUqVy+Ubkt2X1DAwK5bJ+dxfsXVULo21IiHfAE62Z5 p04kwAzIBz0K7AgJPr1UbN+pcLzBiFWqg4JTTwFXv3WXklgR1EbAz8KFn1qnKetPd/hw== X-Google-Smtp-Source: AGHT+IHfJ5PxhF6cWtNYzpntxnGThsRWzPMjp3stikE2ehcpZppLxfF/MIxk0pp5kh2TUQfMjKQDew== X-Received: by 2002:a05:600c:6303:b0:477:fad:acd9 with SMTP id 5b1f17b1804b1-47717e40960mr21540015e9.34.1761631830787; Mon, 27 Oct 2025 23:10:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 39/59] accel/hvf: Drop hvf_slot and hvf_find_overlap_slot Date: Tue, 28 Oct 2025 06:42:15 +0100 Message-ID: <20251028054238.14949-40-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631862631154101 From: Richard Henderson These are now unused. Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/system/hvf_int.h | 13 ------------- accel/hvf/hvf-accel-ops.c | 14 -------------- 2 files changed, 27 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index ee7ab689f45..d842d4b2b99 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -24,15 +24,6 @@ typedef hv_vcpu_t hvf_vcpuid; typedef hv_vcpuid_t hvf_vcpuid; #endif =20 -typedef struct hvf_slot { - uint64_t start; - uint64_t size; - uint8_t *mem; - int slot_id; - uint32_t flags; - MemoryRegion *region; -} hvf_slot; - typedef struct hvf_vcpu_caps { uint64_t vmx_cap_pinbased; uint64_t vmx_cap_procbased; @@ -45,9 +36,6 @@ typedef struct hvf_vcpu_caps { struct HVFState { AccelState parent_obj; =20 - hvf_slot slots[32]; - int num_slots; - hvf_vcpu_caps *hvf_caps; uint64_t vtimer_offset; QTAILQ_HEAD(, hvf_sw_breakpoint) hvf_sw_breakpoints; @@ -70,7 +58,6 @@ void assert_hvf_ok_impl(hv_return_t ret, const char *file= , unsigned int line, const char *hvf_return_string(hv_return_t ret); int hvf_arch_init(void); hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range); -hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); void hvf_kick_vcpu_thread(CPUState *cpu); =20 /* Must be called by the owning thread */ diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 3e5feecd8a7..bbb0b385fe9 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -64,20 +64,6 @@ HVFState *hvf_state; =20 /* Memory slots */ =20 -hvf_slot *hvf_find_overlap_slot(uint64_t start, uint64_t size) -{ - hvf_slot *slot; - int x; - for (x =3D 0; x < hvf_state->num_slots; ++x) { - slot =3D &hvf_state->slots[x]; - if (slot->size && start < (slot->start + slot->size) && - (start + size) > slot->start) { - return slot; - } - } - return NULL; -} - static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data ar= g) { if (!cpu->vcpu_dirty) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631902; cv=none; d=zohomail.com; s=zohoarc; b=k5MwLJ35TZvQPbMi9k9XAz40S3wtb/8+fNZm2YZwiNa5xfcUOLnxtaVU0ZHEUa3fybuxnrgVjdF5GJxDlrwwdJ2meaq6HjbWDeulVODVdwJRscOZChaYG79sbr6RH8OK65TH7NNXOEKOi3gC4ayefHfAFQvR1lxyTotHjDjf/II= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631902; 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=a2BKEZLhbi3WNQsizJN4liaZ3hgh6rI0ev3mSwYFKSc=; b=RAXAIgZ4XbseMm1SS9g8N8am9jJ36JYiDTS7dj9i8Ocj/GtgdpbsBR4kjFsegY7ucIXWhZhRgJ1cuIef5IK60PcXKHlm6sjFfhmq3xCqXgti8rbvtMn/baaT2Q2hzHFOnxQhiAI918o+tE2MnPafrIrTSsKlaQn7QG0P/2zHAfI= 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 1761631902693820.4563452381869; Mon, 27 Oct 2025 23:11:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcvd-0001a7-S8; Tue, 28 Oct 2025 02:11:37 -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 1vDcvO-0001Z7-7h for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:11:21 -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 1vDcvL-0006Wa-N6 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:11:17 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-475dc0ed8aeso27220245e9.2 for ; Mon, 27 Oct 2025 23:11:15 -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-429952d4494sm18399341f8f.21.2025.10.27.23.11.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:11:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631873; x=1762236673; 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=a2BKEZLhbi3WNQsizJN4liaZ3hgh6rI0ev3mSwYFKSc=; b=PvdduQJ2LUZuSjQpnaXMOQlBOd+cOj7ohImlpYF2sUY72T70WBqYrs4aYYfLGR9Y5+ lvVeZhoyuaKcztxbuS2jXFkmQnNe//0NatJ2EyzO41eUAb9FyfV5Gk1DgJdvBK3prUx7 IT7wce6nIMPuDmGeAWY1Do9x8c3bO7ykhD/wKGFJrE4zQZ1W70difmhQuk3komHTGtgs CdyWHPhyl/5UVt+3ZDlZLFjfIw9dVNRpzcdp0+JcaKCkMe7lNXCHeBj7LrFKv1iuELme BzYTZZQm3eFBOfQFNlPzhbmNugYrtW+kFR4dSGo9hmcEbLn973qNY8igePm/aQBSq1li 7VUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631873; x=1762236673; 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=a2BKEZLhbi3WNQsizJN4liaZ3hgh6rI0ev3mSwYFKSc=; b=YmLXe03K/d5nHav7O/WjILDlQXbrJjhmnA0BK3KyZalTFSB6uqZO7sNq+RURlLA0pu yxfNw4PEItLN5tSHeWxgPxs3JYfRd7uDfYNIaP0ZY5VtrHSWFnJBAzd0la382uEmmOq8 hVeJyExH4sjC3d4SwJ1vOwnMS/JZMd+XHHygvKTf1t0jGQZklDRapFA1YzVXCwPBMv9o MarRIvm6fgNKFLgr+Xp2PhfOqjLx6E97jVI3gIlavdSavuthTFJ73OX6seqdoh047MJK ByH9rojHFA9WicmDkcWJN8bC9WfBk1oNx3XcKteVAkWIZP+3rO6LGQupH1JYmVlkz/Kf Sqqw== X-Gm-Message-State: AOJu0YyHp3uAnHX09SYBmkJP6vWmvnpfce7ralSsK+iTf7xP8mYDXeQP qxY2f3M7e4csqnmrufbZxxhvEYUmq7lEL1fUyIjL4t7Vw9AoS7iq35qCtp17kRpKM0xB9i4vHsn TyxRWMtk= X-Gm-Gg: ASbGncvn9infA0ZHlgEoZzvHOJpnPZ/kycchQjUN/lhegtFtYT4G25+zX0Hqzi9AqKp x/QLoETI+UKb9hjaMxJD8M4erJffBd6F643L5elsa4vdQmKGJ8hXQEvBgd6waSPCeWHtfBS1I0Z //VrGarSJLMhKrTd0d25huulGAMdIcckqhzcste1d6YywX7UmNkySzfhWWcfr7GS5KoPJjlyQoq fUoIuAag8yfn4gi2qptgN6cF3COR6DlMj5QOyb2JuzQxZzMmsB+jHGCH4fq5hFhujjMdlMDhN/4 fS5vkVS62vjEYUzXrbLlHJFPc4lAdwCxE7l0njsyPue8FJkWUsP7se1+lSWs2/3a4v5g7FAYduH 7uJApALQjzawwoMuCOJUeTII+FbIUQmKy1s/rGI9zSIk/ceb+3CqSMEbUy01te04XGazVyibikl F2WYty0DvADTQ6H/XLxe1tjAhvBLsqp4VrdrBSaOWQwwDT0GwSHn50vaE= X-Google-Smtp-Source: AGHT+IExfjkQaxr86iBkvG/IR0LuA6uXH+fNVb52V1qaoTri8EOO/aRFxqESRaWakazlUlf9jVVwpA== X-Received: by 2002:a05:6000:1ac7:b0:427:45f:ee1a with SMTP id ffacd0b85a97d-429a7e559c3mr1836470f8f.25.1761631873123; Mon, 27 Oct 2025 23:11:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 40/59] accel/hvf: Remove mac_slots Date: Tue, 28 Oct 2025 06:42:16 +0100 Message-ID: <20251028054238.14949-41-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761631905164154100 From: Richard Henderson This data structure is no longer used. Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/hvf/hvf-all.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 97b367bd788..53efd54b97a 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -22,15 +22,6 @@ =20 bool hvf_allowed; =20 -struct mac_slot { - int present; - uint64_t size; - uint64_t gpa_start; - uint64_t gva; -}; - -struct mac_slot mac_slots[32]; - const char *hvf_return_string(hv_return_t ret) { switch (ret) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631941; cv=none; d=zohomail.com; s=zohoarc; b=kBOT/lKBhHyRvqxumcntlJWT2nFAzOUXBzHzgh/JY7Vyg71SPhr3rzXZfKBBvCqVsspUk39hHGHTWed2lf4Hkaz8GNWPFT2t0brEMPLT5I5nB/3xEDFnTRHOVKWjhq5K2CnT8PjQRIxvalVI5DKAj1iYVeKPcVcuivbLN4fnbLc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631941; 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=aS0vYK7FAdW5kWmJPk1Aw+AgekaHr8JT0J7mwxVb5Y8=; b=RnBwQE4AXEB9YrPttSz2xlc/bEgovMAUUlV5rqlv6f7tHTxCjdrAbWcpSk9domg246471N6cs3RA3VDzWuBwZfxmds8ZsOv0aPlvmA+QcXVBJlsU3yOcP8YXb1eFU9xAREukZebs0GcwG8gIZPnjvzmB32hkILaYLdPEG+IMUJE= 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 176163194095918.35222808867593; Mon, 27 Oct 2025 23:12:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcw7-00021D-7H; Tue, 28 Oct 2025 02:12:03 -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 1vDcw5-0001wg-Ip for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:12:01 -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 1vDcw2-0006eW-P6 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:12:01 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-47719ad0c7dso3283175e9.0 for ; Mon, 27 Oct 2025 23:11:58 -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-429952d5773sm19840666f8f.27.2025.10.27.23.11.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631916; x=1762236716; 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=aS0vYK7FAdW5kWmJPk1Aw+AgekaHr8JT0J7mwxVb5Y8=; b=l4MjM03AmdtHcEYzfEK377jgo1/UuHByPo565hJSUuVaETIlFN9ohhA0NedgPvZ/9f ZQsybBxxB/PtEKckeMdhbRJTQLmRh7g/po15lSJ1e/l3CiurMAeKlVN4PCZ4b2Sf29km 1HRxn5k+PkbPFQenQMIQlVg52+mo7KI4UAcOSEneYPwtruEHyLV5iDvjHdW7flLwbOr/ ALZUwHE+HUK701RyicZqwYGmyh5px6aVT0uGYxns9KtIRFKOEAd1kvj6IcOZNUQWDHB4 weHy6EEjv5hTeIGZ8StxD1uBKs3TYlhTPEiY+vTL/MS3468qVcDPRBKVCosXoiwZ0HOP f+Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631916; x=1762236716; 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=aS0vYK7FAdW5kWmJPk1Aw+AgekaHr8JT0J7mwxVb5Y8=; b=MCPfwLTpezNIPbgHD6pCia+FutGO9zD4ueta3RYxccEyOtBGDw03Z2PwvmxJY+j+h3 gRwrljAWgjfoLiqSk2tBZEGua2J1dGr21MioOug5ddzSu7Osaj6oVzqkUiG1DvOZ2OyZ 7mpNPduee8DeTNBeaPOOnuWcTzpXumZAso510crkNFGgSMV48lNrlJ3UAcy9U52WObg/ 0zY/Z2tCbGnpbVWpEBWFlj6MjKHXpSJvGK5hN6oh1nMgGEF4+42G1vTAgx/jHexjIsGe 5hkiDXoYP3L4iVmgwalN8HR4l++5gf1n/P2aYrqOpL5M6+Y+YEmESSdsTGJyjpi0CJCa 91YQ== X-Gm-Message-State: AOJu0Yyd48c25A8xMuZHW7GGWKDaxY5yeBLWvCPGfVSRK787oZTQMmGb KgsoBicoRmKpVRgOM3njKZ20dyrEGC5e8uxgsM2JNGDK7Knlt32/xvrCbB5WsOlU/00Yeb15Sxv R2Fo8iLg= X-Gm-Gg: ASbGncsqOfi6Uglez0IqyZxhlBp7e+r6GxzlHViWQcXXmTAVHlerl8thew//9VcUvae HW0Q3uk/nURy9931mzzhtlgrG3gNj/zvY2Z7y8H1/dMj4P1XaYOXMcQ/afvUHlFQsl3sr7Ms3N1 025ngYL83c3ArdabIo9sDy0aywbbEzi9/v+pPw/N8e7SXyMDB1RadlTHGbZy0H4xgHJft8CYYsM Ax7oGTY3pDTCxtR+9+L+yyC04inrxrZRwWusxZx+sjw20SlPH6dJliVGc7KEvR62RO7k0OUltcZ A7qD4IEDtQqake6knZSehOuZtA2S23Yg6WmI3eXi3c7SYEVqseJolE0qKA7OFmxN/cOW5c37wzl 5wtGVhtEdG/OT92AFSU+a8ivoGS2U/Yjqm9BRM8QaPNmQIVyrYAz6muKAY1o9OUxZpi5Ia2mafM gDAc7EgXaSrh7j7IQGu/4f5pQBNAoNwQoRC2nay9Sj+CkWKl9onyW6Mf0= X-Google-Smtp-Source: AGHT+IE72oYOMRj8XSpUowEgkmW4Z2idwqu0qjpbI2MexT3/IALEkOeQmPs1V3bK+Xmn7o1P68mtBg== X-Received: by 2002:a05:6000:609:b0:429:8bfe:d858 with SMTP id ffacd0b85a97d-429a7e96e28mr1862265f8f.59.1761631915551; Mon, 27 Oct 2025 23:11:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 41/59] target/arm/hvf: Implement dirty page tracking Date: Tue, 28 Oct 2025 06:42:17 +0100 Message-ID: <20251028054238.14949-42-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761631945509158500 From: Richard Henderson Notice writes to pages which are being monitored. Mark the page dirty, re-enable writes, and retry the instruction without emulation. Assert the fault is not from a stage1 page table walk. Signed-off-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- v3: TARGET_PAGE_SIZE/MASK -> host page size/mask (rth) --- target/arm/hvf/hvf.c | 52 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index de1e8fb8a05..da2f4cf2e9c 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1869,9 +1869,10 @@ static int hvf_handle_exception(CPUState *cpu, hv_vc= pu_exit_exception_t *excp) uint32_t srt =3D (syndrome >> 16) & 0x1f; uint32_t cm =3D (syndrome >> 8) & 0x1; uint64_t val =3D 0; + uint64_t ipa =3D excp->physical_address; + AddressSpace *as =3D cpu_get_address_space(cpu, ARMASIdx_NS); =20 - trace_hvf_data_abort(excp->virtual_address, - excp->physical_address, isv, + trace_hvf_data_abort(excp->virtual_address, ipa, isv, iswrite, s1ptw, len, srt); =20 if (cm) { @@ -1880,23 +1881,56 @@ static int hvf_handle_exception(CPUState *cpu, hv_v= cpu_exit_exception_t *excp) break; } =20 + /* Handle dirty page logging for ram. */ + if (iswrite) { + hwaddr xlat; + MemoryRegion *mr =3D address_space_translate(as, ipa, &xlat, + NULL, true, + MEMTXATTRS_UNSPECIF= IED); + if (memory_region_is_ram(mr)) { + uint64_t ipa_page =3D ipa & qemu_real_host_page_mask(); + + /* TODO: Inject exception to the guest. */ + assert(!mr->readonly); + + if (memory_region_get_dirty_log_mask(mr)) { + size_t page_size =3D qemu_real_host_page_size(); + + memory_region_set_dirty(mr, ipa_page + xlat, page_size= ); + hvf_unprotect_dirty_range(ipa_page, page_size); + } + + /* Retry with page writes enabled. */ + break; + } + } + + /* + * TODO: If s1ptw, this is an error in the guest os page tables. + * Inject the exception into the guest. + */ + assert(!s1ptw); + + /* + * TODO: ISV will be 0 for SIMD or SVE accesses. + * Inject the exception into the guest. + */ assert(isv); =20 + /* + * Emulate MMIO. + * TODO: Inject faults for errors. + */ if (iswrite) { val =3D hvf_get_reg(cpu, srt); - address_space_write(&address_space_memory, - excp->physical_address, - MEMTXATTRS_UNSPECIFIED, &val, len); + address_space_write(as, ipa, MEMTXATTRS_UNSPECIFIED, &val, len= ); } else { - address_space_read(&address_space_memory, - excp->physical_address, - MEMTXATTRS_UNSPECIFIED, &val, len); + address_space_read(as, ipa, MEMTXATTRS_UNSPECIFIED, &val, len); if (sse) { val =3D sextract64(val, 0, len * 8); } hvf_set_reg(cpu, srt, val); } - advance_pc =3D true; break; } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761631986; cv=none; d=zohomail.com; s=zohoarc; b=IHXEiTNU4ZT/vRsXUGYQujLOfx1OUjy6/KLTViNtUumrk9L2+G9zJMhISazGBF5x6qW/1uhTuh8nJ2VoJkf7k1YQXfVnhvlBLeyB0NHZNrUbj0rpWRfNehuAou2v/alRpvytgm7G9/wggy0ve5vLwTA7hcyK0Pp8L++mls2czLM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761631986; 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=rS/0cEG8zGv/ErrZdKLPdjhw1ubEPoYKy6MJUJ+uZjY=; b=RfEoCqWakQCbSIIvlvixwgPUZXwk6OxLimYjmC51gAzJo2TyoMGa5nN49my9ZjbcrmXx5hiMweHIgqrI6cLqTy1OL/ytEGOlxvPfnEGYvgWq/GXcUdLJa0u727EjodGyiDOSGO7VJn8KDPYy1cS4dpZfCGWbGSDQ4sBcvNS8QXc= 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 1761631986351876.7437636847159; Mon, 27 Oct 2025 23:13:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcwm-0002uC-0W; Tue, 28 Oct 2025 02:12: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 1vDcwj-0002sm-VV for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:12:42 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcwi-0006jA-3c for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:12:41 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3f2cf786abeso3203057f8f.3 for ; Mon, 27 Oct 2025 23:12: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 ffacd0b85a97d-429952df62dsm19852899f8f.45.2025.10.27.23.12.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:12:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761631958; x=1762236758; 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=rS/0cEG8zGv/ErrZdKLPdjhw1ubEPoYKy6MJUJ+uZjY=; b=cdXIQ1wYV2Cvm1njocpgEX9QSbN+8vmV+m/V5nZA/sVnrrIV8975JATlQd6o9gfjpa zmZ8x43SBW7+sOGhtWHF/UQVCXNeznsOyUNUo9GOJ/+3RUfdf0nc/n69U5/QrEkc+/1P NAEtrqmbBLJS3ifGRgw1izEykWKzgk+deH09DNqE6+rPTSAHzslw8LXihgjnyEAFnH6H Qyz516Evgih4ONJnNQtUMPOS+Fw8FfBXbr/kOP3Zs94a1Vl2pk+L4XZW4L0vew8Y2AXm E81McVYM3sDJrZh8nXsB4BKOX4bttaJt8KpLlqgtwsxaRjifnqcOtihzvUFPdYvTfjK9 q4fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761631958; x=1762236758; 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=rS/0cEG8zGv/ErrZdKLPdjhw1ubEPoYKy6MJUJ+uZjY=; b=WRjRhqnZJnhM78eOqEG6zOoJOe1faIkVD9hrzhp6LNgdbfauzNCoRY09Rt56YHXU1H M3gUA6Lv2TWJXUV5qb+ypho2KaJOliQpmTfmG4G48JKKdbmelhdZSdb3XOr9vJ6HpS01 /mFdaWREbTU7bGTQOOlDm4EvGrp/4LjVh5a8d0ONRjl74u0a0lqdHyR859cGVnSymQ0o JBFtdQPp9GGmTFH2j+dvZmU3ZHZC4FdUDmGWsaGyV8LzUcx7xVMfe3gufwp2FfYCVdby 0rWpvFpvpPylo6Cb4dePLh8h5e/2Qyy3ufVSIoVNop4YqYzGQfOenk6a3nyNPj+yYMDu uABQ== X-Gm-Message-State: AOJu0Yw1/ON2bkaGAMpS7Hu5zhpgNceCsW8stiM/zwjBCoARrZtH3gol i62D82Qf1weGJvI6q2LkuXWERQOKdGvamaTvAqje4wPnReJewtdQxlts3+27pl/QP00czwwGZ/u D+ZTfyf8= X-Gm-Gg: ASbGncttg24DIHINoVyRRtJ5c9zUI3jdFB6ek7hLE8TMNIYJTJoPkgqB7aYlVYR1mrP Kkqw+MYUeIfQsyCtWTWD8XOpgLOKWaI6oLEmUj2vA7piscEs0rOvvWTY6l1l9h5uFOmDxGDd/K7 hOEPYrXjoog4MPiHdU3ltk6nK5NR0AVAtZqhffujjxdzVh5oIdCx88EFpqtDrJWU09jY98ivNS7 d4envRqsyvwyiRWzy66GoY+U8WR934pDT9LdG/SYOQOMkelOPNIy6E2tdJ+Rlmo4iYLIGQzn3nJ 5Uk5ZQcrio53Y6VH73dnU/2f2LvJNBSjqz4z68ZPqXiG3BgrGvA5XH5mzpBjCSDSuMBH6ZJAsKv S4qPsYLOgC1yuKssZ7753WM5pgBtlLjVceJ7rdXNXLQ7l0hRePgssH9rsJrfhcRFYF/y1bEuKT5 0UDK3GhT7PInRwSpoH13/J75vEV6yRFYpbuTAVLXyudUy5KXqBTeoA2hI= X-Google-Smtp-Source: AGHT+IGt+o0q20+/Ua5ohB99OZ+yA4Shz9NLkIv10R2A0bast3mbUlcuctXhX31HLYOnJwVrl9+abg== X-Received: by 2002:a5d:5f87:0:b0:427:665:e373 with SMTP id ffacd0b85a97d-429a7e9df7bmr1810027f8f.63.1761631957746; Mon, 27 Oct 2025 23:12:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 42/59] accel/hvf: Skip WFI if CPU has work to do Date: Tue, 28 Oct 2025 06:42:18 +0100 Message-ID: <20251028054238.14949-43-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.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: 1761631990263158500 Avoid sleeping vCPU thread for any pending work, not just IRQs. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index da2f4cf2e9c..1abb4a7d7a9 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1737,8 +1737,11 @@ static void hvf_wfi(CPUState *cpu) uint64_t nanos; uint32_t cntfrq; =20 - if (cpu_test_interrupt(cpu, CPU_INTERRUPT_HARD | CPU_INTERRUPT_FIQ)) { - /* Interrupt pending, no need to wait */ + if (cpu_has_work(cpu)) { + /* + * Don't bother to go into our "low power state" if + * we would just wake up immediately. + */ return; } =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632042; cv=none; d=zohomail.com; s=zohoarc; b=K5jg40cHJjSU7GZRkXATwUHLJfv1NkeChD1hZ3rq5fEY2zc4JKkozdKtcfMfPTChMpHhRwAyUAQEOjqQDGkKJj6prNdxPU5Waz7InrVOD2ohqOJO2COqgCz8RFSsAjUMYMxukZGUJuW1BbUF/6UULXEw7JLbFHDWy7k3PFwbyh0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632042; 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=XB4scvM2utrFpVmeUUOjkW2XsKNOfvIvM6k/lnSZarI=; b=CbdFY+Z6ZsfMfr05Bsmk3HYrBuiBG0Dq+gEEXW4NR7HYAbM0I5uftr1NzVZsofohpNehs1IU22AoFPvVvGjXxyPZy+FbcUaIvuUuOwnmeGXp5gkQ3I4xRTzdIKg914fJIBqPygyfpc4EC/yBUE489IIIdYzLeR59UdzFluWWXxg= 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 1761632042672957.9963011296297; Mon, 27 Oct 2025 23:14:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcxa-0003cu-7Z; Tue, 28 Oct 2025 02:13:34 -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 1vDcxU-0003bI-Lq for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:13:29 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDcxS-0006ky-0Q for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:13:28 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-475dbc3c9efso21720645e9.0 for ; Mon, 27 Oct 2025 23:13:25 -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-47718fe6382sm11511685e9.4.2025.10.27.23.13.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632003; x=1762236803; 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=XB4scvM2utrFpVmeUUOjkW2XsKNOfvIvM6k/lnSZarI=; b=fu/JgioJLvXyk/zAdNGRJZliI4A51K2qszaK7BEtOBT2203w6N2dwrj6AFLqKRdtFk N3YI2n+XLt3FKjH2jORYeUz89JBSO4xMZbFjrtbpPcI7D6PaHUWaVp7ZazCF9KZGxy5n MeINsejXBCEgLBVhnyLlEK6bMi5YZ/8SV8v3XheAd88sx3+KcM0vCuD9H9HVKedP7gmj /ijIw/LA3z2/gejG8FdMsNY9LklQcjoAdcsBnHVGMLfs/9TA4BCX3FYjrnUV7ysg4RdE u9GKVvZSNL8eWC2tvbmyRMmq8I2He2yH4y/OmgZwQFd3j9A3z7zP38meWsdg5sgYXM3g MBwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632003; x=1762236803; 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=XB4scvM2utrFpVmeUUOjkW2XsKNOfvIvM6k/lnSZarI=; b=Y5IKXQQ06VGOtMrenQwLMFBLDXuPe3uDWxeNT8/xWIjZPsCJpYfViXyC1Ep2hC1Bcu bdbMi7k+FTACCiAeRe1OhvP1YiVnxRymHI/jbO4VqF8WuVyM8zBt1YKhVGHfj84F7N6T ltkUKbPnVycI7T1zVJ17c8ahRt2CJHyslt5gqImDlgsXVe5i4rpAUqPT3Wjd+OPpOcGt rPGnb8thV6CjfaoVJgZkLY7wN1n5mNsni/TnG92sa72RIi8lNOBvu4An22QJd1MzszNj xBCNkBMiXb9HpBo/L7jtjy18357HwZ4UCtTuVbU2FUIG80Lx7uxMRT4RwHg2C2NPTg43 L+fg== X-Gm-Message-State: AOJu0YwW4KSTienCyF00ged7oq7PJWoTU4iwYSzeKFuJ4f1eAghZ2TP3 K00i9evH3q8269msvAYt58wsqM4/Ajt/OYG0M+F2NuTCucdhbUp1C/AymqWwzcxgUqaMoApBIj5 ulBwcv8Y= X-Gm-Gg: ASbGnctWccoW/8ubClBofwmaXQPlfjWXuchex97wfOTiqV8iCGtJnwAwYesspHSeFJW J7rStMf3eTBKBqYRfR57LbVRREmAyS2eBvAvTNAMxszzjpYrypuv3gV0e2gVa1MioaxrRSI8mmI USbg9j6wGHbUfED7HmxcDeMmks2Q/XIRXyB29zjvGS/BxkYMifzSXBV35AMVukpHgHQD2FRSpRr 3+pIVXbexHHgDBikmP9+FiHF38wBty2mmafzDw97dNl380rvWOLGhXoCz37n1+OQ6CcfMnizKh1 mskTlJnIJeNSzLR8tE1VKKmx3BQPfZo+HfaacwRE8vIHuz2yWMGo+6s1ErnRdObJ/a9aqTODLxG r1HAudEhsCJMjSu07hoSB6rGjM8rWKsQr8AiZayeztPMIRcBJgPmWudyWAgQZgCuJkdBZTfq/aB uDAIlmEZ7EciOSr0UQ9XnzQJA8au00y3EKqY98kgRXaw/asqIF65oqTfI= X-Google-Smtp-Source: AGHT+IGGItfAZ+2jiXFo/U2dbhz2Rh3B83tyo08hkzvQgdP0XAUz8weJ7eXn4FmVhmxceBp8UlQvkA== X-Received: by 2002:a05:600c:1da3:b0:46e:4e6d:79f4 with SMTP id 5b1f17b1804b1-47717dfaa6dmr15612635e9.15.1761632003476; Mon, 27 Oct 2025 23:13:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 43/59] accel/hvf: Implement WFI without using pselect() Date: Tue, 28 Oct 2025 06:42:19 +0100 Message-ID: <20251028054238.14949-44-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.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: 1761632046750158500 Return to the main loop where we'll be waken again. This avoid a tricky race with signals introduced in commit 219c101fa7f ("Add HVF WFI handler"). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/system/hvf_int.h | 1 - accel/hvf/hvf-accel-ops.c | 5 +-- target/arm/hvf/hvf.c | 74 +++------------------------------------ 3 files changed, 8 insertions(+), 72 deletions(-) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index d842d4b2b99..c8e407a1463 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -47,7 +47,6 @@ struct AccelCPUState { #ifdef __aarch64__ hv_vcpu_exit_t *exit; bool vtimer_masked; - sigset_t unblock_ipi_mask; bool guest_debug_enabled; #endif }; diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index bbb0b385fe9..e9dd2d24745 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -128,14 +128,15 @@ static int hvf_init_vcpu(CPUState *cpu) cpu->accel =3D g_new0(AccelCPUState, 1); =20 /* init cpu signals */ + sigset_t unblock_ipi_mask; struct sigaction sigact; =20 memset(&sigact, 0, sizeof(sigact)); sigact.sa_handler =3D dummy_signal; sigaction(SIG_IPI, &sigact, NULL); =20 - pthread_sigmask(SIG_BLOCK, NULL, &cpu->accel->unblock_ipi_mask); - sigdelset(&cpu->accel->unblock_ipi_mask, SIG_IPI); + pthread_sigmask(SIG_BLOCK, NULL, &unblock_ipi_mask); + sigdelset(&unblock_ipi_mask, SIG_IPI); =20 #ifdef __aarch64__ r =3D hv_vcpu_create(&cpu->accel->fd, diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 1abb4a7d7a9..5fc9b217a11 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -301,7 +301,7 @@ void hvf_arm_init_debug(void) #define TMR_CTL_IMASK (1 << 1) #define TMR_CTL_ISTATUS (1 << 2) =20 -static void hvf_wfi(CPUState *cpu); +static int hvf_wfi(CPUState *cpu); =20 static uint32_t chosen_ipa_bit_size; =20 @@ -1703,81 +1703,17 @@ static uint64_t hvf_vtimer_val_raw(void) return mach_absolute_time() - hvf_state->vtimer_offset; } =20 -static uint64_t hvf_vtimer_val(void) +static int hvf_wfi(CPUState *cpu) { - if (!runstate_is_running()) { - /* VM is paused, the vtimer value is in vtimer.vtimer_val */ - return vtimer.vtimer_val; - } - - return hvf_vtimer_val_raw(); -} - -static void hvf_wait_for_ipi(CPUState *cpu, struct timespec *ts) -{ - /* - * Use pselect to sleep so that other threads can IPI us while we're - * sleeping. - */ - qatomic_set_mb(&cpu->thread_kicked, false); - bql_unlock(); - pselect(0, 0, 0, 0, ts, &cpu->accel->unblock_ipi_mask); - bql_lock(); -} - -static void hvf_wfi(CPUState *cpu) -{ - ARMCPU *arm_cpu =3D ARM_CPU(cpu); - struct timespec ts; - hv_return_t r; - uint64_t ctl; - uint64_t cval; - int64_t ticks_to_sleep; - uint64_t seconds; - uint64_t nanos; - uint32_t cntfrq; - if (cpu_has_work(cpu)) { /* * Don't bother to go into our "low power state" if * we would just wake up immediately. */ - return; + return 0; } =20 - r =3D hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CTL_EL0, &ct= l); - assert_hvf_ok(r); - - if (!(ctl & 1) || (ctl & 2)) { - /* Timer disabled or masked, just wait for an IPI. */ - hvf_wait_for_ipi(cpu, NULL); - return; - } - - r =3D hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CVAL_EL0, &c= val); - assert_hvf_ok(r); - - ticks_to_sleep =3D cval - hvf_vtimer_val(); - if (ticks_to_sleep < 0) { - return; - } - - cntfrq =3D gt_cntfrq_period_ns(arm_cpu); - seconds =3D muldiv64(ticks_to_sleep, cntfrq, NANOSECONDS_PER_SECOND); - ticks_to_sleep -=3D muldiv64(seconds, NANOSECONDS_PER_SECOND, cntfrq); - nanos =3D ticks_to_sleep * cntfrq; - - /* - * Don't sleep for less than the time a context switch would take, - * so that we can satisfy fast timer requests on the same CPU. - * Measurements on M1 show the sweet spot to be ~2ms. - */ - if (!seconds && nanos < (2 * SCALE_MS)) { - return; - } - - ts =3D (struct timespec) { seconds, nanos }; - hvf_wait_for_ipi(cpu, &ts); + return EXCP_HLT; } =20 /* Must be called by the owning thread */ @@ -1967,7 +1903,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) case EC_WFX_TRAP: advance_pc =3D true; if (!(syndrome & WFX_IS_WFE)) { - hvf_wfi(cpu); + ret =3D hvf_wfi(cpu); } break; case EC_AA64_HVC: --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632067; cv=none; d=zohomail.com; s=zohoarc; b=mOtwJhTbXZflwCz1FVhsMAdUpvVyA6ENvuMDhHmz8CUWmIHTsiYmszTgcWWo2RwUVEHkIeVdMqzdtzsopSDx6/R/P/22XqGpIEmUdB0pPR4ud4eIWqpIvYyVJtrQhWPIi/uqAmvJP9NShU9XZVfpnKjOsUoGSpL9OaNl46sgLT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632067; 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=MCrpbvmA6dW8jE5sx5kPv1Y+FBzb2FgKrxpHf13tOXw=; b=aVd+phCVjcArpFSmR2auWbXrH85peK5LK6FbgI5na9DQk8T0mxtwphGVpJDO12qufdkL/tSF8wXPJVWdtecTtQyJC2PeM3Tdx+YFDtEJSALeXqNEJux7mHdBavicU1TrvuPQiTDzi1U5xHTrnpMv32fFFqkM08tCjb6o5bkeyYA= 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 176163206712971.37517737921257; Mon, 27 Oct 2025 23:14:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcyG-0004VE-1o; Tue, 28 Oct 2025 02:14:16 -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 1vDcyE-0004Ts-Hp for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:14:14 -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 1vDcy7-0006pf-QQ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:14:14 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3ecdf2b1751so3809057f8f.0 for ; Mon, 27 Oct 2025 23:14:07 -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-429952b7b2dsm17994140f8f.2.2025.10.27.23.14.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632046; x=1762236846; 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=MCrpbvmA6dW8jE5sx5kPv1Y+FBzb2FgKrxpHf13tOXw=; b=Y+33lXMpbNpFNrSrZHN1IqeirHKnmGaU2denmU2mPKBCqpukM05L6J2GHznlhqTaYy N7ZWYOmo7qWhWa7oKMicWjevnQ3z/++4L8ojYWp/jgOhcfjvmWuBEXWCPIeot05Tl/FP wL12AARHSise0qa1Khk8aGMZyGpYhWOS2hID+MhOs+VMx0z/iGe+1O5ErT/10DB5KFBj sXKtf8OY3zmA8Q+Gm4RMOX+DWvnmVQN45lAsY3yl9rXo6rp67Cp9LjSaUckSKrqE+5vK JEsm2CGrMr8X03k/v1cUIb/RAnTx41wXw443I+NgCrEVLuB/yAGB+6gxcEdZOZpdBYKs HwTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632046; x=1762236846; 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=MCrpbvmA6dW8jE5sx5kPv1Y+FBzb2FgKrxpHf13tOXw=; b=uHPZUtVub5uYMSjb4gLJ8xpMIEnG2fnRKGjUgNBhOPGAHzVBfwwxKOMSshZ7sOT7gZ k6iFJqmTWkGsysBxkVcW6hHy86bZc4Tvro2bgFvY12wiqHIRSIcl5NAKm7eccBB3ZCz2 F9pOSV0FF0hB/8XL1i6ADFdNuwkOzx7lEr9p8vakMAV8MDS7G+Xp4cgxN92aw6I0meM9 S2pAAe1V8d0Yvw4o6uXVpbV2MaJlMjGXGhYdVo9ZIbfR6HhKQe0m5eQJEWEz1066DMyU oVeGPR6GQJcsg2bfpXbzT9oo6kQSfOn+rtfTz6M5mYofCxjo/q+CbJuK803LxiEpjNrz hwkw== X-Gm-Message-State: AOJu0Yz/AQuGvVdGwBWjmLYzMepQ7hMIL//+smHcllWDvyacMxUGlF5Y 81XF3777sRuCbGxCfOY2xUv5XIEFwZoYdhQ28nMCsb0DXJoIIbOJZ3qmujLeFXKIHxd6ckrP/PX 3aQzsceA= X-Gm-Gg: ASbGncsFRHfoOaFJsltcM6yE0nc6f7bv/swgqyHlO+zGjYWVRoXfVncJKcpxKTRlfJd Yq6tB3r8GmczPt3MMx1OdCCANgU4K2d2LEmzx8dttcw2nmT0oN5k+4KlCvfbWdYpqYwJs3Zrdte Of9VghpxeIE8CohcdPnJzSqePr+R4B/ZiGrMH82l8W8DHFsBPI2rLJDy1EfrPTxA8Ys7hYu9XYe dB2TArbsmJUrEA/xptWrYcPsoxEmC8d8aupYsXd6OFBpNDf5qXXDwLx1OCYzCu35viGK15P8j5s JdEJ0aYTw60dZssrAIwoVwljNXNbtYNDdIk7QHW3mXTiO7ve5+NGkz2YItIjFiOC0rbZF+5kg3F L6MzCEDvWN5CqMiNYSjOxRki7UfWORH8cllDJj/bA/l/15XV0/ljDMtS6ggSIFQRMGFigr7d3w4 oAtD2Uc1HsF0FX5hPenctQboifKySbURjXkFx6xy5ofBb93nKHGNh8W8U= X-Google-Smtp-Source: AGHT+IGHyiy6BhdqPtoG0hs3zNXL9bksnPzkDfSLoNnXKjqYnZLURUXFTffL1IvUqjVbu9YaEaFi9w== X-Received: by 2002:a05:6000:40d9:b0:428:55c3:ced4 with SMTP id ffacd0b85a97d-429a7e59e2amr1668859f8f.18.1761632045766; Mon, 27 Oct 2025 23:14:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 44/59] accel/hvf: Have PSCI CPU_SUSPEND halt the vCPU Date: Tue, 28 Oct 2025 06:42:20 +0100 Message-ID: <20251028054238.14949-45-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761632070969158500 Return EXCP_HLT to the main loop. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 5fc9b217a11..f9d983fa123 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -301,8 +301,6 @@ void hvf_arm_init_debug(void) #define TMR_CTL_IMASK (1 << 1) #define TMR_CTL_ISTATUS (1 << 2) =20 -static int hvf_wfi(CPUState *cpu); - static uint32_t chosen_ipa_bit_size; =20 typedef struct HVFVTimer { @@ -1008,7 +1006,7 @@ static void hvf_psci_cpu_off(ARMCPU *arm_cpu) * Returns 0 on success * -1 when the PSCI call is unknown, */ -static bool hvf_handle_psci_call(CPUState *cpu) +static bool hvf_handle_psci_call(CPUState *cpu, int *excp_ret) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); CPUARMState *env =3D &arm_cpu->env; @@ -1091,9 +1089,8 @@ static bool hvf_handle_psci_call(CPUState *cpu) ret =3D QEMU_PSCI_RET_INVALID_PARAMS; break; } - /* Powerdown is not supported, we always go into WFI */ env->xregs[0] =3D 0; - hvf_wfi(cpu); + *excp_ret =3D EXCP_HLT; break; case QEMU_PSCI_0_1_FN_MIGRATE: case QEMU_PSCI_0_2_FN_MIGRATE: @@ -1910,7 +1907,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) cpu_synchronize_state(cpu); if (arm_is_psci_call(arm_cpu, EXCP_HVC)) { /* Do NOT advance $pc for HVC */ - if (!hvf_handle_psci_call(cpu)) { + if (!hvf_handle_psci_call(cpu, &ret)) { trace_hvf_unknown_hvc(env->pc, env->xregs[0]); /* SMCCC 1.3 section 5.2 says every unknown SMCCC call ret= urns -1 */ env->xregs[0] =3D -1; @@ -1926,7 +1923,7 @@ static int hvf_handle_exception(CPUState *cpu, hv_vcp= u_exit_exception_t *excp) /* Secure Monitor Call exception, we need to advance $pc */ advance_pc =3D true; =20 - if (!hvf_handle_psci_call(cpu)) { + if (!hvf_handle_psci_call(cpu, &ret)) { trace_hvf_unknown_smc(env->xregs[0]); /* SMCCC 1.3 section 5.2 says every unknown SMCCC call ret= urns -1 */ env->xregs[0] =3D -1; --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632115; cv=none; d=zohomail.com; s=zohoarc; b=L944ck9C47zzHjw7aMtVf2bHVm5ZyPZwA7IR/pEhC2vcwuafmiSnvwI/N4WT+CUEZN5dmV0t3//EJeS4C+P/EAYPmM9R77XqD71c1mQWeGZqGn2284UCI5CPtPUhFhti0PlIkRSY6KF2tkgxeiV8ipE/uS8aVe/AopPr0Fem9kw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632115; 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=xopSbsh+IkB5STrBQ4YQZEElngQLIdle4gTE7izg1DA=; b=B9Jwl1lOsPwMcsr1HwOF5NFzmbugWIEru/Caae+1nT6+0rbXCh2IF/Gj4+GTv0OdAeyQ9c64dVrRB2r0j/oPecWhrcJrJxvCLROMd0KFnEFVEh2TwBCtM1UC3dEX1mLjkE6kVk8jFXoiWWxhgxg6SYA1wwKaZnLfEEa8PT6KWQ4= 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 1761632115591859.4433907290395; Mon, 27 Oct 2025 23:15:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDcz0-0005Ex-NG; Tue, 28 Oct 2025 02:15:03 -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 1vDcyx-0005D2-19 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:14:59 -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 1vDcyo-0006xc-DK for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:14:58 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-475de184058so12121255e9.2 for ; Mon, 27 Oct 2025 23:14:50 -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-475dd489fa4sm170886655e9.16.2025.10.27.23.14.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632088; x=1762236888; 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=xopSbsh+IkB5STrBQ4YQZEElngQLIdle4gTE7izg1DA=; b=sj61ARNi0XBMmQbi0sLIpwX9bKnFUdjcfmK2uJ9df5iXiIEzfTF2tCoo5BJX01y71I YmR2PJYRe+d0UGXmkLP9kjEo8PZ1zLSLkbVGVEm5Dhq/33j2nNcqDE9G464rE2J1gOUj gSqbFDuAe/J+xg4JLC1aAKRlMzVG/mugsLQYu5cp6DvdhHO2sMdT2yaWda0WUwXp8o3n 3lEibwyj9NCihsefawc/z0rWeHxOFEufYKTvdYU22MU0C7X+s9xMWCUZ9IH8UPDQ8P9k bo0UrDsJ0vzsIM/wTgrX9eeXfWEkSEUzwTeuElcAyWaTpkcS/z1d0npdszcdPEaVrgZ8 GDGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632088; x=1762236888; 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=xopSbsh+IkB5STrBQ4YQZEElngQLIdle4gTE7izg1DA=; b=M5uxqVVmypZswHyNx1U4rUatkxQ9V28WbomHQzMXgOXlyRUlHXV5yFiYaRJq0hpc9v rkxtKK62Q5X8b+kfbH82imPl3JUrrvsf2eqCVyTc0kwolrHsr74LBf8DvK2G8UG3J3S3 K5vn8jWc1rn0CHCykh2sCCPe6Z2ppT8kxyRZp9o/vzxFg2S3NA/rP41OuZuOQg144ATV 4fU3bZvG9o8rKBiKbraOJLtt6soFHmwjivs6bUd2QvBOrH9cQW0aMKTfesUUH+5F8LzQ kRs91aMS3KaR8Ue+1l8YpZNPNtI5KoPh0Buex6uRtkE7uhUBqAIA3L5WaVIyp+j/qsVC e+eA== X-Gm-Message-State: AOJu0YzTao45DI5xClvgZ7KPboaFyOh5hSvnRuRqlJW7kctKVV/x0i6l Aghw9pLFg+2Tm95C/cCn0RPoWLZPCV6c02n/LwS1TOEkNppK67Mix1tvfjCU804CDNYL9WLzAzt zwPT+RKU= X-Gm-Gg: ASbGncsaSq6s4GEvWY1UeuR7FAcRbGyaYLIQTUragBA9ZRmzRHfHZErih9siYdyBSv5 Jfpf44eD7ATIYDmknvdiM7vgaJsgvrn/FvlfSRVghu0VADygmZUBraeldv8ehZ73Gcz/uUGL3rQ ij/Ux/KX9g9W8GG5TnXTFJ6wh87jqDv3RkPMIWgM7/rCWwCwf1Ks2d2ZMUxeSED5lNppj6vzdBc SgTpacx/ONr2um0Y9I7WCWalokgNSODX6tulHbTiYqm55YQU5CMWCE1ndZCF+HfnRQSMhprYL7s ZZPWZEERHyvQMfTPqsceiuMcdbUlRgEzBBSK0a33aoRafVW5B3SioeYd9E9OMULJRqucSbhQtxf OghRl6mS5Q0yubhJw0HHACcfxi0Liuejp/oO7644rkJWbwqPKS4upq5tKMcePjOTcqX5/H/4xTx DZlSYkIsMH96mTUPMdawGpol7LHG/YkpmYRatikdHu+c3CUygB43f2XetgTeUtzRoScw== X-Google-Smtp-Source: AGHT+IFdki5X+CVKIM6h0vlW1vNseSwY0yfDZG660fTQBpPc/avxGPJbyTQMxHrcza8TsFbKKyrn4w== X-Received: by 2002:a05:600c:3b14:b0:45d:d505:a1c3 with SMTP id 5b1f17b1804b1-47717e7f1efmr15560625e9.37.1761632088131; Mon, 27 Oct 2025 23:14:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini Subject: [PATCH v3 45/59] accel: Introduce AccelOpsClass::cpu_target_realize() hook Date: Tue, 28 Oct 2025 06:42:21 +0100 Message-ID: <20251028054238.14949-46-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761632118183154100 Allow accelerators to set vCPU properties before its realization. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/accel/accel-cpu-ops.h | 1 + accel/accel-common.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/accel/accel-cpu-ops.h b/include/accel/accel-cpu-ops.h index 0674764914f..9c07a903ea0 100644 --- a/include/accel/accel-cpu-ops.h +++ b/include/accel/accel-cpu-ops.h @@ -34,6 +34,7 @@ struct AccelOpsClass { /* initialization function called when accel is chosen */ void (*ops_init)(AccelClass *ac); =20 + bool (*cpu_target_realize)(CPUState *cpu, Error **errp); bool (*cpus_are_resettable)(void); void (*cpu_reset_hold)(CPUState *cpu); =20 diff --git a/accel/accel-common.c b/accel/accel-common.c index 850c5ab4b8e..eecb2a292af 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -106,6 +106,11 @@ bool accel_cpu_common_realize(CPUState *cpu, Error **e= rrp) if (acc->cpu_common_realize && !acc->cpu_common_realize(cpu, errp)) { return false; } + if (acc->ops + && acc->ops->cpu_target_realize + && !acc->ops->cpu_target_realize(cpu, errp)) { + return false; + } =20 return true; } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632160; cv=none; d=zohomail.com; s=zohoarc; b=ntr/760gYlByN5DhUlBr7BfelbpMDW6FXcX/QWbPqLnNCdf/SZOU7rlADskrGa/asEvQvzGxgte3pKcu5mT+MJFnPtRrhzrRGieLw5od9Sx8dhl7kaKY77OhYV6E/43deGomRTrn7dfG0/L00Xt4Vz3rqRzRel8KIJ2adR1/QMA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632160; 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=7SYDH18fMm8TitHd/YPkoDKy6b7rGIbyIx/6fd8SPFM=; b=MATozAkSaifVG5M2aUHEtw+JuTZHqRktlch5CsY43aO/hKtvDgAKZfEVQB8f+8qO3ZupGxnV6FnKL6LSzCyG+XKewvXlKNEb3S5T97XMt+Ds/C4r/GMLNCIA4pnW1H6koo0bg+iQA7NMzBvxzuYnK/74/tvSByjgQBfZOtwxpMM= 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 1761632160535146.2003511391963; Mon, 27 Oct 2025 23:16:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDczh-0005o6-HY; Tue, 28 Oct 2025 02:15:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDczZ-0005lL-Q1 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:15:38 -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 1vDczV-0007AB-C4 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:15:37 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-47112a73785so34988625e9.3 for ; Mon, 27 Oct 2025 23:15:32 -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-4771843eabfsm12890685e9.2.2025.10.27.23.15.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632130; x=1762236930; 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=7SYDH18fMm8TitHd/YPkoDKy6b7rGIbyIx/6fd8SPFM=; b=x4yfPW65IxjrpxaKdxZeoaA/KvPAHVPbZALsxVJwxA0q4WHOhJZNaoTZH7cvaIkeO0 co+q9IMA1xJ24DdsvJMhzg3q5SGL+bfg0b93lEEH8NOY/bQUx0AaHBr84BT4EUlF0dIO 1ulTxoZpoU+wLxOgJ7cCeiK2XU2KyG5P+HLlVPOipyku6qh/fqQlTUB56zEIUa3xS3wU 6hjRyw/EWCDJMCUJ+5TQWXOmiiyVUVF0d/fAUZlhKEKgbmt0pphzYQNoTUlGUTOHacR6 Dlc7lnxs6WJjLmFkL/NMqVyC2pw9JmXjzCkL8sfbDSpXZLEbtoAniEJCAHf/lr9A+CUj F1vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632130; x=1762236930; 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=7SYDH18fMm8TitHd/YPkoDKy6b7rGIbyIx/6fd8SPFM=; b=QSq7wU1Er8Ejky3qwZX8euMfoz3Q2dcIabf7fwCQ9ZSb8ZNd3N6Fvb1yxogImS1aX9 PBUsiLS+NCL+jngAVFzo41Job578/WhpZuvXO0Nwj0DRB9ELv5jlAMRerqhfMiw+Q+ti kZ83gkBY4k6OS6HV6Giawv+qIOQ8gysCwgOXczgAuVMmVvrYvROj2CrU1hBTrQoNvz6z gjVZ7I3WNXH7UuE/ICU/D35NQrjxV5vZHkdY9sOYW2CXYo/Q5tINQ+Pp641rP4pI8Akg /TDBoQhLmsctCyt1yFqZj/QQ3/8o6ifrZxJAaPNiyE/Cyvk/8v/waKOYzhmU2bAUKZyV VPOg== X-Gm-Message-State: AOJu0Yw986jWGtKH1BotKhvZLUh0ZIt36DBCjVfin/o+c74SUozF/NNp CKe+9PJ7i8Sxktajs5gnwrtm4fuLZ680ygkwoay72Nke23qLXx/Q/9LRCzK8UZl9PGzoenyX47c jthRIzlM= X-Gm-Gg: ASbGncshzjzhNL1gkhVgr1iB0b+/R4QP0PbEz7L04pogskjkO61QvH7Ho3n3q95NQ5X Q9fNM5vgfJN5h4S45baXgQao58xTR0bnu+2f0xHqyYxhWsUJ0tiQ7qOu/SZOHKn78du3AdFpJcF Q0lu18krvDIqNL5S9VlSWWtsOQtBvH9TCWh3YxGIYkZwEkpVaiJhLdKpDhSemZL+RcR6/7lLkhZ pHXH2e8a2h6mWpvDuHiBlIVvPH3adAPhrqjdsXF/pYDIri5D0NTt0GJT6FY5lF9bn77Xq+mpJ2Q 9U7/qZwVvOoDCBO3UjzZjdlmmxHcX0/280pDxlmnynoB5B05mHqydCoIGqyxwtoOUjfSIbpKfjQ Z5hyrjO6tBwCnX1VkucZo+x/tZdrjnbKFGJ5ilqmuEhmzPUabMJ/lkqzTnM8N72JIlCGPOjVTeg AAFtHQCOUQiqNNm5nu9v+4s5e454BFoEh90A/cETrPgEL8tHrsARnCINE= X-Google-Smtp-Source: AGHT+IEvyhNX9314S2nHGVscKlnB4WMxFhtOyMc2lc+HPkguzVxInNR7W/W6Xyw8rYOJZ3R13+YXkQ== X-Received: by 2002:a05:600c:a012:b0:46e:4883:27d with SMTP id 5b1f17b1804b1-47717e41464mr14791725e9.30.1761632130557; Mon, 27 Oct 2025 23:15:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 46/59] accel/hvf: Add hvf_arch_cpu_realize() stubs Date: Tue, 28 Oct 2025 06:42:22 +0100 Message-ID: <20251028054238.14949-47-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761632164132158500 Implement HVF AccelOpsClass::cpu_target_realize() hook as empty stubs. Target implementations will come separately. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Peter Maydell --- include/system/hvf_int.h | 2 ++ accel/hvf/hvf-accel-ops.c | 2 ++ target/arm/hvf/hvf.c | 5 +++++ target/i386/hvf/hvf.c | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index c8e407a1463..96790b49386 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -106,4 +106,6 @@ int hvf_update_guest_debug(CPUState *cpu); */ bool hvf_arch_supports_guest_debug(void); =20 +bool hvf_arch_cpu_realize(CPUState *cpu, Error **errp); + #endif diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index e9dd2d24745..28d50e23017 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -360,6 +360,8 @@ static void hvf_accel_ops_class_init(ObjectClass *oc, c= onst void *data) { AccelOpsClass *ops =3D ACCEL_OPS_CLASS(oc); =20 + ops->cpu_target_realize =3D hvf_arch_cpu_realize; + ops->create_vcpu_thread =3D hvf_start_vcpu_thread; ops->kick_vcpu_thread =3D hvf_kick_vcpu_thread; ops->handle_interrupt =3D generic_handle_interrupt; diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index f9d983fa123..b053bdd7cf2 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -972,6 +972,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + void hvf_kick_vcpu_thread(CPUState *cpu) { hv_return_t ret; diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index b0c3fb97864..49f26169632 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -370,6 +370,11 @@ int hvf_arch_init_vcpu(CPUState *cpu) return 0; } =20 +bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) +{ + return true; +} + static void hvf_store_events(CPUState *cpu, uint32_t ins_len, uint64_t idt= vec_info) { X86CPU *x86_cpu =3D X86_CPU(cpu); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632189; cv=none; d=zohomail.com; s=zohoarc; b=Ff8m/bdaE1ZQEQYUfju1I7KQDjHv6ZjL4lAvWWl3CfwM5N26hRUEcchXMwThBYxvKLaCNIrkaKDZCqAqEMzRxdCvsaA4lSSNvTbJj6cI4IH1b6yhMIEFfcXIRSOoTgKjyayzGgSPkB+hKRmn9FgKJqosFR/1JsylMuLmsWzXQnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632189; 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=R3F2C6kHHPWBiLc/P72P8z+qmvtuhzoJzLzlQGryUqk=; b=aUSTs5F62nqOPF4GeRTSPqycNaAkczfa1iPui0po6Rb/B+3DiKsO26yeEbttG7RPta14WOj5K8EVpvoIUIzNMdV9gBHfGKIQiUAXJ+GevSPAIDBBHs1lJE8b0EyPdqYDC/dRgg/rrThGJpprpI2xNTi2g49Eb6zh09futlvS5Pc= 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 1761632189021626.9574444682065; Mon, 27 Oct 2025 23:16:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd0H-0006t0-SJ; Tue, 28 Oct 2025 02:16: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 1vDd0D-0006r1-8Y for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:16:17 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd0B-0007DK-4P for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:16:17 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-4298bada5bdso5032987f8f.2 for ; Mon, 27 Oct 2025 23:16: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 ffacd0b85a97d-429952d514asm18420589f8f.23.2025.10.27.23.16.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:16:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632173; x=1762236973; 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=R3F2C6kHHPWBiLc/P72P8z+qmvtuhzoJzLzlQGryUqk=; b=WtfiCYM/2TwjZw86KVUAig5wCQNJEAjJJ6rC1s0lZq/S8M8Z3MjEP0CB/12jjyOsXK 5lrH2fO+YbmAgGKTXnFYx1R1JzVSalKCRFXHBAq8XYnDjRBSRyCI4TYIQA2tA9m7Nwoi erOiD/mEG1TNNuToKW3T+YWY508gp3zd0SCp0yKcXzWdDzEg7gWH2vNMKpDu6i69vRD9 /Ws+J6XwWTOur6GeXmx0+ua7cQ/qHHcFY334VeSHZGy5OIhvqSvsmJBjabQ1MZImRMPJ wg49am9uaBBSe7SwpLLXqMAzthgueAAzG+18KuFFlqxiFDqOPwQxkEe5T82FsRFGQQdn yxxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632173; x=1762236973; 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=R3F2C6kHHPWBiLc/P72P8z+qmvtuhzoJzLzlQGryUqk=; b=bAqPD/g8SfVStXkZQdTwsABHtuBnjDGkMZxm9nle4pmDR8DD7afvx5T2bxyRcJeMiI WPXOYHgUuEFfyx3zZW4YnlVr9S/29nycQ+5nbPtQQmlEMB5LcKwh1gkDfXh43CRrz55D SqfAQdu+6dyoPAj9XOlFZiLk0futIPTD065s95myrcaL8qqX4Q0QKea5JGy4Bxi1zspd MfXIWbfGo19b5gic8f44ah2/Hkxky0nXz379YWxYYlDwx1dDoNmowMAFmOckeRzBKtuc Kpf+EXFbqaa8TWsZUKJUA2yC8OBSCxvHs/0mDOMtbxpyocTIjy9Iqth+8uL/aDGcDzB9 P3Dg== X-Gm-Message-State: AOJu0YxtG7heKFD/30RiUUSjcOMcIa0ZqGKeJxuFi5Q2tFB1QmaucCit ncD3y1YdtPXn5+9ub3tvoNDprljAUN6P1shzaVju6KKf5wxBuOnAYR1eBYcLW33GFQjp9net7aU v2ROytV4= X-Gm-Gg: ASbGncuKtoR3Y7UkNPM7YqwM35CZHYtUQBGZT0ij02vXrIYdyQPbAO2DaoVgHdRQOcE BVlGGs7z3xh3JtXnxkmzRG6nbIRDHQ2Wl8mUIDDZenLs97SpqkBDm4uMPNUVG/ehYlBmej0ea6Q ff6OAQ1xP1Dd223g3YSDlhnkifxVOlg7x+wuruK6OMir5Qi728xPy+UGtXgoijEGi6/ioIOXDwt FyaiQjFYyAx/IZTkE1ShncMhiSLLgqjwctNyTDpfWGJqNoYXm2Uy3JDbPxiTphzl9v8mEdOUhFz YiJzMw4TqecTHorKzfugRg7Dzqd0jX0pM9CXWE3cIGEkNBfIvyVM2CXkmSBrbWEcL0A7Qsm+iP6 IQuYI0NZORHWnVuWsiLli2uR4X46pzhy3tDx5fttWGtSaPO9CAoZmufxIinkVVfuDRtpxuPJRYK 6PBo/PEWkMhdSzxqDMwzLWzfsq/s/2MGWeeKoWbRRDK0zngV8tflQ+lB0iEIo7HFSQjg== X-Google-Smtp-Source: AGHT+IGb9T3YcMPO7ReDLcnf+Bx79AaMQRQ96dRDiGzO8YEaWlDWsmdkTs5JF+do7TRqsyEPeV+dWw== X-Received: by 2002:a05:6000:40ca:b0:429:8b47:2f35 with SMTP id ffacd0b85a97d-429a7e59bb8mr1623077f8f.26.1761632172878; Mon, 27 Oct 2025 23:16:12 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 47/59] target/arm: Create GTimers *after* features finalized / accel realized Date: Tue, 28 Oct 2025 06:42:23 +0100 Message-ID: <20251028054238.14949-48-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.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: 1761632192404154100 Call generic (including accelerator) cpu_realize() handlers *before* setting @gt_cntfrq_hz default Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu.c | 65 ++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 39292fb9bc1..b392374df98 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1636,26 +1636,6 @@ static void arm_cpu_realizefn(DeviceState *dev, Erro= r **errp) return; } =20 - if (!cpu->gt_cntfrq_hz) { - /* - * 0 means "the board didn't set a value, use the default". (We al= so - * get here for the CONFIG_USER_ONLY case.) - * ARMv8.6 and later CPUs architecturally must use a 1GHz timer; b= efore - * that it was an IMPDEF choice, and QEMU initially picked 62.5MHz, - * which gives a 16ns tick period. - * - * We will use the back-compat value: - * - for QEMU CPU types added before we standardized on 1GHz - * - for versioned machine types with a version of 9.0 or earlier - */ - if (arm_feature(env, ARM_FEATURE_BACKCOMPAT_CNTFRQ) || - cpu->backcompat_cntfrq) { - cpu->gt_cntfrq_hz =3D GTIMER_BACKCOMPAT_HZ; - } else { - cpu->gt_cntfrq_hz =3D GTIMER_DEFAULT_HZ; - } - } - #ifndef CONFIG_USER_ONLY /* The NVIC and M-profile CPU are two halves of a single piece of * hardware; trying to use one without the other is a command line @@ -1702,7 +1682,40 @@ static void arm_cpu_realizefn(DeviceState *dev, Erro= r **errp) return; } } +#endif =20 + cpu_exec_realizefn(cs, &local_err); + if (local_err !=3D NULL) { + error_propagate(errp, local_err); + return; + } + + arm_cpu_finalize_features(cpu, &local_err); + if (local_err !=3D NULL) { + error_propagate(errp, local_err); + return; + } + + if (!cpu->gt_cntfrq_hz) { + /* + * 0 means "the board didn't set a value, use the default". (We al= so + * get here for the CONFIG_USER_ONLY case.) + * ARMv8.6 and later CPUs architecturally must use a 1GHz timer; b= efore + * that it was an IMPDEF choice, and QEMU initially picked 62.5MHz, + * which gives a 16ns tick period. + * + * We will use the back-compat value: + * - for QEMU CPU types added before we standardized on 1GHz + * - for versioned machine types with a version of 9.0 or earlier + */ + if (arm_feature(env, ARM_FEATURE_BACKCOMPAT_CNTFRQ) || + cpu->backcompat_cntfrq) { + cpu->gt_cntfrq_hz =3D GTIMER_BACKCOMPAT_HZ; + } else { + cpu->gt_cntfrq_hz =3D GTIMER_DEFAULT_HZ; + } + } +#ifndef CONFIG_USER_ONLY { uint64_t scale =3D gt_cntfrq_period_ns(cpu); =20 @@ -1723,18 +1736,6 @@ static void arm_cpu_realizefn(DeviceState *dev, Erro= r **errp) } #endif =20 - cpu_exec_realizefn(cs, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } - - arm_cpu_finalize_features(cpu, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } - #ifdef CONFIG_USER_ONLY /* * User mode relies on IC IVAU instructions to catch modification of --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632243; cv=none; d=zohomail.com; s=zohoarc; b=QFSen0GzfwWUNOnFyCrUP2czymvQHPK7l1XrdM6jP7VMecj8Sc5HPfNlJZo2rha4fwMFNylmAbgbEsGCIoAdj+dlDThTRdo3kjnxRvyxs630dOjyq70gZ3KXUCsZ2qk6jidVC6K2c1UUVFNo5s3IkqbLNQkRurBvPxYdcthkdII= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632243; 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=MxV/2r9+8lCPChHU0lOXZfa15B9thwum86CBvfFa9fY=; b=Rnt36AvOtQPELNfY57AAanH1AoQ558rK6BwRKEqH2QYiWAnbse7mxbOen5BWCwP09fwGP9uDtIsVXW04QePz9dRbvfBQxUDDQVJIGVdK0dq8fE0FKFqStr1vEMa7CWD4cw7KhfgIhFTy8HiQA7tnSF0fasLn5YvkFGl801W+FcY= 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 1761632243056559.1998690643599; Mon, 27 Oct 2025 23:17:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd0w-0007b6-It; Tue, 28 Oct 2025 02:17:02 -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 1vDd0t-0007ZW-J2 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:16:59 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd0r-0007Fm-ML for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:16:59 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4711810948aso40481245e9.2 for ; Mon, 27 Oct 2025 23:16: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 ffacd0b85a97d-429952df3c7sm18048239f8f.40.2025.10.27.23.16.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:16:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632215; x=1762237015; 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=MxV/2r9+8lCPChHU0lOXZfa15B9thwum86CBvfFa9fY=; b=D2V+LU5DTRDASeyJkUafW2xc/NHDd4r9my4+31wTqP7NMuxNON8JZA/DYKFF4/ewVU wbj/TcdXTm4rhIr2j9V4Sj1NtvcJcpaE5LiqvKBbAt1ks17hcTVKwAh07X3dP67A4Gmw t330un/SZmN/q+q1f785PZ226pWGyfyXJMmYFd6ICVywqlAJQDfvKpD5sq/Aey9zVQ/n moo2oIDaOQ1GPRvtUSigDLC7BJIeGx6D0LSnX24EXglRXZvd1W/2A9WoXow4AVXYaSD5 uq7dj0W1epgK5OucGZyeQ4oPTuExGiO5Tw71vm+x7Xe4UvP1MXd12uDvvbQ873wDjr1w n5yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632215; x=1762237015; 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=MxV/2r9+8lCPChHU0lOXZfa15B9thwum86CBvfFa9fY=; b=DTctAhKr/J0H8Yk8R1FrJwzIA+xNCEB9679dk006wzYltFUc9o0DbAlHv/xEoYhQvR LFwUG60Pt1SdNKsBPHS8YBXVf44mkzlEhJkbcWyelVZOLd6K8IjAFdj+4Y1UzF1C88hO 3BV8vO3wGL/5xkc0/ZnZg8H2/xidL1EkeN9D5L0eJc5KKsQRuH7zVjmuo23PKwO4DRfk /Iiyz0mBQLuWiklFaSe2od0x4Jitu28tWfbdUS0lIHA2ugmiSOMMK0qGoVF2XwBZFRmr J/vFBufLdzBjM16W9K7uUTYBtBavIplKbpBReLd6lmWNQ1zHSS5Yc60XjLhXBk4BpTY5 u5CQ== X-Gm-Message-State: AOJu0Yz323/OsgeSAJmpT89dE0zGpRj83NFr0lONiIdNvuhB6TO944Dy Ppnd07jmN/Pb2iJx8iOYi5fjDcmfbbKJBhy/BeQ6pTLgpvBnoDwNcwecyVD0keKw/0Q1IXgpqN8 EbNJLkn8= X-Gm-Gg: ASbGncuFNerUKEE0jXQbTyPal7uUJZHyLOrnHtF/TFmFlK7tcMEZYMvzJN1az3U9iCN nj8cuNw0XX6cuSi2qCcudKyyKU5GxqfLnsyufygs08xUdQ9sgEuCxmut17NDaktMUQ6whSogHUQ 4AXJZHy/rdEB/Aq8pcTOAlAhMiPHmmF0SOUjDlm9ZxdbxZm+NL/iWDVRNwvu5TyQhSguvHTQZgD 1447NUZFJKY5U0c0CPpBk26ZxrzkRt5g2eqBO68xNHl9Bo9jgMHdq+Gf5YorgiKB1ENBr6eW/JU ptSISIDMDTehDXmZEXq9fQwFjSE7tEdlTW++6SMqoo05D/RVSZg1nV3athdeg/sbRDKprW/ZX4Q D1Mro5nWGkVKD/RC0p5intJnVwhMMdNZ0qb2c5vOYx/GCm1/CdzqUs8yO8APQCelPz/tpGJwtaZ 9apEyg2hrsygZZ5IAlQ6xipXDOHEE1FYAfcCymfsP5Bh3+n9seVZXjpZg= X-Google-Smtp-Source: AGHT+IF1T3+EqgBz79aC6U9v/dDOF9H/syKTBguPltH3qws8/5CkahRPoBI6+cdDzT6gyea0Nn4VRw== X-Received: by 2002:a05:600c:3b23:b0:46e:376c:b1f0 with SMTP id 5b1f17b1804b1-47717deeb98mr16406715e9.7.1761632215560; Mon, 27 Oct 2025 23:16:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 48/59] target/arm/hvf: Really set Generic Timer counter frequency Date: Tue, 28 Oct 2025 06:42:24 +0100 Message-ID: <20251028054238.14949-49-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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: 1761632248962158500 Setting ARMCPU::gt_cntfrq_hz in hvf_arch_init_vcpu() is not correct because the timers have already be initialized with the default frequency. Set it earlier in the AccelOpsClass::cpu_target_realize() handler instead, and assert the value is correct when reaching hvf_arch_init_vcpu(). Fixes: a1477da3dde ("hvf: Add Apple Silicon support") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/hvf/hvf.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index b053bdd7cf2..0788b20cc05 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -897,6 +897,13 @@ cleanup: return ret; } =20 +static uint64_t get_cntfrq_el0(void) +{ + uint64_t freq_hz =3D 0; + asm volatile("mrs %0, cntfrq_el0" : "=3Dr"(freq_hz)); + return freq_hz; +} + int hvf_arch_init_vcpu(CPUState *cpu) { ARMCPU *arm_cpu =3D ARM_CPU(cpu); @@ -908,7 +915,9 @@ int hvf_arch_init_vcpu(CPUState *cpu) int i; =20 env->aarch64 =3D true; - asm volatile("mrs %0, cntfrq_el0" : "=3Dr"(arm_cpu->gt_cntfrq_hz)); + + /* system count frequency sanity check */ + assert(arm_cpu->gt_cntfrq_hz =3D=3D get_cntfrq_el0()); =20 /* Allocate enough space for our sysreg sync */ arm_cpu->cpreg_indexes =3D g_renew(uint64_t, arm_cpu->cpreg_indexes, @@ -974,6 +983,15 @@ int hvf_arch_init_vcpu(CPUState *cpu) =20 bool hvf_arch_cpu_realize(CPUState *cs, Error **errp) { + ARMCPU *cpu =3D ARM_CPU(cs); + + /* + * We must set the counter frequency HVF will be using + * early, before arm_cpu_realizefn initializes the timers + * with it. + */ + cpu->gt_cntfrq_hz =3D get_cntfrq_el0(); + return true; } =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632296; cv=none; d=zohomail.com; s=zohoarc; b=llx+8aPxROqcTffzN1o91F1vIoRHMxShIidboteLHtHEbK2+Pxvovm55apDZCA+mUyGhoW/MGR8eVw5x8B/Rmj500T3tJrsXZaGvndKCJjKgVLolDrmgVgsbqqH1m71RC0KJWXXnaA3f+CrzEQWxczqWCX/0ilBI/5+4ASwM1FE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632296; 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=EMDbgyBSsHgV3ZURAPo979wxtIvTEY+Ozps1vZGgi5k=; b=TxtmlYtEbGx7DeNYFsR6ucmpRzxKQTc9NpYHPiszn8IN/dn4vMnWg+KtUW1o7c8iDn8JKLRZCK072fz+dzk8nPnfHFnuoXCdHn7e8a27AU10tJy1ZlgD3NaE697loD1cxd7tW05yKOnvIY+U7Irx4UjtEUa3th62VXWaWLBdTNw= 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 1761632296179136.6616565646051; Mon, 27 Oct 2025 23:18:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd1i-0008D8-Sw; Tue, 28 Oct 2025 02:17:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDd1f-000880-GT for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:17:47 -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 1vDd1c-0007Pm-6T for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:17:46 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-475dd559b0bso39457375e9.1 for ; Mon, 27 Oct 2025 23:17:41 -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-4771843eabfsm12929205e9.2.2025.10.27.23.17.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:17:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632259; x=1762237059; 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=EMDbgyBSsHgV3ZURAPo979wxtIvTEY+Ozps1vZGgi5k=; b=luFp37YGOIX3Bw5w3vTIfwbAV4aZTiynW7gF+RlUsGEcF6PtCTgU8SHcGxcMqEEIbj nVysFtktHLt13cXoaex2ahz2NzTkGQZ7f+zxe3BkOYkj3MDTQwHWMTBeaE0L1KTEHWVD V5EzF4RMSDeV3dA6h/XxYSHvDe1O3DYian6VNJpec2yW1uEBXc4VVgkDryY/e02/Vrnd VWLqgiD+uNr58PQJrwTiWlB8zSYRaRxU0/yXltiqQRPYOXksksXtyDu0rRs/ui1RXtxH iEPlyq7D1xEd34XGdzOuFTWtLsd2lxjYAk//4ZCJga37qxZPzhnMR3V5NJKMo354ojXG lo3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632259; x=1762237059; 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=EMDbgyBSsHgV3ZURAPo979wxtIvTEY+Ozps1vZGgi5k=; b=iIw02AP6ts43sdR0Cl5seIRCV9FNJP4Zu1BKnDwiqHuyqUbCHq0p3XiMOpyx3kMsCD 7afxNRtsyqJgO+sXiRD5acOc64lJ2StwgxdZMLuy9LiigfhqB+rxfDKzARmIf4y2kMbC hslOS5daFGXVrJ6KuBJLWILaqGQWjcWU4RnvSAJwBBBC3AdgdD+wFe0u/rDlTVVea62E 4iHYaapN2Rje5/Et1rWfsoZEeVK8iEzYhGyRJQlpVAllNY1I5ej6cPOSGSQhLqFgMuyX Wv5j1qPliG8jhKLe5p3RKmf7jpkZx/nMypNAXulHeKI5Z+Taow5YojsoNt9MuCDS95fv 55+g== X-Gm-Message-State: AOJu0YwJPdjFqbsQpV6oIOWv+6LK3Eb7HlGWclrelQL0ryLuE4SrZdKk rE/zVr13tG0K7ZVAf5rGNWvHOyFU7ObUwsDHtiOg7OMW6rGBxJTDGXHqIGSMoEf0V7REeWZzhU7 bdAoxK2c= X-Gm-Gg: ASbGncu40TFLWXzc52LQF2M42Gga3hGBWRSa0u3XCDAzIxcR7s78jSAAvcizTNpRn9x KAURIini8GW2ciEOgfunVM0ql5Xy4+n1xKBFIsmLq8YncjkxoOz5OEbTxzvKkQUFD/IfzAVtN6r YUeY0ulNnC7SJsVGr0H716KzliHJhEBnP9ocNHFyj3i4iOmNywVYLzxxKg+0CxY4g6H4G8w68sq LGYfO09uSNxT1G672aUtC5R7J498cFFDejo4N009ZxUcHsfrxP0mClvDHZ5QPANZ0bCgTMIPzd5 vpgArjwTudPvEze5CueAgtNp7arge7XGznLwlezjy7g/KIG3SYosQVw3mJjpQIlA8pvhuvK55W8 9+qqB48EAWNNQfi9i6aejfRmtc43Swp7ar/elREmtjjdmmct3OE2GSZoghT23josqTVv2cLQwyT XMce1vvf2JRS7OSwratLxSEwU9m+iMw0xLnO/sKI7SnIjYN4NzbR7tVEw= X-Google-Smtp-Source: AGHT+IHFECdAcgICkOM03nPICzPy3sqpxv0NcVT45a6B84vKnBiT0HWcTNsWo1qMOIGI9Ucb2UUU/w== X-Received: by 2002:a05:600d:434f:b0:477:19ad:82b with SMTP id 5b1f17b1804b1-47719ad0cd7mr4564955e9.25.1761632259374; Mon, 27 Oct 2025 23:17:39 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 49/59] target/arm: Only allow disabling NEON when using TCG Date: Tue, 28 Oct 2025 06:42:25 +0100 Message-ID: <20251028054238.14949-50-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761632303681158500 Only allow disabling NEON when using TCG. This avoids confusing user experience: $ qemu-system-aarch64 -M virt -accel hvf \ -cpu host,neon=3Doff,vfp=3Doff,vfp-d32=3Doff qemu-system-aarch64: AArch64 CPUs must have both VFP and Neon or neither $ qemu-system-aarch64 -M virt -accel hvf \ -cpu host,neon=3Doff,vfp=3Doff,vfp-d32=3Doff qemu-system-aarch64: ARM CPUs must have both VFP-D32 and Neon or neither $ qemu-system-aarch64 -M virt -accel hvf \ -cpu host,neon=3Doff,vfp=3Doff,vfp-d32=3Doff qemu-system-aarch64: can't apply global host-arm-cpu.vfp-d32=3Doff: Prope= rty 'host-arm-cpu.vfp-d32' not found Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index b392374df98..eaf76532eca 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1460,7 +1460,7 @@ static void arm_cpu_post_init(Object *obj) =20 if (arm_feature(&cpu->env, ARM_FEATURE_NEON)) { cpu->has_neon =3D true; - if (!kvm_enabled()) { + if (tcg_enabled() || qtest_enabled()) { qdev_property_add_static(DEVICE(obj), &arm_cpu_has_neon_proper= ty); } } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632337; cv=none; d=zohomail.com; s=zohoarc; b=aS/nwQLxMO5VrI8fZro3Oy65HZdjjMBVSSYkubQJrM0/sN0o8o0cFPo2dF4gJvp45fSla9FisKjiG/+99Bt+R5G5XLtl/1BiUCyjBl72b0XyKeW6wifVl1J9jrih3egzY2jbxATRbd/EIYkX4POz78hee+XdTb1xv5JD/GifBDw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632337; 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=sx+RfHJPAkCCNFsR/UKQOGpOYoVY+g6J3iIkCTCbk20=; b=GLyYMaJfehsJ7KCNbcvtu7wToe1GtxeGGOn7vzNDzx9XBhvYblcUkjTteyYg+h2z70jwcH4CZuBiJaN/UTIkRe5MvaqHf0aGiQncEyVXgAzoCZy/DXCuUFiiqBv5FSdNSk/g6SG45T1sSnA/Uk7/SexuN59oCdFlBjPX3wUn+Ls= 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 176163233767456.55336326639372; Mon, 27 Oct 2025 23:18:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd2L-0000WB-Ny; Tue, 28 Oct 2025 02:18:29 -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 1vDd2I-0000QF-8t for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:18:26 -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 1vDd2G-0007g8-6v for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:18:26 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3f99ac9acc4so5072143f8f.3 for ; Mon, 27 Oct 2025 23:18: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 ffacd0b85a97d-429952df62dsm19882578f8f.45.2025.10.27.23.18.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:18:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632301; x=1762237101; 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=sx+RfHJPAkCCNFsR/UKQOGpOYoVY+g6J3iIkCTCbk20=; b=yFTBjAR9aT2v+wDEl9zyhsKsw96Zc6P/czVPkUoECZIbmSPuQEhmaNXWWIHnSXZYfk t14Qz4SEM36SXWBVC+MxdKAkJfWk/t6awtdX4t65Mj/IXWDQ20EKzPJ+5CzPlGqBnipU FaJ/9p5E0FoUXyw3/+1fNEMtMzd9yuba0IkyQajTXt+/xzqLE8X37lQjYMarQTBGjeON CSVeeNGPCqg8aCZ16I5uhDt0iPZdGGprH0X/vgSSHYFiuXEHuzb4L83rfGFro9dDtcw9 FjTful7xMm5n5fklvPylvN4+58rRBUzXxEOVRhQGOdrD2G++h8tjfjzTRgwDex4xljy+ 7NxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632301; x=1762237101; 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=sx+RfHJPAkCCNFsR/UKQOGpOYoVY+g6J3iIkCTCbk20=; b=rASSgrtudiG/rbUl8QZb+WsPoAFm/Oj9wqniEBkXai4p4nwKDPWIoThFO5uQ89tCQ5 Ty9GtWYCQsfPF6UMe9Dex4S6q+uilrpdIxObvah9xQ47D5ZAa/ERQIWKIzX91JQXckgX PAYhJqYF4OwYMVYG9irswtCE8N0UE24YoDlHDfv75egg9iFz+1q2IWIOTB0nM8/9m+Pj f+Ajz4sAKDvzK+9W736WPqlUFKC71wfQ5VFP3wsj9coOEXZShlKseXD384Tc4WycWKgi 6vYt9lijqVGiTwum5fqJuTEtmvPp5IEbP6MQv0qo8yan9UcGJd4W9h/5CWB+Yq+mhRZM Hbow== X-Gm-Message-State: AOJu0YyEvS7OBlvOi1Ygkjyum67Rrrs0se76ZYdl7irrKJx6ldN//Mjg 3wTVG1T6szHhPD4xl2mzNVHdMhDZH+cFsqC1n5Mt5j04GZKSm3GXE4I4Rw897/bIIrsdOBlBp/A RV814ABE= X-Gm-Gg: ASbGncvsHgDgfud8ArJwk7CwxNMAkg27dBCzi55nx6JcOUYmdQiQzXvh+ebwtsdAMg4 N+YWfdVIQqj7d1ChsFA28FXJKADBybcCQ3BfMfAAXYARTjNvqwFmc09Zkc/awcDa6m0JqSV4N5M sSy4VItA20pKhQ3dA8uHwPwcW7LKJzQSxWZ/LWBzqAJXUQmb6VJtAmh4/uGmNDoDCpZ3PbWjbcE 3s5z3appFGT+wxY1kITXs8tNzT/2T9AQnMJzdb1zGnIjV1CFRghKhKFYXkBhXuODwDLpcu1Z+9b dKxFRytAY67BlPWa8ESrzdp5Ykjy1GxZPLZiXCzNkv+QiQkRPa/JOKD7y5GMjh/3OY7w6Tf6l1z UrVuBUwMXvOWwAHPQCEIqT5TGGf5+4v6ZaR4tn780ICGP2d0Jo5rQbrHL3ehhwGoAcLeyLjGgGN j4TZ/KWFFqGX62ORgunOniyMlaNSziW8OXqLQXIsAIRxOnaE4CTdwWQz3zvxkgTHOmoQ== X-Google-Smtp-Source: AGHT+IGcDVJfBgBjeEoxnP4yAO/9tATx3Cj29mWlv4EIeDNus6K9r3Ef9LxlILDJLQ5hASiGuK3myA== X-Received: by 2002:a05:6000:1788:b0:428:4004:8226 with SMTP id ffacd0b85a97d-429a7e82097mr1638268f8f.34.1761632301541; Mon, 27 Oct 2025 23:18:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 50/59] target/arm/hvf: Do not abort in hvf_arm_get_*_ipa_bit_size() Date: Tue, 28 Oct 2025 06:42:26 +0100 Message-ID: <20251028054238.14949-51-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761632337943158500 Do not abort in hvf_arm_get_default_ipa_bit_size() and hvf_arm_get_max_ipa_bit_size() when the IPA can not be fetched. Return 0 (and document it). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/hvf_arm.h | 11 +++++++++++ target/arm/hvf/hvf.c | 8 ++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/target/arm/hvf_arm.h b/target/arm/hvf_arm.h index ea82f2691df..21a69e7d105 100644 --- a/target/arm/hvf_arm.h +++ b/target/arm/hvf_arm.h @@ -22,7 +22,18 @@ void hvf_arm_init_debug(void); =20 void hvf_arm_set_cpu_features_from_host(ARMCPU *cpu); =20 +/** + * hvf_arm_get_default_ipa_bit_size: + * + * Returns the default intermediate physical address bit length or 0 on er= ror. + */ uint32_t hvf_arm_get_default_ipa_bit_size(void); + +/** + * hvf_arm_get_max_ipa_bit_size: + * + * Returns the maximum intermediate physical address bit length or 0 on er= ror. + */ uint32_t hvf_arm_get_max_ipa_bit_size(void); =20 #endif diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 0788b20cc05..5b077744720 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -829,24 +829,20 @@ uint32_t hvf_arm_get_default_ipa_bit_size(void) { uint32_t default_ipa_size; hv_return_t ret =3D hv_vm_config_get_default_ipa_size(&default_ipa_siz= e); - assert_hvf_ok(ret); - - return default_ipa_size; + return ret =3D=3D HV_SUCCESS ? default_ipa_size : 0; } =20 uint32_t hvf_arm_get_max_ipa_bit_size(void) { uint32_t max_ipa_size; hv_return_t ret =3D hv_vm_config_get_max_ipa_size(&max_ipa_size); - assert_hvf_ok(ret); - /* * We clamp any IPA size we want to back the VM with to a valid PARange * value so the guest doesn't try and map memory outside of the valid = range. * This logic just clamps the passed in IPA bit size to the first valid * PARange value <=3D to it. */ - return round_down_to_parange_bit_size(max_ipa_size); + return ret =3D=3D HV_SUCCESS ? round_down_to_parange_bit_size(max_ipa_= size) : 0; } =20 void hvf_arm_set_cpu_features_from_host(ARMCPU *cpu) --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632387; cv=none; d=zohomail.com; s=zohoarc; b=VlXW2hvXB9POxbrSDRAXbj3F/QaftfEsTgmGuTf8UJpVJ1hwyVsrVzqJ/WbxEC74msioUVznQPIdPTgbOpHXqz2z6L2Nsy1UDcby4/putFEuBP7qg2vH7ByzvN/HLrmP1I3yo1gYDs0Lo9pHXYMIwoVbtpG8Ft4K9oPqZ+cwJQw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632387; 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=9Kvjs75qZYXzJtgjOCgCUdq6Pu4BO5ORL4SkTS1d+ok=; b=iO2A6aihrIK/r8TgTz+ucoYemR9tqWPgk+6TpmxD3tuZxePaUoCvN9hXOhSBOILQdh48fm7dCF31ZTtOvuXT9A+G6gE/R4nMXgj/UI/lysDzyiHCNsNTPJFYvKs7cx0NE1pIgDXKv54Jaga2RNyVPYPT073sPqemmvewIwUr+GA= 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 1761632387270634.586613918913; Mon, 27 Oct 2025 23:19:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd3O-0001G5-0b; Tue, 28 Oct 2025 02:19:34 -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 1vDd2z-000141-Iv for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:19:12 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd2w-0007oq-Ah for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:19:08 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3f0ae439bc3so3510164f8f.1 for ; Mon, 27 Oct 2025 23:19:05 -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-429952cb55asm18382097f8f.17.2025.10.27.23.19.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:19:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632344; x=1762237144; 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=9Kvjs75qZYXzJtgjOCgCUdq6Pu4BO5ORL4SkTS1d+ok=; b=Y4vJXHi3tmswAuf81Z8JcZprjwxGWAqZDGVf8TWpO9+OO6jlp1V56OEUzPakUpcFBi v2X8WckM5qGdua8jye8RbQ6rXIp7hO0Gw8Zo95H0rkU00jz6K577esOIzeQbYgcGiZrm tMhW7PjmQ31E+9WDvzWzrz29gQnEHOFVKMCWmHc/GFiZlxQ6HD6qfAoni5CqF9Glt3Yd kyE0mnMcvTFEF262pSwcrRs70QxB2vTUp5TueUaN61ZRwcLslB8tUVngO0JZOwIVCOmi aenPEHEwRz8MQt2TnZxh0ScI7i51VX9PFyx/TSjQOI1x8IOKweXWB/FWkc8rRtbkIIYH hOGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632344; x=1762237144; 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=9Kvjs75qZYXzJtgjOCgCUdq6Pu4BO5ORL4SkTS1d+ok=; b=Qw3jOzUKtQLhr0ZrQomFAVwzC0m0aLU9GSgb6ZUT/+pkrwSRadzDcU6je92sz6KcjB gBs93OCOGWDjtd2TXNutgS96MKES2h+6nrBG5moBTl+nm3jXOqs3eZPZu7u87fuQfs9y l6CPlJ3VRlPNWRCKQqq77r/mIqHAsz0yNwkJf1USbNMi5TOli8LGQ2W5blZfMyeuROjH lZcg4wUYHSW4qLN03/88DsSdgz489mLCCgGEy6upaCt44FD7oQD0wUorwVWXGWBA1vM3 j/WxFXmHMOPYgk3k9FW8PXyKXlHKVIG1FMmVqCt6i736sc3sl1bZTVe4977CRID46R9c +vXA== X-Gm-Message-State: AOJu0YzODOOvD7abc9EUCTpl/MNUhtJKCA4FzlyduR5x1VlzexUOkfBK WFAJqkA8DWlGAeS2dfX7ilRin0GaEG3NTbL0C7tSj/47GZMnM7Y39NSxAGsV/fG14vOHzWZxp/E j7BnK/zM= X-Gm-Gg: ASbGncsDvrsdTptbOkxWLjROQbM45SMYIZyKHA5pXbxoHbJ/dO9zvUIjtuVRZ22rBk/ s2YX0N2BGCH/yUhCbQdwHCRMzL93bGTDP8C7jAJ+St7NvMlGUQ/MUxl+NwhQVROqG9gY6JXRTDV a18VMXsMPG3QXFP8x5Gf6s78NtAkkEfgKzTcUKQvA4gw0FNmGbbeYifjQcjTqNwvDD+D5t42ZBJ OrvjnmSIhWeRriZQ6tlKzcQ1FotXa7rfhKl4wd+RMoj3RxxwFmHeGKosmq5LoET4vkUQKVRwGHk tP4BbXnITT1QGVsDkSddZ/8tb4e7AahGtjmhtbXZIfRaXEiEN3ZW5HF4P3blacjpxAr8oZIN/NP 1bneGhSwjjsJHcylPfi6PDAVDI5zzlbmaEXJ2XznoZ7YaaC6SBZh2qYrIN7dMG3wCe3CUhRViEy dYNxWQ5cBy2YcU9u/tosuCEnh2JSGeb5cX8FJ7HeNi8BAiaSslq+8XQcE= X-Google-Smtp-Source: AGHT+IGKhwHrlJVM5NYbrDV9LNRC/S/8U5kMwZwPMrjJPFbgVZ+Sf6yeev9hbQkIEnM+2p3z38L0Vw== X-Received: by 2002:a05:6000:611:b0:426:ff8f:a0a3 with SMTP id ffacd0b85a97d-429a7e7320dmr1478581f8f.34.1761632343758; Mon, 27 Oct 2025 23:19:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 51/59] hw/arm/virt: Warn when HVF doesn't report IPA bit length Date: Tue, 28 Oct 2025 06:42:27 +0100 Message-ID: <20251028054238.14949-52-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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: 1761632390637158500 Emit a warning when HVF doesn't return the IPA bit length and return -1 as "this accelerator is not usable", allowing QEMU to try with the next one (when using '-accel hvf:tcg'). Reported-by: Ivan Krasilnikov Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2981 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/virt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 175023897a7..1d65fa471dc 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3225,8 +3225,12 @@ static int virt_hvf_get_physical_address_range(Machi= neState *ms) { VirtMachineState *vms =3D VIRT_MACHINE(ms); =20 - int default_ipa_size =3D hvf_arm_get_default_ipa_bit_size(); - int max_ipa_size =3D hvf_arm_get_max_ipa_bit_size(); + uint32_t default_ipa_size =3D hvf_arm_get_default_ipa_bit_size(); + uint32_t max_ipa_size =3D hvf_arm_get_max_ipa_bit_size(); + if (!default_ipa_size || !max_ipa_size) { + warn_report("HVF didn't report IPA bit length"); + return -1; + } =20 /* We freeze the memory map to compute the highest gpa */ virt_set_memmap(vms, max_ipa_size); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632426; cv=none; d=zohomail.com; s=zohoarc; b=JzC+4svAXBU9+wdKP5hYeug+Mirlj6mhzdOJC7KfPd8tIR57CL9unKEEoQeY2eKXtsDDxbki1iRlcJBKhRUvffZLqRQQhUi3l82DOg8tyBaW2oDbd3p82prjv5Kfo5WPKQTYczq50/0uvk14/iq7i3M4UIxIQpTXEN1d2L4SYy8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632426; 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=IChYbWTlLnmk9z3MzpiGjHtdHd4pwj5fs9KZRAqli+E=; b=LwUDi9WWg4ozD5b2IKLIX+J8YFWdY9c6p7+XE6cBcMrRYl94Az0lrfWVrmmz2Y3SKuqOIHVZh/EtpM8GRvhwJKXDEygZBkF5J5rF9fpq6zVwSaPjVBVYWw1FlTVevzrYJ5zCKBi4a2RgZ5d18LK/ItG2Rr8dY50Pb3arWzmPr/M= 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 1761632426084854.8902595455392; Mon, 27 Oct 2025 23:20:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd3n-0001rP-Hd; Tue, 28 Oct 2025 02:20: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 1vDd3k-0001jr-TU for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:19:56 -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 1vDd3i-0007r1-2r for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:19:56 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-47114a40161so62548495e9.3 for ; Mon, 27 Oct 2025 23:19:47 -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-475dd374e4esm170612465e9.11.2025.10.27.23.19.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632386; x=1762237186; 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=IChYbWTlLnmk9z3MzpiGjHtdHd4pwj5fs9KZRAqli+E=; b=ifgcRnXSjWmZMQpzAo4wPO/Nl+M1tmkuGq2XW7bn/3xIBJ+M19hzNYovgcBjcvcDFR VFGTLnUXV94S7WFGOIjl/35R/unhWXXCbDIglAPjB4LsJxTWxHDYbcppnEkVZzqRmOOE uZpd+y9KxT5d1LzimEYo4A26tu1p0mwNPAcK5fIYcLHYqhVwbjj1/Bt/k9JcIY/7OzkE uRoUQ4Owj56Ap49sAc+zE6bt82s8IHLRa+WvclxjGGxbk8DCumglSkpc0WCjjR/h5CFI 3qGTQYSqd+aTJ0K/ZkDcLGlf2qmdu4oXvk9jZtoVU26A94JtfiQXHvVyX6cDR1EDOE+k s3JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632386; x=1762237186; 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=IChYbWTlLnmk9z3MzpiGjHtdHd4pwj5fs9KZRAqli+E=; b=f2EsEMWlIa/9Hhu3TZD1stBrWE4xSOgHXbQ4V2/W4rZzIt03/0R91Iw1z1R2C+ySAy BPS+OrH6hINK/S3GUes4yNSSo8+6NCNWdeZ75hvr05qA/zhzBqm2oTfZyvD/9kWxMpxz EXaIR1Xl31XLYIS66N1JIWXf/SUh4f3ocpTCtoq3BfNVXgkwoNMDgR43IkAOGdnBGepb jkRQ5BU4Dq3bC0EHwiMNrr02dU3irUmh/xTC0bgtKHrgH/npadsi7lwEWNOH0T/JQLpD v/AZNGJlAmQzXJgQRIwcdJRyHamtOkiK4DVecFmGmgDwVulLkoCmLqR7RGOKSNS64MgA YRAg== X-Gm-Message-State: AOJu0YwSSAe+QAChhpb9BSVqCYG1034jvxSVDP99IFCarOud3JWt3IjI K+RCgsnVIJKoLke7qmXluwCkqMcLBP38fz5W56C01J1oFdkK454U2FRydOvFR2LKDCqJnKy5HC0 J6kJ7Xh0= X-Gm-Gg: ASbGnctCdG572U+z6rXs3cb6rt9f9ZsMxmYMgcP7kSEBbPETTyvszl/cPo0ddhuBBRx efIbIfXpyTlJE+mi7h6Z9xwDILYRbqf7Gw9pjpmFfJJ5JqQ9pzoaw8bnXAKwOVKVQBEtMtcO0rv WI2nMasGMwcFN+qP10/5u0xgOEnySjOknNXqs/GDFAR7bwXqLBTIZRM289GRzCVaHpn0b9rqvVa ndfX563LV2Bj1Y5RrWToMBudXc8ER69CzIwCMjvgCwSX7nOL2Fy14Ejiz2TWCzmItNope4Jt95r fJVQn5zWIEBpWR2Mul+TGNi/v86l/fqxNKV5o7N4mOH/QIkpAmo8CbwPgp8wIbHE3gMDXgI8F1K VFV0M7ADpkPza1/IQ9XE9pJSImxgmKg+G9JZMkH8J9HTwNCeEAOsz3d+nhyBsPKYX4QWWTEq0rs LGxW6Yk9Xk1Vu0KsPyR2rOlJ4go6OcEmbiYs2Kpgmr7g1aYmwgpaOM7A0H4S1edCpeWg== X-Google-Smtp-Source: AGHT+IEmlXZ5Hi/grDN8QyvFykamGhiXCVwlMh1BTIQWIZ+pquFTUZ0Hdq4yf0NlTMVbIx5zjOGtTA== X-Received: by 2002:a05:600c:8710:b0:475:d8c8:6894 with SMTP id 5b1f17b1804b1-47717dfc603mr18653855e9.9.1761632385803; Mon, 27 Oct 2025 23:19:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 52/59] accel/hvf: Introduce hvf_arch_cpu_synchronize_[pre/post]exec() hooks Date: Tue, 28 Oct 2025 06:42:28 +0100 Message-ID: <20251028054238.14949-53-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761632429122158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/hvf_int.h | 4 ++++ accel/hvf/hvf-accel-ops.c | 3 +++ target/arm/hvf/hvf.c | 8 ++++++++ target/i386/hvf/hvf.c | 8 ++++++++ 4 files changed, 23 insertions(+) diff --git a/include/system/hvf_int.h b/include/system/hvf_int.h index 96790b49386..3120a4593a4 100644 --- a/include/system/hvf_int.h +++ b/include/system/hvf_int.h @@ -71,6 +71,10 @@ int hvf_arch_put_registers(CPUState *); int hvf_arch_get_registers(CPUState *); /* Must be called by the owning thread */ void hvf_arch_update_guest_debug(CPUState *cpu); +/* Must be called by the owning thread */ +void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu); +/* Must be called by the owning thread */ +void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu); =20 void hvf_protect_clean_range(hwaddr addr, size_t size); void hvf_unprotect_dirty_range(hwaddr addr, size_t size); diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c index 28d50e23017..6fb1fda424c 100644 --- a/accel/hvf/hvf-accel-ops.c +++ b/accel/hvf/hvf-accel-ops.c @@ -181,10 +181,13 @@ static void *hvf_cpu_thread_fn(void *arg) do { qemu_process_cpu_events(cpu); if (cpu_can_run(cpu)) { + + hvf_arch_cpu_synchronize_pre_exec(cpu); r =3D hvf_arch_vcpu_exec(cpu); if (r =3D=3D EXCP_DEBUG) { cpu_handle_guest_debug(cpu); } + hvf_arch_cpu_synchronize_post_exec(cpu); } } while (!cpu->unplug || cpu_can_run(cpu)); =20 diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 5b077744720..f5bab7e7213 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2013,6 +2013,14 @@ static int hvf_handle_vmexit(CPUState *cpu, hv_vcpu_= exit_t *exit) return ret; } =20 +void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu) +{ +} + +void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu) +{ +} + int hvf_arch_vcpu_exec(CPUState *cpu) { int ret; diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 49f26169632..5711ed6f1d3 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -729,6 +729,14 @@ void hvf_simulate_wrmsr(CPUState *cs) printf("write msr %llx\n", RCX(cs));*/ } =20 +void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu) +{ +} + +void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu) +{ +} + static int hvf_handle_vmexit(CPUState *cpu) { X86CPU *x86_cpu =3D env_archcpu(cpu_env(cpu)); --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632457; cv=none; d=zohomail.com; s=zohoarc; b=lITkf3LQRM/RtvaTE/LV8uxT64CrdWDtof8ivYvfSFlDu+08mRf1Ww7sHY+nPVfhsjfUNtldPUTswkQarusWXonK9uhBdwD8nKz44VreR9/8odUssTOubZ24Bd+S5somKgIDeJ2jSM+K0o5qbfkofn61SGBDvjBE7FtzMXmHlH0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632457; 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=K/tfZXafiZUbcEBlhJ9XjyJNql+RdDO+3y710Ctk9AE=; b=R6A+D8icqjH0Xm3SeunD+OrJB/3YqtLevg+W4QwT3cw4QBtrqfQwPRnOZ6zUlYA9IXfy751HXSZByY0hKq8CkE2dqw6D1yeQAFAQXvbibcf9OPVKUgBydFqN4eQzsyF7rdMavLOjA8PXkPh6rvYnLn0+gX5aVtmPE4iQPHejE+A= 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 1761632457707387.43643796235483; Mon, 27 Oct 2025 23:20:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd4O-0002sO-PA; Tue, 28 Oct 2025 02:20: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 1vDd4M-0002l7-N9 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:20:34 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd4K-0008BL-9N for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:20:34 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-475dbc3c9efso21750515e9.0 for ; Mon, 27 Oct 2025 23:20:31 -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-47718fe63e0sm11698065e9.3.2025.10.27.23.20.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:20:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632429; x=1762237229; 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=K/tfZXafiZUbcEBlhJ9XjyJNql+RdDO+3y710Ctk9AE=; b=diRJOvpTPFzG65IqoyeP6Wvbqyh8NGZhSUZDz6jCokrJehHmR8iBtu13DZPrC1Fz0G 9Elb1lV3I8MAwbXLZGxqxLGRJtzkZKUbW+u62WbiGHrWYZmoHGhi8NZSz3ZpfheQCzzx WSH9zMvlZVcFodxhlr7fXZ0+cF+DWkSTufJqCMD1zcSVqjpPlFgksXb4IhClnXeytCrN ZmTUEmEe3PHGA7IaXJDDXVbG4Nmhv7iQaJ6rsCPkFuaTiaOZz1vYBfDr+gqg6ij3HXNB 33LzbqDa/bxCNHxT+nS8WWBR+hQUid/eLIcu1p6qRPK5OE2lav9XnAnifg4JhF/WTDLo E/FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632429; x=1762237229; 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=K/tfZXafiZUbcEBlhJ9XjyJNql+RdDO+3y710Ctk9AE=; b=sYMWH9vqk+QQCbb7Xoexm8qljfI+HpBwveP2ygPoXek1gNaH/PNESArJ/BJ84pV7J5 oCLohvE2Yk84kP68Jh38hbirDILoVhdbMpiYDEzsUzab+iZkHGugqnj2B9XlCiHtOfJG OczTtRK49F0i8raFxiP6rdB0vPl/WVdtAi/ZBRrnacnmNzDMhYLwaiIbVLdPWpE/qEeD 7Y1oUGOB7ycwyK4eg2pugMBzKP8TifPvWpWtY9KL9KYYWPrZ8pRm3zn+OlvN0jqWmOpr fekwprw3X44CB0+tscsYGWQ9ZORMsB1bJT9PJDIM7pvX+D2oGXeV8hNLk6rusuvFO+BO t0Bw== X-Gm-Message-State: AOJu0YwoADPiDKjgA7huGY0xLgE59hUNf47QabcnUImqIe8cSacM7PII IUvujbaY/BxRC4bCQyM7kj4uECf73SyAbNebZreTtEt0OOnVmi3N9PtbmYL+qEbS7VZBsUHkyqI sM6qI3PI= X-Gm-Gg: ASbGncshhJEdvPjqEkGG7pjXB2H/x2AzHGyJ5aoNR6HbcPrK/EgUA8/i3mIa9nr91pZ qg1CO+dtWtKfSJNVzVFsYgK701GSwrxuIvZVU4/6lVcIVuGSF4uWZmHDVwfV4tGmtgmxkp9sfmz oLW6YFhYW+5m4C/wXBdseohRwFJlVuTvFXNSG6nQyt0N0F32iJSy3/lMMR9rZFOO8lqFkuI6lT1 In88zP3JV5/rSC21Ua+WjDfAe6Up4Lsf4Ln9/zKm0vCULZtS1LJpOm/qnBD/rf/SKC8u7iXJWoA OFUFWrAzjJIaY2tgV2E0zmK3GuAioyGml2yRDuyXerFMsLfzUfIxV1CHK6yPi3AfWUZ2cfghZBE JvxtPy7cYsMvnP3zgxi2T26xCT7t9AwZq4uZEtt52Jqmdvxtoqg02znLYExHcFreQ+B+qgT1fGm f0cKzFAGpm3mXM2osjpttQD+lmIWpRmEaHUfyiXHieO7FKzSH4n7gngrM= X-Google-Smtp-Source: AGHT+IGxgW3vYSjH8ECO+5vWMLAyOGYo6p33n46oP0OK+uR/9vt0wSUH03A695E7Vh6ZFvCwTD6Gsw== X-Received: by 2002:a05:600c:6383:b0:477:58:7d04 with SMTP id 5b1f17b1804b1-47717df9758mr16822325e9.9.1761632428733; Mon, 27 Oct 2025 23:20:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 53/59] target/i386/hvf: Flush vCPU registers once before vcpu_exec() loop Date: Tue, 28 Oct 2025 06:42:29 +0100 Message-ID: <20251028054238.14949-54-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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: 1761632461332158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/i386/hvf/hvf.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 5711ed6f1d3..8df1196a55e 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -731,6 +731,10 @@ void hvf_simulate_wrmsr(CPUState *cs) =20 void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu) { + if (cpu->vcpu_dirty) { + hvf_arch_put_registers(cpu); + cpu->vcpu_dirty =3D false; + } } =20 void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu) @@ -990,11 +994,6 @@ int hvf_arch_vcpu_exec(CPUState *cpu) } =20 do { - if (cpu->vcpu_dirty) { - hvf_arch_put_registers(cpu); - cpu->vcpu_dirty =3D false; - } - if (hvf_inject_interrupts(cpu)) { return EXCP_INTERRUPT; } --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632495; cv=none; d=zohomail.com; s=zohoarc; b=gmODlOr6T4dxFfRLFPS50jXin8jywyGrBcGmdvsdmsV7SfG1dd3WqjkoChf2eCe81V+mh4/LFc6IZiQpxrOozFPTQx5MOXnHw1ZQeyR7T+81uOuV0Zt3lsjjLeB8qV4NQofZIp3Xxsrx/mhsQTxp0SSmnieIYUlGZiZtwrfaQZc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632495; 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=D0jmLQ7xJcwtr4+38+nkD40sCiXmWSUTp82bWsui4GQ=; b=QJFROzjupBaPzGAPmFzIQrMJPOVcnc2LVny0ocdbWP4GA35SDjrFY7+OJ8Flj+dL/JYbjwPSEvZIllxBzwmhSHqdKVYAW7opehfT4HFMdPc6nP4HmnCyVuc9fZSC0HCpmfm5BnuJOziFpd5WhvTq+m4L7ETPiAoACJeqb0Ia+ks= 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 17616324953841002.410269986686; Mon, 27 Oct 2025 23:21:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd56-0003Zq-7o; Tue, 28 Oct 2025 02:21:20 -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 1vDd52-0003Y4-Jh for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:21:16 -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 1vDd4z-0008EV-H8 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:21:15 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-474975af41dso37851055e9.2 for ; Mon, 27 Oct 2025 23:21: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-475dd48942dsm177891235e9.4.2025.10.27.23.21.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:21:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632471; x=1762237271; 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=D0jmLQ7xJcwtr4+38+nkD40sCiXmWSUTp82bWsui4GQ=; b=Tk9KW/y6dqm/AKrQZxhfy5YYh1jLkDHejBCiLDXO3vdPmUK1Y+8i5kE9w4HU0f/MTT RBZKZONHVK+Zw2Y7MOdMzU0h1rAH65Nsek01h2GHgjLU9vDn3xLoV1PKMxwuTjM2n8R3 0SsVQwvJ7XsrYWR4E6fNjKa9jUpxcGgZaeVn3oD7G/hfwVAlT/EetKEPRTLVQI8OwnUT 7VV9vv4D6q8bz84K00ekua96LYkIDYFuroQxlliLeVubnhLWVMa78gbrpIu8mSLjFBrs fRIxRpn91MrhKHJrx0GtqpoqZHWKmUjLhurYaL93BaPTYJkbqHKuETdNTDkewpKWBZjB XFlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632471; x=1762237271; 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=D0jmLQ7xJcwtr4+38+nkD40sCiXmWSUTp82bWsui4GQ=; b=BVtNEbCZn4tQ+9jhUbYu0jfFkpqv/KRZnZONYHxbBLTnraWOZyXSniFNjOsL3ZsxAM FSAdjCrsCKnpG2Te0tof6ObnYKSQqFhxxjPpJTSi1OM0fQUgbK2itOhVVKsP4Pp6xwJe bhd5CWfN+qVryt7fBHAoREf3GT9tJtePwhbVQkeDPaU+E8qYjG+zBJudgwa6m269Vfhp 8UKYXy0c9VtHLF7fKgAbRKUnkr8IF8pN7Wq93OG0l75LY+hN9Lc/cPVG5iKcoYLJBnTN vw2GLH0UBPke1q8Noak1NfFqYtXwzjZIN7kk/ILdB40arCOZfRNa0A2K9Ie1Zlz0RzNk 8PvQ== X-Gm-Message-State: AOJu0YzaH+UEzCDANZOxX0SRC44ghrweDW6n4Y0zkfypdbTLPtivZ5C6 pcAbKf0rK/mU2o7UzYTghi+ZzoGCVM7VXQuYg7Skyt0E6bplIW2cggfB4IkfDSyK8y3M8vydt1j C5iquapY= X-Gm-Gg: ASbGnctXM0c81kf+up+cZdU99FW8ZSV7OckNqcyEE/2Q7WmwjWrnLOdc4Yr3bblBDWz 9aMFO3ibRwaYfyHm/6Eik9OFOfXKQHUqUHkSL31bwbmCkUzZ8JhWzNBfrUZF05ff1hY63To0abm 09KsH0Q807/Y/T/PsEhcHSLR1wqHDY/YkXdzonD2TG6irTpfoseSxWE1xkTpF8+D4gfAuxedmr9 n6/UuilUsf92AmO8IS0QjwfPWAAvsWVf1cdDKfYqn9+8dK4BSXdAYUWs8EunANgeKZCawFPapiL wBbwpnvFQRkAlFPt0rWkO1eD14+ZI3zz/7x9Y298bySzpQAI1tgbQ2o6ThsUHELi2I7C1zw3M/K 6Su/RL4tlvMMnid9EEhSbx2MBYKr6iDodCjdNWjl2AgSmsV4Xj51zlHQfdnTniBWhG5m3U+Wkad RpmeJ/KA90/ruSrcT7/SIwzUOqRhKnXZHXaFJfB680XzR4NgHDSKgrJEM5yOOLOwB+4w== X-Google-Smtp-Source: AGHT+IHhajkNrNNZVimRegSS7TPNdkf/SoG/WZE/1rEfDevQN/sLYG4tDIlVIQKx4SRvLt9Dnryn4A== X-Received: by 2002:a05:600c:8716:b0:476:84e9:b571 with SMTP id 5b1f17b1804b1-47717dff8f1mr14761175e9.14.1761632470609; Mon, 27 Oct 2025 23:21:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 54/59] target/arm/hvf: Flush vCPU registers once before vcpu_exec() loop Date: Tue, 28 Oct 2025 06:42:30 +0100 Message-ID: <20251028054238.14949-55-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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: 1761632497961158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/hvf/hvf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index f5bab7e7213..cc02df2e907 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2015,6 +2015,7 @@ static int hvf_handle_vmexit(CPUState *cpu, hv_vcpu_e= xit_t *exit) =20 void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu) { + flush_cpu_state(cpu); } =20 void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu) @@ -2030,8 +2031,6 @@ int hvf_arch_vcpu_exec(CPUState *cpu) return EXCP_HLT; } =20 - flush_cpu_state(cpu); - do { if (!(cpu->singlestep_enabled & SSTEP_NOIRQ) && hvf_inject_interrupts(cpu)) { --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632558; cv=none; d=zohomail.com; s=zohoarc; b=iQeomCp68ba+FcmAAhOroEg8mHfQJW8x8CLTVUHYG/odRGXNuSjMNziu5FWWuZ2h3ZaA8/7gg5Kj+b6VPhAE7joG48VleHXUbkZu6urrqIx5qjASNfdHByqOmJsNWXhMo3OTJ2Fh9pkqFH+W97lgMirO4EfTDR0TdVvposKXDPQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632558; 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=dEapZ+GwwTa94UZnU22jnYxk7ZbhPqC6KAzkq5Qh8JM=; b=FpO/+t+qFzBWBmCv7NPttQyAtPO1fp3dqfUqmbq9kAmUMQM92aQmXLVUSTx9d5LxEv2Wp7Tr59Hyf9UT2xZtLtWqIe8Vu+q1Tf/5i24uCHpe5jqKxyoTHUUlwdqcqYWXkdewzdVQsAV8xEmzwVark6JtsNBAidcxv5E236cidOA= 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 1761632558719156.46940998096682; Mon, 27 Oct 2025 23:22:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd5k-0004Cd-Bl; Tue, 28 Oct 2025 02:22: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 1vDd5i-00047F-9w for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:21:58 -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 1vDd5g-00008L-4c for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:21:57 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-475dbb524e4so19658725e9.2 for ; Mon, 27 Oct 2025 23:21:55 -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-475dd4cc5efsm179583945e9.16.2025.10.27.23.21.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:21:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632512; x=1762237312; 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=dEapZ+GwwTa94UZnU22jnYxk7ZbhPqC6KAzkq5Qh8JM=; b=ypJIl/pxqU21ZKhBWGDXzyjytas67sPO5bh1Veq8RrGvndKvFs7lWDvKFjT0Jomdbi I9m+ToATMI/wIm8UxsLi8M5yaUgdpMKUbaMtIfn7cpMKQSL47w9/BYVZdAbgjBIBQqWh 5tuiobO6Ht9fUfMVmvCYAJbF9oj6HQcrCVjw3rnVnFzOGld+xkWw2+YjZg9zE4FoBkE8 GeANvFEt0U4WkTEwLfRhi3qVAziFjkQXlh/LRKeu4bQ2QQlbQgwxq7Qp4uxqXYCk2T/6 SHNt+48H0+O7d2rhvQibSzpYTGilH9V1wkfdmeyjk+DirDRHuMLMjkQPqHwEg434EJG5 qK+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632512; x=1762237312; 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=dEapZ+GwwTa94UZnU22jnYxk7ZbhPqC6KAzkq5Qh8JM=; b=LZP1RmpPGY5OFjsHM+Lg3TbsrYTQsRqr750nVIyIJ6bUatJ32QvImWvTlUyc8SWeZ8 3BNCIX5aaDDvA5uVxLCz2eII88m+7FeY05Npv28jgKc6x3HVSTQ6yMD3CEtFmME4+6+2 nk0/W6IR7V4rAqp7ZdyEg7gqw01q4k/Vx2MQd/JwheYvXYe1PCOzEvec5imr5hYt8exc e/ycFAfW4vnSZTJU36j+gaLoZ8qjntl0J+maINeeKK/5NMQtFUMK8U+J9SLn0t+X5/wQ UIkOIln5myqrApdxWK0uayMdfTJgrEJdUr71qNRUiqwmoE+lwn2uGhG8Bf9cOkafrMzG g8Gw== X-Gm-Message-State: AOJu0YwGjHso1NAA1WVBseo/hqOd4R6Yp482Dze4TlXnI/lipL21HZdM rV3aYvnBBijFKOBPbOIom2eDgT4p7ip8GHuXptBxfbNd5JlDculoXI/hX+OO9BFhidpuTXuLW0k cRIe7zco= X-Gm-Gg: ASbGncshTT138fA8iirjfcvjZ2HLNzBxt+2vR/17SDdSHHT01auk0rLYaedY+FJ2Ap3 pWg4/CJnKSX0BPV6bubh45pIpgC55HDXqUCe/oRP6idOopObbdJm4NQ6jmIyyX5zALCePn3EC/N IRupwv8PpZIeCUn/sXunPnfyjbKF6lRDIeipr8QEXPEmez3NbGjnrlndyd33zbTDCauJXkrTSjf Ro7otKS1WIWBwB/lZTAh4UxhYMOqg+bG0/WmaTTGEU2WDk8oZvMALjKM/uh6TX9Mul9UBgW5ZZA fvjrpbZAQ5gyyy+j261/Ok6K+3SmK79k5KoPwdjTJOQ5QSG/5vH1JNTnZuGb4o1z8ciwNKkiy0G LDG+328uS2x45RbNt4UpqOG+7RxqPuo3HpoE4qmOt8y8mN4yAoXcjF8qpqfTby9ON3qX9xK3h5k kZZFFUh5GdNg+/u6Zt6ijl931kP9TBgRAN73NMtYAGm/LD2Ko8QvsDFdA= X-Google-Smtp-Source: AGHT+IE+o9q0tm9MnlYgDlTxMkFBwXWj6tGtugu3plkqadXG+M17i1RvdpeqpSLXj5vu9TNYc+6Psw== X-Received: by 2002:a05:600c:548d:b0:475:df91:ddf2 with SMTP id 5b1f17b1804b1-47717e073fdmr16946745e9.17.1761632512538; Mon, 27 Oct 2025 23:21:52 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 55/59] accel/hvf: Sync CNTV_CTL_EL0 & CNTV_CVAL_EL0 Date: Tue, 28 Oct 2025 06:42:31 +0100 Message-ID: <20251028054238.14949-56-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761632560521158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/hvf/hvf.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index cc02df2e907..22b7e34db0e 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -200,6 +200,9 @@ void hvf_arm_init_debug(void) #define SYSREG_PMCEID0_EL0 SYSREG(3, 3, 9, 12, 6) #define SYSREG_PMCEID1_EL0 SYSREG(3, 3, 9, 12, 7) #define SYSREG_PMCCNTR_EL0 SYSREG(3, 3, 9, 13, 0) + +#define SYSREG_CNTV_CTL_EL0 SYSREG(3, 3, 14, 3, 1) +#define SYSREG_CNTV_CVAL_EL0 SYSREG(3, 3, 14, 3, 2) #define SYSREG_PMCCFILTR_EL0 SYSREG(3, 3, 14, 15, 7) =20 #define SYSREG_ICC_AP0R0_EL1 SYSREG(3, 0, 12, 8, 4) @@ -2013,13 +2016,49 @@ static int hvf_handle_vmexit(CPUState *cpu, hv_vcpu= _exit_t *exit) return ret; } =20 +static void hvf_sync_vtimer_pre_exec(CPUState *cpu) +{ + hv_return_t r; + uint64_t val; + bool b; + + b =3D hvf_sysreg_read_cp(cpu, "VTimer", SYSREG_CNTV_CVAL_EL0, &val); + assert(b); + r =3D hv_vcpu_set_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CVAL_EL0, va= l); + assert_hvf_ok(r); + + b =3D hvf_sysreg_read_cp(cpu, "VTimer", SYSREG_CNTV_CTL_EL0, &val); + assert(b); + r =3D hv_vcpu_set_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CTL_EL0, val= ); + assert_hvf_ok(r); +} + +static void hvf_sync_vtimer_post_exec(CPUState *cpu) +{ + hv_return_t r; + uint64_t val; + bool b; + + r =3D hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CVAL_EL0, &v= al); + assert_hvf_ok(r); + b =3D hvf_sysreg_write_cp(cpu, "VTimer", SYSREG_CNTV_CVAL_EL0, val); + assert(b); + + r =3D hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_CNTV_CTL_EL0, &va= l); + assert_hvf_ok(r); + b =3D hvf_sysreg_write_cp(cpu, "VTimer", SYSREG_CNTV_CTL_EL0, val); + assert(b); +} + void hvf_arch_cpu_synchronize_pre_exec(CPUState *cpu) { + hvf_sync_vtimer_pre_exec(cpu); flush_cpu_state(cpu); } =20 void hvf_arch_cpu_synchronize_post_exec(CPUState *cpu) { + hvf_sync_vtimer_post_exec(cpu); } =20 int hvf_arch_vcpu_exec(CPUState *cpu) --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632594; cv=none; d=zohomail.com; s=zohoarc; b=gUkJJfNUdrnUYBVB1853eikGaaWdmpWhy+xoSR4J/clM3ryc1hJA/zLAqOCbJ/Z/12BZhmCtW/yeTAIR2zN3Qs950MIHfOO48E3ULKMOj7MphQ062OKkMk30xxWs+nWeQg+J8TTjB9/Bw1ASlJF3ppWvnZlUyJxNnsjwJhHewpQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632594; 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=hXwgMzbkRa9lVN9HUpv/wtEfpGvPebV/MvemfcmQGBs=; b=llK7dZ9ejlIoHn88y1zFU+fryYPF6HZcj967tapmJZm3spXNW5e6tlnacDfBJvCJKBYHw1jWHuxEfNd6d1dpwLvu8kRQvmgvm78GpqNulkkrR2uyGTf2CrqnkDqpIqbh4u29BUoPbHsJL1dFbYhMfWHPACyqp2N0W+X0Pju0530= 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 1761632594255761.7090960299902; Mon, 27 Oct 2025 23:23:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd6f-0005wF-Ky; Tue, 28 Oct 2025 02:23:05 -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 1vDd6O-0005nO-Na for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:22:40 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd6L-0000V4-NJ for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:22:40 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-427007b1fe5so4703622f8f.1 for ; Mon, 27 Oct 2025 23:22:37 -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-429952df682sm18216529f8f.43.2025.10.27.23.22.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:22:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632554; x=1762237354; 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=hXwgMzbkRa9lVN9HUpv/wtEfpGvPebV/MvemfcmQGBs=; b=ECBWx2Z8fyGQEehrOQ1DhKCRiFxvQBXlC1UqgzzUZpfbITAwp7o/5bPY77t4hIfeDO TGQ8OwhUKMR5ekFWbqv+PTGI7qqfIPXIdyeRfBVeXNDWTKF9brdZd6XFlCWv5kHqudFi e9UKzu17u+CpOm4ngB7FXZc/0wEAwP7K039ItbAJK5mn6woG0SBulTcDpJdHhjs7q2Fb RHY7IPWlvRb93OK92SaQ2pZG2L1U4MTeP33bT+8N9Kn7QrhtOpNPcI3XuRkjC3S3tFu/ x2guZFFRDZYgtkGTxGAWExpsvg3+0wYPwnHpxlpu1LAzSAjBYbN5LNoSfGLV/3q1CHwf KzUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632554; x=1762237354; 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=hXwgMzbkRa9lVN9HUpv/wtEfpGvPebV/MvemfcmQGBs=; b=Ww3xSR4t0Ez7wNh99Y9KE/sqsMtAz5HCcmMecUhp12+113tFQt1O1RJibR+0VED6Lt MkBi3rWyqr0oVeWBmAfX8Gr6hA26EE7oOu4VSw+QfRxD65OlDfk2xtI4lSNJXSAWXFN+ I+voDsKJ+GOOh/td26xpMBP9HUXyOHRQCUCHAeoOu/WuDZsW0TT8nDpyU4zo/YpR+Uny u+CASBS/ENDHEYGB9ViOnyt0ufSqr1Eb8E6sRTjeZwJS7RFxWAdHe8VUjUrw/XPsn+RF Tu/jEr0d/1j0lcZ25DGYf0hnWIyvDahj4Re950gCgzDIboqwSgVYbtueaBLLSI1NkdoO rUVg== X-Gm-Message-State: AOJu0YxpXhLs7yJi0zGGxK7lqEp4mxdSJP8siKIMjH+EY7Ncp0OuzClO SxC36yNopLVCWJ3sWuV1uQ6ZXJ0tXDzn85225Toou7AghJ47sHVGsBh5yHo4NRXhwle6SyF+aJO deB9SdOQ= X-Gm-Gg: ASbGncsk/4hJLvNbBkzqC8j2hvdCBR5I+/cUipXckjJotY0l2+6kChI3jdS5VR5yTnx cOZxn0sT8kkZUj1GbPvk6QplSwJnv7okPVobiCAqqMOXZC/AmbpcykbfukNc92xBk84Eae76bG/ 7LY5NzJAG4UXrVDwJCRHjgkRprXegLK2sueq60nU/IUcX+7fRzno06wlKad2HD0y8Qyu4rdUL3R yNqXfUR/HSXumBQgD4tj9RV6ACuU8BQY2/F/w+mVO1jnycUyw2Pc0DxamX3H2lkmRLTB08cUmiH kIQf/YHK5uTIxWA+3rEdjKM2/y55dmTit3JCd9PQ35tJmakbDTzY+DMafipX2oD/TD3fm+R668c JUNIV+mD3OZgMDzd5oWAdI4QgQbXKwOj9mRX53h88pd6mlI5LesM2BM8jcAXAca85Xa2uqVJZPI XXoQ7ElS4XooZy/A1/L33dKim5N3X0gbrMO5o6atoeH6tfUwXcq+phEo8= X-Google-Smtp-Source: AGHT+IFYoE0SswbNXBThHEKhBOsbGc8TvLh3juZIX9BKBrwhesx8c5z9wspKYFw/+Pu/6IczywwArg== X-Received: by 2002:a05:6000:2008:b0:428:3d1d:6d15 with SMTP id ffacd0b85a97d-429a7e9c957mr1563338f8f.57.1761632554435; Mon, 27 Oct 2025 23:22:34 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 56/59] target/arm: Better describe PMU depends on TCG or HVF Date: Tue, 28 Oct 2025 06:42:32 +0100 Message-ID: <20251028054238.14949-57-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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: 1761632598933158500 Simplify PMU logic by rewriting '!KVM' as 'TCG || HVF' (ignoring QTest, because vCPUs are not available there). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/arm/cpu.c | 2 +- target/arm/machine.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index eaf76532eca..5a5a9994af0 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1979,7 +1979,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) if (arm_feature(env, ARM_FEATURE_PMU)) { pmu_init(cpu); =20 - if (!kvm_enabled()) { + if (tcg_enabled() || hvf_enabled()) { arm_register_pre_el_change_hook(cpu, &pmu_pre_el_change, 0); arm_register_el_change_hook(cpu, &pmu_post_el_change, 0); } diff --git a/target/arm/machine.c b/target/arm/machine.c index 44a0cf844b0..80aa2e34b4b 100644 --- a/target/arm/machine.c +++ b/target/arm/machine.c @@ -1,7 +1,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "qemu/error-report.h" -#include "system/kvm.h" +#include "system/hvf.h" #include "system/tcg.h" #include "kvm_arm.h" #include "internals.h" @@ -943,7 +943,7 @@ static int cpu_pre_save(void *opaque) { ARMCPU *cpu =3D opaque; =20 - if (!kvm_enabled()) { + if (tcg_enabled() || hvf_enabled()) { pmu_op_start(&cpu->env); } =20 @@ -978,7 +978,7 @@ static int cpu_post_save(void *opaque) { ARMCPU *cpu =3D opaque; =20 - if (!kvm_enabled()) { + if (tcg_enabled() || hvf_enabled()) { pmu_op_finish(&cpu->env); } =20 @@ -1011,7 +1011,7 @@ static int cpu_pre_load(void *opaque) */ env->irq_line_state =3D UINT32_MAX; =20 - if (!kvm_enabled()) { + if (tcg_enabled() || hvf_enabled()) { pmu_op_start(env); } =20 @@ -1103,7 +1103,7 @@ static int cpu_post_load(void *opaque, int version_id) } } =20 - if (!kvm_enabled()) { + if (tcg_enabled() || hvf_enabled()) { pmu_op_finish(env); } =20 --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632626; cv=none; d=zohomail.com; s=zohoarc; b=AsRgNirJGsdbhKuZuasJnZ2fWkvwZMJjpjagjdwi08f2kjeH24Ya774zrReEX5ElQsWQvPk71z4Hw6/5V4P9ETvmG8DtD0o1ByQwrI9UjBD8rZwGNdk5zA4oo5jPGcLMPoKiCumgh4A2zOA64hJjWgsCX/RUQBDAcz90hb+67iY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632626; 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=WZEi183o7rD1WcugZJSDu8NGT2zNmRVlOx1Ob47ODbQ=; b=iKkgUWlpski7Ux/YZ52NVCG7Vyj8AyfZF/S86VHN5z7PJ2fzGvhy6fuXOhUyXIn4IlcGNAQS0Tv+9RNLh0u8dvnAjFEAAG6h2cmMX9HQytof970FNCtvfbTOFeSuugTH5hgDSQkAkiK7TggmcxGSGnrRSg3E5w++qDz5E68zgo8= 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 1761632626672111.10769445508083; Mon, 27 Oct 2025 23:23:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd78-0006O5-Iq; Tue, 28 Oct 2025 02:23: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 1vDd73-0006Hv-Lv for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:23:22 -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 1vDd71-0000Xl-Kj for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:23:21 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-47117f92e32so49919185e9.1 for ; Mon, 27 Oct 2025 23:23:18 -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-47718489d96sm13647095e9.0.2025.10.27.23.23.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:23:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632597; x=1762237397; 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=WZEi183o7rD1WcugZJSDu8NGT2zNmRVlOx1Ob47ODbQ=; b=uMbyJCJ/8Y60JcvGBUK0sMoL8EqY4vmYatM0GPeieESMH4PmY9si4G6/GF4cHmvgv2 s/+8JFFydj2ery5xXcHyplt8kZkVmGYn23BKi0c9T62z65Yj7uUKahq1bK0hfhm2rx85 dF8zqmQz/j6Ka8QJgQXpO2+QBKl1+0TrCKdr7lPBKLCfVrVt1iYfIwkv0TaNWSXr+yr/ d/VNbA91HMEK2C2j0HzE84PT9m/2hXnUV675ErWSy5sX8yep8vxBdAel77DBgbWH9uqF Xk/Y/n0NNckGtQPTNF9ymYiD0dNJmH9kp06mlE5AsKAtghRubUTwYeNfKXYJhhF7kzRk BmGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632597; x=1762237397; 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=WZEi183o7rD1WcugZJSDu8NGT2zNmRVlOx1Ob47ODbQ=; b=bhjceKWFcqAbUIjd9s+0TF7VOMDxcfU3WIDF/6Y7iKhAqBturwRTFKvMcgykNWlpgc 6H9U6emPvMm1yp/O1hSR6XuYVpPLvgFuDvBdXX3DnthJHZnRYfE7zZWoZH0rKSVc0+f/ 0OhSbFyfntCtk1S1zCuF0WHDOFn06q4QZCdZsRJKHzKPPZqhi0M1GJfbo5OQKYvNqoUs cGuRJS26XPJAi3xkyUe3zeqTBRY5KaZhFfQXDRDEmKxuUUFgyvhOLm8bfllI3biB7F3k CyMC/TfPlX6g2TyPKx1QUOGUBuwAGAD+r0kyjgEkerl+beUfqgp2cE7jb4kPk/Zyfzd8 vPZw== X-Gm-Message-State: AOJu0YwQiMneQBitIYdc/QTd0og5UI+zChgltAagXHy7HEIa3Y/zDIOX wK/9RVijWBpB8qBArsLjH4mdVGJHGlaBwnf/ZNAKfADrk44HrL3YWwrgqTeinavFH3oFGx1e8Iq X43By9v8= X-Gm-Gg: ASbGnctZEjiOSkHRaRWwNuNAUET3P3n/st8wltFcQ9+KzH/kgwoxgS5HOGp8YnUoCUe 650yK/4kJMNItFi9DvYTsII7rh2IOt7uigNchaNmRwJu4P6ySSxb9//6KUCPpX4NBi43fpgS0h2 wjWPCfWH3hfGvAVOK0rE7eJJ+6OldXVPCEAq5GJEFEQle9kWEd2NC5HLNcpY0N8Xclmy1x+E5QT RTROYj2dLE8eEKQgErAPJ1N5dYVBel5mlUPGGQDPL0H926/zTqrtLFiHLRtnh2GMYlwDTxtA+GU diKyu54/dne+MibGf5VnMpiNPbGysfiUWcjMnNNhwdVWwty9iVmEALxbihJ7p2s0+TFx+W8J24n AtsBodVI/4c4nMaUHCj4HOT8z/WwCbYFslsjReWTHxqJ8FErLAB4N6T1oumlTM81IF4vmK07ULc of3K02del6elChba308zqR3To8W+1NTvyaI1bo9VWp9goJTU12RyWHQJc= X-Google-Smtp-Source: AGHT+IH8Q9+iIoE5G4g8CzKGNhZy3HBFsoa6N5b1xFBmfAx9OIV9zHVp7EGBzUn6GfIppHYVWzofHQ== X-Received: by 2002:a05:600c:1d1e:b0:46e:6a6a:5cec with SMTP id 5b1f17b1804b1-47717def7b5mr21075165e9.2.1761632597085; Mon, 27 Oct 2025 23:23:17 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 57/59] target/arm/hvf: Emulate PMU registers Date: Tue, 28 Oct 2025 06:42:33 +0100 Message-ID: <20251028054238.14949-58-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761632633237158500 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- TODO: audit it is safe --- target/arm/hvf/hvf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 22b7e34db0e..639eef3b800 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1234,6 +1234,10 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t r= eg, uint64_t *val) *val =3D env->cp15.c9_pmcnten; return 0; case SYSREG_PMUSERENR_EL0: + /* Call the TCG sysreg handler. This is only safe for PMU regs= . */ + if (hvf_sysreg_read_cp(cpu, "PMU", reg, val)) { + return 0; + } *val =3D env->cp15.c9_pmuserenr; return 0; case SYSREG_PMCEID0_EL0: @@ -1525,6 +1529,10 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t = reg, uint64_t val) pmu_op_finish(env); return 0; case SYSREG_PMUSERENR_EL0: + /* Call the TCG sysreg handler. This is only safe for PMU regs= . */ + if (hvf_sysreg_write_cp(cpu, "PMU", reg, val)) { + return 0; + } env->cp15.c9_pmuserenr =3D val & 0xf; return 0; case SYSREG_PMCNTENSET_EL0: --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632930; cv=none; d=zohomail.com; s=zohoarc; b=B/ee+RtjUINl8/kTEILXl+gR0LRO5v8GpyUdqrMLKgggkzCl+1i+0SfImRlkQXJj47ohYdi13hqdItiwbcY4uEJPhSQcIAbdKvsS33qFr3dFmZ/Sjwj7EkLihagXuT7e8fGDADOsuRvdM/w3nNcMQIW0kCzviTUWm/qfVgRZrf0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632930; 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=9r9PbSxEc5vkW3NMHjI0QVQXtgDxRcrfGpveD6M8q14=; b=AoLbQGJ7UVESUtcr8DNz9T8uX6/t+2dFhJ1g/pp2NrhAlYu2KbvwI+2QKxrukcCUIyATAtlAL2XiQNg/mQMc7MuSLH6s1xR9sPPDhyBRY1Y2XlHCeGlXQPVTlyEVKdBzgYvm7d4e5MfyND/ZuhgLkBxtoZ7jf8ZEuIFqVoy5M5o= 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 1761632930598385.3154447727227; Mon, 27 Oct 2025 23:28:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd7r-0007r0-JK; Tue, 28 Oct 2025 02:24:11 -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 1vDd7p-0007is-C5 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:24:09 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDd7i-0000bQ-2d for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:24:09 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-46fcf9f63b6so32781985e9.2 for ; Mon, 27 Oct 2025 23:24:00 -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-475dd478202sm175898915e9.14.2025.10.27.23.23.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:23:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632639; x=1762237439; 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=9r9PbSxEc5vkW3NMHjI0QVQXtgDxRcrfGpveD6M8q14=; b=xViHHJuJmL4FiQDEtOC+NFAOzgtulS49F21wQq5CNP9tUbOmnH64QOsjWe5IJUoTR/ cPww4maCperenJcN7CB6+ksKavq1E747re28lXDF3b4/PJK6m/XqjyGdtmJ/PKT0LlVM LsR83tdkVYX3ARu3Ua/Y1aj7iUX+gDY1eQLcO3BXFGoQU1s4szgSvD36Jvqs5corFN1+ /yBF6t7v84HmgrR4OGKxBjl6oE3Hfoh0V2bie+oZ4uqvYrxNQ+oLhTw/6A00b/Mwg/bh bG8/UbOW+1ptkr+cUI4oMOk7hDEQX9RBnALmpUdyWZIa3sduUKaUB2z0IeXgYvcwEfbt RvLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632639; x=1762237439; 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=9r9PbSxEc5vkW3NMHjI0QVQXtgDxRcrfGpveD6M8q14=; b=izHdCFSoBXCq7jMWafDehLzYe56Tm4zLiRDSjQZbjj7xKgViC+/xKWfhZU4D/KumOv DtDejAzLO3QzvBpvYTg+VN2/k5q23oT44lyceUWgIQ4hhCpw4dxHRxkIgbq8dpmHM88y hMHBI+uU4TREwkin86Ryhz8UO1HtSomaWKDaTvxoErjsYHSvuZxysenhtabI4GtTv0mW IFaokCT0uFZUVapljg9A4ke203emCX8elWR0lpxVxJEKBG/rZo9PnVmLA/g/+PwjI1KL cY7B4cSyUjLwrpvZ6V/mSnwlW/j7q33HlCynfIsYc5KVvxFwS4DJzQwtEy1/903U0/98 65SA== X-Gm-Message-State: AOJu0Yx1VwKRdFKjbS50oasQO4TkufbjIE6YNzlE4u2kqUEfi0yCzx+k Bk6yWTD60IMRgO46yjS/dVuBSuG8ZKuiaCzUh9fetbMYRhrgYuOQW6Parc/L4pmooOnyLAEYOWD Q0S5Ib+0= X-Gm-Gg: ASbGnct4cpa0Wmpz2jAo22iiuqdcIiEERLohjw/i4tNZ0aq/cm6VkpPkxUhAFwgyUrj 3iYBFbeNBUCr0zK276nFDkQ+EI5oT5GNKaxLVlb9PIiNpDRPDr9Bbka+s4+MIwu67MgZ7hpZdgG R+vqA2py8JNdPrS88KuOgF99K89ciyrOZDzbk9VfLaS9zO8hYoyVsf+bpFYI5F2+d/4OVocryXV UEKNa4Y92Xd+nWcsdzGDdqAVlgbH7UpGQqBtf2898iYpLQR2L4OMwFerMjFU8YwD8mlFDyG/FkV NQAQkABE5pRzxb8O1EPKUzI7CTwrzIVpGInqb7aaFL5OhrZ7VvzCpzPpDr9/1tvUipucqYAWMLn Rlc6xI8oIDL97jwGhXwUQpHeRZdMnACmPL1bUQmZc6wNcF6iRCTuf1c3fcyykOgKtGxt0PoQzX2 GAqkdLh2l0Gta6ajQlIY3/hA8yJ2MlfbKa+WjQk8a1GFrfdr7i3gEKv2M= X-Google-Smtp-Source: AGHT+IHVpoikpIYvHguAxwl+ojwpfr84RrZQqfwvBbRZQ/v9FUNcKjrLABeFbnw+hXNPR4eozlW99A== X-Received: by 2002:a05:600c:540d:b0:46f:b42e:e366 with SMTP id 5b1f17b1804b1-47717e6ae77mr18617665e9.40.1761632639025; Mon, 27 Oct 2025 23:23:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 58/59] target/arm/hvf: Emulate Monitor Debug registers Date: Tue, 28 Oct 2025 06:42:34 +0100 Message-ID: <20251028054238.14949-59-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.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: 1761632933881154100 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- TODO: audit it is safe --- target/arm/hvf/hvf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 639eef3b800..113f1415011 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1616,6 +1616,9 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t r= eg, uint64_t val) } break; case SYSREG_MDSCR_EL1: + if (hvf_sysreg_write_cp(cpu, "Monitor Debug", reg, val)) { + return 0; + } env->cp15.mdscr_el1 =3D val; return 0; case SYSREG_DBGBVR0_EL1: --=20 2.51.0 From nobody Fri Nov 14 18:19:05 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=1761632748; cv=none; d=zohomail.com; s=zohoarc; b=TqLleBxgrWJTelxAo1hk/nW0FyL5xf1UwzHHdaD5YJ+vxA7W/zxvF6+/haqOIEZMpWelap1zvoYdTfWZaaltNeARUQrtu2lFdoQObTfjRoK82oxdT9qgfr8p0h56wG81Bt3jWkpuHuV7lT9tnSh6GFAA0ogveAFeq0OYnWtdugU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761632748; 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=zTEh/LVQjVZus7c2C/VSTX9bICXV4YJB1vAsJnGdIZw=; b=EAk+ETY+CPH3MjbtEX54gpkYcjNGiY3ujH3RHj0sWfilEuiGIkFG9PZvxbtSh/Fc3YT1wwqog95l26+GQJY6iceOZTeXSw/vdU3IJ4hxY+3iFgiIizN67qw67fANuaFscBtZQY9r8SFm3/4zkMne6RgIXIbOg+8G0TjVdTij3Qg= 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 17616327487621002.6844009407741; Mon, 27 Oct 2025 23:25:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDd95-0001mt-HX; Tue, 28 Oct 2025 02:25:27 -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 1vDd8R-0000sT-0a for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:24:48 -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 1vDd8O-0000fV-Ub for qemu-devel@nongnu.org; Tue, 28 Oct 2025 02:24:46 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-475dab5a5acso18630375e9.0 for ; Mon, 27 Oct 2025 23:24:44 -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-475dd4cba64sm175001005e9.14.2025.10.27.23.24.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Oct 2025 23:24:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761632682; x=1762237482; 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=zTEh/LVQjVZus7c2C/VSTX9bICXV4YJB1vAsJnGdIZw=; b=eq/2yeCXs8kUQNfFnWs6T2979aS7QNcn36WKOjABmd6mTHvLMzUg7KvQuY+WeFff9G e/+H6e8KgitX4maCZf3ktp9ORP8x5d04PWnHLFW4+h16n7aRmWGYIQsH67dtrbnaaJRi y+elBqZs7d/GXU3D5+KK6qn/DqfHnngs0oqSOmuoG9lmzvO7oLLO3/B2StBDccmK+afh UsfDxaeMO5Oo8lx7qnKv17YCErbbiTi/tnep7QUJ1SWpCqRI96YaU/VIhBMxgOb1S9NO 5G3gF4lPu7BGQZ8dlbow/HjWaIMRCk6FJW93U4eZVp5HD6zfG408i+uyTR6yPPGoarEr vMPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761632682; x=1762237482; 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=zTEh/LVQjVZus7c2C/VSTX9bICXV4YJB1vAsJnGdIZw=; b=g9ghQ4UMJArPc6hiSqu3+P+TS0yqTXpqD4iIB2sxQuUomjIsaEAylTNN3kyBztOEy3 dDQh1vXfu8bhpj+AUdq+k3xlAJmZU6ulGzSx+6KNwaZIfHsE3y8vMFTvcFuv6s4GlqUI Gl4WNuPygvIkFwgv2w/AyKelsAM+VNQ5iUdXap1DSrJb6eE+HDUoqLKUrpcJGEKlQilt 0aVj4BpKu0jfjF4LOXhQ+3G38htP9UzznLT5m5T/uRwRIttzOEdL/Hq2VqLeuv2PdqUZ NeSgusrDxeNQRbPX8GdU/YnjCkNfpK0yTV/4M79wHcZWVhCuxqiXl4sGvjxJUjNDh531 aVcA== X-Gm-Message-State: AOJu0YzzfFNgsm8MZ/cXAkZmsuhR26RfXzfRNjqozXGpk6hksz91YJ1z iWYgl9MjQcHihIq6bDE4Lt4aSdE7Z25YH/vTg5jnqPIsTRoAEEsVOsAxJ2VcFR7o5duoIyckiPT JiTLhuCc= X-Gm-Gg: ASbGncsn0tKNxdv+/CSWrMmHZ5U8emSFLhYIdqPzmtGCkykYWnQBmwTAm2l6QS4BPUd zWcX5XrRCUA9byyeotfKCTe9CrhoeEhOps286XrYyeQBk8oIaPBfj2MhjjD11TuH0XayuHnchY8 Q9H1G60IAWb75nirZ7otCxDA9YxstdbnDk+PQXEEhtqegLjaQ6V86bIrchSaHy8be0TvNG2Ur55 lksaXbfTFXk6SzpXjK5dVh5VBkk4vGnkpt3V3Pss3qT8fv5Wj1YJUs689Jo2shxSZfNbqrf+91p EWDLYcIWqZdLArCqm0KPW3XkrT627tL3jUyD9qsDYvR5/vgfRtSrItDiZIM9z3uy8WOHj0wmKeP M9EbsKmwdVZ+/OVUOycNfsNpZjO6XljSv6qaiUcut5s/HfIFVBczFhuB+dRCZ4mFmdlsN5kVYRd 25VPlUnvcDA3Ip8g/2BWV9bu4UCYCH+t7miB3psNv9qjSpl/3YnSwfdpGKOIwG9+JAbg== X-Google-Smtp-Source: AGHT+IEPV0mXk/DfIevFNGNmoexAS0FMcZZf/eG0BfO1U+bxdl+52y3h4avRzelcUezdGGty/i4rwA== X-Received: by 2002:a05:600c:19c6:b0:45d:d353:a491 with SMTP id 5b1f17b1804b1-47717def79fmr17324445e9.1.1761632682158; Mon, 27 Oct 2025 23:24:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mads Ynddal , Cameron Esfahani , qemu-arm@nongnu.org, Roman Bolshakov , Akihiko Odaki , Phil Dennis-Jordan , Mohamed Mediouni , Peter Collingbourne , Peter Maydell , Alexander Graf , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 59/59] target/arm/hvf: Emulate PhysTimer registers Date: Tue, 28 Oct 2025 06:42:35 +0100 Message-ID: <20251028054238.14949-60-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251028054238.14949-1-philmd@linaro.org> References: <20251028054238.14949-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=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: 1761632750847154100 Emulate PhysTimer dispatching to TCG, like we do with GIC registers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- TODO: audit it is safe --- target/arm/hvf/hvf.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 113f1415011..a7b5e4711b0 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -189,6 +189,7 @@ void hvf_arm_init_debug(void) #define SYSREG_LORC_EL1 SYSREG(3, 0, 10, 4, 3) #define SYSREG_CNTPCT_EL0 SYSREG(3, 3, 14, 0, 1) #define SYSREG_CNTP_CTL_EL0 SYSREG(3, 3, 14, 2, 1) +#define SYSREG_CNTP_CVAL_EL0 SYSREG(3, 3, 14, 2, 2) #define SYSREG_PMCR_EL0 SYSREG(3, 3, 9, 12, 0) #define SYSREG_PMUSERENR_EL0 SYSREG(3, 3, 9, 14, 0) #define SYSREG_PMCNTENSET_EL0 SYSREG(3, 3, 9, 12, 1) @@ -201,6 +202,8 @@ void hvf_arm_init_debug(void) #define SYSREG_PMCEID1_EL0 SYSREG(3, 3, 9, 12, 7) #define SYSREG_PMCCNTR_EL0 SYSREG(3, 3, 9, 13, 0) =20 +#define SYSREG_CNTP_TVAL_EL0 SYSREG(3, 3, 14, 2, 0) +#define SYSREG_CNTP_CVAL_EL0 SYSREG(3, 3, 14, 2, 2) #define SYSREG_CNTV_CTL_EL0 SYSREG(3, 3, 14, 3, 1) #define SYSREG_CNTV_CVAL_EL0 SYSREG(3, 3, 14, 3, 2) #define SYSREG_PMCCFILTR_EL0 SYSREG(3, 3, 14, 15, 7) @@ -1249,16 +1252,20 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t = reg, uint64_t *val) } =20 switch (reg) { - case SYSREG_CNTPCT_EL0: - *val =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / - gt_cntfrq_period_ns(arm_cpu); - return 0; case SYSREG_OSLSR_EL1: *val =3D env->cp15.oslsr_el1; return 0; case SYSREG_OSDLR_EL1: /* Dummy register */ return 0; + case SYSREG_CNTP_CTL_EL0: + case SYSREG_CNTP_TVAL_EL0: + case SYSREG_CNTPCT_EL0: + /* Call the TCG sysreg handler. This is only safe for VTimer regs.= */ + if (hvf_sysreg_read_cp(cpu, "VTimer", reg, val)) { + return 0; + } + break; case SYSREG_ICC_AP0R0_EL1: case SYSREG_ICC_AP0R1_EL1: case SYSREG_ICC_AP0R2_EL1: @@ -1571,19 +1578,20 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t= reg, uint64_t val) case SYSREG_OSLAR_EL1: env->cp15.oslsr_el1 =3D val & 1; return 0; - case SYSREG_CNTP_CTL_EL0: - /* - * Guests should not rely on the physical counter, but macOS emits - * disable writes to it. Let it do so, but ignore the requests. - */ - qemu_log_mask(LOG_UNIMP, "Unsupported write to CNTP_CTL_EL0\n"); - return 0; case SYSREG_OSDLR_EL1: /* Dummy register */ return 0; case SYSREG_LORC_EL1: /* Dummy register */ return 0; + case SYSREG_CNTP_CTL_EL0: + case SYSREG_CNTP_CVAL_EL0: + case SYSREG_CNTP_TVAL_EL0: + /* Call the TCG sysreg handler. This is only safe for VTimer regs.= */ + if (hvf_sysreg_write_cp(cpu, "VTimer", reg, val)) { + return 0; + } + break; case SYSREG_ICC_AP0R0_EL1: case SYSREG_ICC_AP0R1_EL1: case SYSREG_ICC_AP0R2_EL1: --=20 2.51.0