From nobody Fri Nov 14 18:16:53 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=1761563581; cv=none; d=zohomail.com; s=zohoarc; b=fEU+J16a62WJOnqHJwIyXYbNSz3KQ31jesqmJi4SNXvExli42cXUZD9tcrW7EOgd+9ftceaNe83l2XZgednQ2enjKhciBHhAhIw+m1v1UvmqJg7/I+j8Bh2t/SeCkOC1a6iqYnIJy3JxwQzs/ekxTNLNY8V0lrgwvMp/Quo6t3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563581; 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=e7kEo0ehhrs7dmuoByZ33JGWoarerE4gA39Srxdfv20=; b=GI0nmVp+35xYisExf7+90VpB+/D/CiyO6rr+RbsmUJz8yFFygUXpRgBIKy7ZmHzrGEX/D79tftZI6KH6OeRU9IJKc9C/4gsd0IQbDUah/ijZRQqWJH9BWElFTPhBXnP3YJPP6U4c3yB9zjWB9/FRbCKLQxGvnEmS0t+cdpwybIw= 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 17615635809581014.4098047232417; Mon, 27 Oct 2025 04:13:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL24-000190-9x; Mon, 27 Oct 2025 07:05: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 1vDL1d-0000iT-2d for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:34 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1O-0005aQ-FW for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:30 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-b6d5b756284so954260066b.1 for ; Mon, 27 Oct 2025 04:03:48 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853077d2sm733626866b.3.2025.10.27.04.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:45 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 372585F909; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563026; x=1762167826; 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=e7kEo0ehhrs7dmuoByZ33JGWoarerE4gA39Srxdfv20=; b=ct7T+UxO8ugUSpNJB6/FR7ND4o6E39239Gw8B2LXS2G+SbM+k5XDQxpMb3CXkE1Hr+ LyohpjD9uF95+/iPx+5fMJYsPbd5uJT8TJVNiEaRVdV9LPoHAspeb1bWubDOladtTiCX jheWo/PbNJsXVIDvVA020QbOGH1CN/2ZEsD5RnIVNJH4WRhYQvxLE6EepoCXYIGUqfgV ExyPaUbjyGsqrgNCyLu2wiLfXIlDd493j4WTqPlXa6BCvH8r+4vU03DLqSUxOM9yOcxQ h+yaiVBYxsnPngaH5djUD8FqgRq3ThZDW0fpAMMvCEIbYDFpcwSDLCboa5RHOol9FPb3 JC2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563026; x=1762167826; 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=e7kEo0ehhrs7dmuoByZ33JGWoarerE4gA39Srxdfv20=; b=KGwfE5/P0SYuFgMf2l9JWXTbninDqS3suweX1MJTJ6GuGj3KJGrdMhctxTqQ+xylf6 Z4J0pf2Y99NSup2yw17UEeSykzWQExIZm2o+SKnvjo+i4TLRjIP5d+LI81k/O5vwE1Li +QUCtaerJYzRR+jmp98kbJPpKCK2EGA6ehepdsnLY1OUjtuNj0X91i+tukj+e9ePM0RF WD/m6LeJWbNqT46/hJgyAQQyWB+5ovWeFHF8m+lmh+kP4vQmKYihQFnRMPdyZnpIhldE Toull13Hvoyq/rEeStdKGxGIV1k9JYkwHvMpbx4e5FU7i01NT1MCKBWWoScUweLG62Cz z98g== X-Gm-Message-State: AOJu0Yx6z/Khk6EkDxcbxxJHB+hjusqpsAlwUSiuD17ebVkNmT4kTmkj 75r9TXdnNIITbMvXrEodXYK0MzQ9g3WsjgcP/oAFQnvVJgCKE6Z5hVH0eE5+HgHtTu8= X-Gm-Gg: ASbGncs5j8xG8qKkZkzvxQ6MIjj1IFkO70OUrKzdAYobt/3JFZhH91n+3gal8MYq1ix kba+JnhzaUUIT10jd04QtZ42URKLHHhUbnf7d/rwx1Wzbnepmam9rzdK3bJKAD0/awTQTJAosJ8 722XUPAkpMwbrsAIANOn1AtPSuvjH2IKwQ61fgVLzDCw9lUtIuoXuhuWk2lhKtXTo2aHx7fs9VT duMMXTxjm28lxmODit95sHSXpGDi7YoJyKDPE15w/H5W5TMvu/4eKDPNxO0bhRzVxOZ/ni4Y1Gn PW6/1AiZu3T3TLIu65UvH78fX0J9PiMVZ8yTiueqOce/PKoeD5i3anEcRXapljVSZUbFl6HbQ4I oHHNfLJsvq3ezpKta/lXqNvEsgsdO3lycqLiwyQ4Wy7iW1crKFCSbTRoSSZff0mAPMD8J9uryAC 5/FlIpIsQfHHD9MT9U5AtAWw== X-Google-Smtp-Source: AGHT+IFVnoi+lgvob0wxO832IsVs9tVyax8HId9K0fXhGU6IYMHR6wafX1uSpDqVUcJdkDm74wm4Ow== X-Received: by 2002:a17:907:7f0b:b0:b6d:5f02:51e1 with SMTP id a640c23a62f3a-b6d5f0252edmr1532617466b.20.1761563026469; Mon, 27 Oct 2025 04:03:46 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 01/35] ci: clean-up remaining bits of armhf builds. Date: Mon, 27 Oct 2025 11:03:08 +0000 Message-ID: <20251027110344.2289945-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62d; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1761563583368158500 We no longer need to support 32 bit builds and we missed this while cleaning up. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- docs/devel/testing/ci-jobs.rst.inc | 7 ------- scripts/ci/setup/ubuntu/build-environment.yml | 6 ------ 2 files changed, 13 deletions(-) diff --git a/docs/devel/testing/ci-jobs.rst.inc b/docs/devel/testing/ci-job= s.rst.inc index f1c541cc25b..b92d372a0a9 100644 --- a/docs/devel/testing/ci-jobs.rst.inc +++ b/docs/devel/testing/ci-jobs.rst.inc @@ -168,13 +168,6 @@ If you've got access to an aarch64 host that can be us= ed as a gitlab-CI runner, you can set this variable to enable the tests that require this kind of host. The runner should be tagged with "aarch64". =20 -AARCH32_RUNNER_AVAILABLE -~~~~~~~~~~~~~~~~~~~~~~~~ -If you've got access to an armhf host or an arch64 host that can run -aarch32 EL0 code to be used as a gitlab-CI runner, you can set this -variable to enable the tests that require this kind of host. The -runner should be tagged with "aarch32". - S390X_RUNNER_AVAILABLE ~~~~~~~~~~~~~~~~~~~~~~ If you've got access to an IBM Z host that can be used as a gitlab-CI diff --git a/scripts/ci/setup/ubuntu/build-environment.yml b/scripts/ci/set= up/ubuntu/build-environment.yml index 0f8ec5fab04..1c517c74f74 100644 --- a/scripts/ci/setup/ubuntu/build-environment.yml +++ b/scripts/ci/setup/ubuntu/build-environment.yml @@ -19,12 +19,6 @@ - '((ansible_version.major =3D=3D 2) and (ansible_version.minor = >=3D 8)) or (ansible_version.major >=3D 3)' msg: "Unsuitable ansible version, please use version 2.8.0 or late= r" =20 - - name: Add armhf foreign architecture to aarch64 hosts - command: dpkg --add-architecture armhf - when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' - - ansible_facts['architecture'] =3D=3D 'aarch64' - - name: Update apt cache / upgrade packages via apt apt: update_cache: yes --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563171; cv=none; d=zohomail.com; s=zohoarc; b=CCmMoEM88II2/CWe6Vclu5o2QQdTGrj9FYRp+OqDJXDyK13IHFjkE9vEM89YHWwFSv7hxAaQleKt84DTivgaNP7CM0aFA3XQERb4CZV4IfIBEOEGukX1QUhL1c8lnX4cDP4jYPA1cYIbflwAtCZqSpYnrAGFyW8v/JAq5pM2UcQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563171; 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=i4UpD3Wo2Ur7M84EaEhFIxTHg7WVr9t7D/2QA+hHtQc=; b=K5JdDUlnzOs67+2zoo1N3JYVzPsA8gpa4BbTzwZwO/QzX9JvxoMezKBF6nYqik06EDvav7B1g1lfZaZIhtgNoSKU+Phae9zQGh47Ft285FarawVxyO0YGAJ168Mfn01Kmj7xvxtUmj1HReVTPkRcnkBpJqhBetCjGid7nDFiY9U= 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 1761563171571691.8636797238601; Mon, 27 Oct 2025 04:06:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL1w-0000xr-F9; Mon, 27 Oct 2025 07:04: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 1vDL1I-0000bR-FX for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:13 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL10-0005aj-JS for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:07 -0400 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-b4f323cf89bso1078003966b.2 for ; Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8ceeaffasm657968666b.45.2025.10.27.04.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:45 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4E7D25F929; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563027; x=1762167827; 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=i4UpD3Wo2Ur7M84EaEhFIxTHg7WVr9t7D/2QA+hHtQc=; b=Jsb6+Lm9YVYCAX/wiG0OBQKCDBNVj+MWKGjlwOZd12iDvjEL1Fg94vg+5/SU17nkrm i6C4P7m/r1ApS1Qgox880Mpzw2fxFrWickAVP5uF0XWS1eoE63xumRlGk9qLDmLyJkk6 KMrixgNDHO04LS4Plk8pZn3qXvze43xRh3T1annVmExBcrH9rBCbZgsiH7YnRgLW8MnT vUtBfwUKf3JtHlSTaS8kRzj32AXHEfFPHS7CQAUyDADwH0GReZf3McJ/rbAuqJuLskH1 6hm2BpJuowWTxwwHPuuYva1wcYkdyTopPZjBJT8xHTvaXxA4826kjTvvlJD/i5CkIMfq 4nJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563027; x=1762167827; 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=i4UpD3Wo2Ur7M84EaEhFIxTHg7WVr9t7D/2QA+hHtQc=; b=JvwIVX8nG+HXrrNSOhKYnOz7RaAK2JQgX6aXJ4EbGmX5y5XmdmGNjmGBujsfUqBu+4 ATPue6lA5U8p/cVZ/rrqcHMWkfzD/zY73rOV8vf1v+/Ju43r7iFhG+OHH4WLMsc5L806 OH0dZm6tXaJrvybktGQkDy9MSjACRY3HnRTEOpJlRI4IOjrKhZaJ+Zr+0of8PUPu0+rh wyCvEfxGhjZY3by9u7uuM2KluLrlLluTyRWnHOy8wYF4cXicLvn4V3W2VCE2MK496QIT O/vFddWiyvinGjCdYuFJw+T3ggnN9bTZtLfOemHwN9SLL/kYXOswcbHfI+q9yo0GKTVy XnCQ== X-Gm-Message-State: AOJu0YxiCcz+qtg7WHngjCHRLDiSV77nkvAwnSDn7AxlHGBYp5zryjsJ d5y1lUveVahOcUi9YHPI6BQxsylWesCVGiITZjSUEpbBi5FqjCRGdIaILe9GccKkxjo= X-Gm-Gg: ASbGncse0X3mQxUvG0djKIPtLEEiwvuBnPX8a6onSFviNwLb/W6zLY1Ku7E/7gaZLIL fokqDMCg2SZ2EmdNvIIonop2iXZdah7L4mtZmEv+Qp9cKw0TeW8FXPe/JVwUfEtXrE1K6VbnFnm ltMW0lfpLFKpbmowOUWCg6Jfb0AXnUxdWt0uaDu7iNtRYMui4eiElZ/IEn9rvILdrcMg+GrluXS 83VtIEvZJxbvAl+TBi2jDzDB+Dy642rBix4AETmu+ArN9CHsJcRK3u6YwA3g3fo3QPDUR2KOZTW biEtV4TwvFo1ZBGjw+eHgVpmNS1AgjKWWFGB/QzYLAWNL/hNww31m+VWr8pKWMYFsRKM2lJf6wB 0+j84POfohLrVyhy7fMF0yJXioypVoQVkLyJPe//S8Z1jh+vHLs/9U4dcNP2WENOSfOsSMbQnPD T+ X-Google-Smtp-Source: AGHT+IFHXajRGliwqiHEwYdL2aJj2b+PeBhziVLBXnoreP9Hmb+AiOshglShS2ou+B7Jx8sOWn94hQ== X-Received: by 2002:a17:907:7f1b:b0:b0b:20e5:89f6 with SMTP id a640c23a62f3a-b6475609da0mr3904032966b.60.1761563027151; Mon, 27 Oct 2025 04:03:47 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 02/35] scripts/ci/setup: regenerate yaml Date: Mon, 27 Oct 2025 11:03:09 +0000 Message-ID: <20251027110344.2289945-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::633; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x633.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: 1761563174668154100 We inadvertently updated the base libvirt-ci project which has resulted in changes. Make sure the output matches what we generate. Fixes: 0d4fb8f746d (configure: set the bindgen cross target) Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis --- scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml | 4 ++-- scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml b/scripts/ci/= setup/ubuntu/ubuntu-2404-aarch64.yaml index ce632d97108..70063db198e 100644 --- a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml @@ -26,7 +26,7 @@ packages: - git - hostname - libaio-dev - - libasan6 + - libasan8 - libasound2-dev - libattr1-dev - libbpf-dev @@ -37,7 +37,7 @@ packages: - libcap-ng-dev - libcapstone-dev - libcbor-dev - - libclang-dev + - libclang-rt-dev - libcmocka-dev - libcurl4-gnutls-dev - libdaxctl-dev diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml b/scripts/ci/se= tup/ubuntu/ubuntu-2404-s390x.yaml index f45f75c9602..4f1a49be34a 100644 --- a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml @@ -26,7 +26,7 @@ packages: - git - hostname - libaio-dev - - libasan6 + - libasan8 - libasound2-dev - libattr1-dev - libbpf-dev @@ -37,7 +37,7 @@ packages: - libcap-ng-dev - libcapstone-dev - libcbor-dev - - libclang-dev + - libclang-rt-dev - libcmocka-dev - libcurl4-gnutls-dev - libdaxctl-dev --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563726; cv=none; d=zohomail.com; s=zohoarc; b=MRP0bTl+PJVyOJ1dqqSbz2H4rU0JdUqySJuELCFxdzGX3YYts1hwbGU7kzO96hIqMCWBadQxT6Pit3Wm/zb6SdPJmXGFgvTElDAmL7Zo8RpTIFEsgYD0ym8ODOvQcg9ki9ju79xhcy9GAa5oFnaEtQ1JtHDGOsw4d/9oJHHH7Sk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563726; 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=XBaCUU+RDMe8Fm+rMDPlvgrTnuTfYc8fUoPcpfBGUms=; b=Nq4OAe7grovKvM1/IedxVhgAk/nnwaSJGkYD1QGYzQKaJXhtCPLwXNO1z6CoHE6H2rC8tyrmAgN4IOjBu3a0SoB3KbEoc6lYmt5l5U+LHQ20TsmX+PTxpxX1J2Tf3/rLdG4/lLGpbZWkhLDXIiMSovgfV47IFffvotAXK8gRff8= 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 176156372659692.00306595214886; Mon, 27 Oct 2025 04:15:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL25-0001Ak-Al; Mon, 27 Oct 2025 07:05:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL1s-0000r3-EL for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:49 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1R-0005b7-Ao for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:47 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63c2d72582cso7310346a12.1 for ; Mon, 27 Oct 2025 04:03:50 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efb97cbsm6176732a12.26.2025.10.27.04.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:45 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 62C4F5F92F; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563028; x=1762167828; 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=XBaCUU+RDMe8Fm+rMDPlvgrTnuTfYc8fUoPcpfBGUms=; b=ZDl8/9Qt7Y+doaQTj+12ng6xydqfPt/krMdiLGH2c8sRHW2/MR1d6UTHR+Cw1U3zgs ytFzHernRvt56Q1+3L4GfLVrV+biOnyJc+IDJ0e+Vus4wl5nKcCmgkph6qq5cZk8Za0x QJ7rIe9MUw9sR3hKbh+Recs+jIu3lkRmixHU6n/XGgg0kMMAIIrc+khWrC+Je3dKfVVy Xm/0NKmCoQB4WRDxMtPJtRfAoyJCXE7o0c32zfGTXJVUKnBuDOvwyebuAwPubIwOHWoa hcsAaA3Ca4oYkmqryKkUVk1LMnw7+5xnyJscPWQRUHplnSTox51jdVGmyILpRUUzFY6D vw5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563028; x=1762167828; 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=XBaCUU+RDMe8Fm+rMDPlvgrTnuTfYc8fUoPcpfBGUms=; b=JSgIWR+0E97xNAqDYJD90znIIxRMizWpWgnAiTmCW9z/tvqcZvhXDtEUeU/pvlssvQ i+c9wav/3pwCJW0yOXB2h4ofmrtwwL5S3YYr6XIA75gOQjjLlWsqf0x16lUYvcDFmaPm qlXAgAmX6n7uuqliMXNfdMSxnmeBNCPAk+5p0/VA6MmB3bUrf8wWTtqUHPTHNwvtz3C6 PGAsb7KPW1DLGvgCkJQ2EWd0+/rZd19m31u51JNAbGLNDhIFqZYTtyLK2ga3zDcchvsl 4OdniBby2m4IUIPZ9KMmd8vCwYmKsjr6vyMMqL3AO+/aQemLfO3rMGQ41G3feDaptsfV g+PA== X-Gm-Message-State: AOJu0YwWdBGCnhZliuzUKNtZsBEr10y5khnRvHDv+AFUMedGPD7Bp9WC 1FwyAhMNdh32eifQCVQ1pOwXLAHDIsXy2sJLZ30J05vt7XJ79ch3aQ8UVAjLNdTOKlY= X-Gm-Gg: ASbGnctnKNo+Pklk7LtBuQ/o1BCb1clP2hp0hDoeJg9CjCxVE74zQhh27+havKTXBGV Yhd/UrGwz0UIgCLDpPLVEXdl21H0l8NaMHoJ/ka3Q5Tx0bZzf1zMBREhr3bQF1nh+8Y8gjLHUd9 VZPfSUp9+YBdPGiHrrkj3dJwTo/TJElfikGA/6mzMPy8roOJskKHKFgkfuQzNHdaFzHfjhI5gaY Oqy8ppPitYinUYQeXd8mh5OA/VblCPYiujS9dOW0sVIb544+xIIGWWywb+qw0sayTaaOJb2ZxBU BzbXs+BXtfmD/w121454X2PJQoUOpVCaWEeANfq5VUZ/1ttdYWTRK7+YJQbdIAFLNWLBzwNf/vC YPRrrg695FP3EkIDfpgf4H6JDzqQF+60+cJmnHY50qmnFEGy3jvNVB4sJFSDHERDYBZJeLgYYn3 vMyDE2JSkFD6I= X-Google-Smtp-Source: AGHT+IFkfptHR6PlFDi2agbOhG8NdwOZDW+TmaYBSdpTlkdykfX5dwUJ7HJhZgUkUyvlt6G3flbptw== X-Received: by 2002:a50:c88b:0:b0:63c:ea6:5608 with SMTP id 4fb4d7f45d1cf-63c1f6dfc77mr24049039a12.36.1761563027728; Mon, 27 Oct 2025 04:03:47 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 03/35] scripts/ci: move build-environment.yaml up a level Date: Mon, 27 Oct 2025 11:03:10 +0000 Message-ID: <20251027110344.2289945-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.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: 1761563730631158500 We can share the setup of the build environment with multiple operating systems as we just need to check the YAML for each env is present in the directory structure. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis --- .../ci/setup/{ubuntu =3D> }/build-environment.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) rename scripts/ci/setup/{ubuntu =3D> }/build-environment.yml (81%) diff --git a/scripts/ci/setup/ubuntu/build-environment.yml b/scripts/ci/set= up/build-environment.yml similarity index 81% rename from scripts/ci/setup/ubuntu/build-environment.yml rename to scripts/ci/setup/build-environment.yml index 1c517c74f74..66bde188755 100644 --- a/scripts/ci/setup/ubuntu/build-environment.yml +++ b/scripts/ci/setup/build-environment.yml @@ -27,18 +27,24 @@ - ansible_facts['distribution'] =3D=3D 'Ubuntu' =20 # the package lists are updated by "make lcitool-refresh" - - name: Include package lists based on OS and architecture - include_vars: - file: "ubuntu-2404-{{ ansible_facts['architecture'] }}.yaml" + - name: Define package list file path + set_fact: + package_file: "ubuntu/ubuntu-2404-{{ ansible_facts['architecture']= }}.yaml" when: - ansible_facts['distribution'] =3D=3D 'Ubuntu' - ansible_facts['distribution_version'] =3D=3D '24.04' =20 + - name: Include package lists based on OS and architecture + include_vars: + file: "{{ package_file }}" + when: + - package_file is exists + - name: Install packages for QEMU on Ubuntu 24.04 package: name: "{{ packages }}" when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' - - ansible_facts['distribution_version'] =3D=3D '24.04' + - package_file is exists + - packages is defined =20 =20 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563241; cv=none; d=zohomail.com; s=zohoarc; b=lviWPHnmr9xGgnsmeaYDfxAjqj8alJ4VLkgk/ftWrZ7j5o40M2o88fITFrujY4cCFLYZIAUsk0g5dVmot9bjQRZnU+Gzz1NjUrSv81TeX9j4/9iMmiz3P6tKNw4BEEx5otCDmmq2uFjPwu3NaSE5+T1uL3KX7WI0eXWZfcgyb28= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563241; 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=j70gJxXdGck8MJa36gCkeQcF/t7I7PGzdE6PkZ71zsE=; b=J0NUBdromG3S1Vt0sOg1vaOBTq/re68ohTXLkk9d98wg9g0M3HaO98fz8+M9ybg3XqcH0t3ncpPPXIJdyRBxyNHHiUjN8DEjxJ5S5LhVW/fPja/YJdGbHagcPtB81ZZ5BWkAg/9cBzDET46Qp/wPO3lQ52spht12XYrxqXAkgMU= 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 1761563241065273.25957470155663; Mon, 27 Oct 2025 04:07:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL28-0001Fg-Ot; Mon, 27 Oct 2025 07:05:04 -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 1vDL1Z-0000h8-9s for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:30 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1M-0005bd-Pk for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:28 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b6d53684cfdso1009210766b.0 for ; Mon, 27 Oct 2025 04:03:51 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853edc87sm734402566b.46.2025.10.27.04.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:45 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7C0705F9E0; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563029; x=1762167829; 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=j70gJxXdGck8MJa36gCkeQcF/t7I7PGzdE6PkZ71zsE=; b=D4vcdQYl789pFjgIDXaLfjweHugOVaM40Pd89aFoaDIB5cNgPf6/+hPY6NL1J7A/5x YxBQn31WOXZ3km06ytrmlF/SIDqq7geLUpAefHGVVOLLInh0yc0zytBPTnqcw4RKOKbb zcoIUJ5Otj5MAp4ZhnUffwo0zlInzOMIX+SaGsbbPGEsGfF8c0citK60/TijGkXzQEd1 M1xeqx/ioN3EJr+SAcA4P/P7U3H31i75i/QKXco8XsQ2Lh8QbJ1vyeywO/kyWsY7Vdtt 3JWGITBbsaY+xm9L6+/YJxT0gr09v8yWhy8sECUQm5d2ceObZa6LKSLOamQGJ4wdqJ/4 gwPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563029; x=1762167829; 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=j70gJxXdGck8MJa36gCkeQcF/t7I7PGzdE6PkZ71zsE=; b=TVIWAKFWQUrgeE+06D81WmXg83Z2lhddMdXttt9FpHx7qA1LHQJtuhWJlrf+WLcylp FjTrZQt7tS6PHhHZRC/YqqnTN/ItMzdvSwk8x6GkkDhJ20vCRzC3PX62bWJUM5Erm8oR /q6EbcARUBZHXhXFZVG/Zry8iBD49bhi+wFUhloJPs6gH0Nc6+Ty1xHoSAPq7EkqyznF 6CG0AbGisYGB/ro8Q1oxUQrwzJrdMZD3EYe8oQJfl4msit1c5oXC/TSujwniC8/J2HyN i2HtgDU9xLIkmUzq3noYOednHBRuwcvLQNacXzngM4b4hbtAOneZZisC/EOvmN63BKJA F5Tw== X-Gm-Message-State: AOJu0YzYtnd9EdLsjVRcZqBxoM0ynN/25xbQ0iWTVhmkyXeu79ZgkISO 4RwSbVOi8ytHg0fMDXzaECu1JNRGbhL8aVDfGpTy/IDAxiOxYm9IpMBecxg196QasnA= X-Gm-Gg: ASbGnctkk2BKb7NOWgpaIvU20gadEjAQJdVESlC16D/16RT7WlsSzd2leAkIvCfaOs3 pHBXhuZxFui+1Ku/mqV1qap1sfKp3u19inZpEvf31riEHexV3+RBVgungeIHmNHM84U1BYTM3LN rdX7kV4WkrcODjsZ3sCYK4s69SztgHxGrEw3G7ugcs1+qwV2C9vRgbc+HK2BP39pRj5GotD6eUl AH/DCE+5E1a/YRBSVO//GA/yBe5s+VEr1Mggv8M5G7HJkPIoDchTbwT5RQAaOSxAxCd0k+0pBtC teziOpe8/Nbiqfp+G4JM8NmR9hR9gpMyba9dCD7zCZy9f/MvYzyeBKna25h6ozJtDGtLInm2tAs qwrr1rlK2wV4aAsDSyWWjqG3s6VnEo+EUD6706ubA4mtTVlW/lA4jXifVIKYjL3mGNDtUIRcQr6 vevoF2Wk68joyyWEq6jFgRxQ== X-Google-Smtp-Source: AGHT+IHMVv5tt5JLpSnfEJyZKqOa3wbzf1/A2Kwv6tqT7NQOmJaYgs5Vgi9m2Q2oWdSmj1jix/T2Ug== X-Received: by 2002:a17:907:c11:b0:b32:8943:7884 with SMTP id a640c23a62f3a-b647500ee9amr3839114366b.45.1761563029024; Mon, 27 Oct 2025 04:03:49 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 04/35] scripts/ci: allow both Ubuntu or Debian to run upgrade Date: Mon, 27 Oct 2025 11:03:11 +0000 Message-ID: <20251027110344.2289945-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::631; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x631.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: 1761563243464154100 There is no practical difference between the systems when it comes to updating the installed system. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis --- scripts/ci/setup/build-environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci/setup/build-environment.yml b/scripts/ci/setup/buil= d-environment.yml index 66bde188755..253d0b759bc 100644 --- a/scripts/ci/setup/build-environment.yml +++ b/scripts/ci/setup/build-environment.yml @@ -24,7 +24,7 @@ update_cache: yes upgrade: yes when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' + - ansible_facts['distribution'] in ['Ubuntu', 'Debian'] =20 # the package lists are updated by "make lcitool-refresh" - name: Define package list file path --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563172; cv=none; d=zohomail.com; s=zohoarc; b=FageAuXufvIyJZVA8CJYjFt4e81RKmInGqHSJ/Ndox/sAZ2981kGHfTe1vuZjLk1iWzgR5pxCuec8InaVsxDrCbHbqdxhmzXi4g8OkFUffg1Orq/P8TI2IWiWv7AjdisEnL5/pbJi1tf1cgR8BE+znVyL59I+n4NtwTnggU5EEo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563172; 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=XeRSVxV/a/+cXLwVgc+XC0DpKFA3aVxT1tt4Uj60OQ8=; b=l9bznhxajmeRdHuwCdV1nf8lUvDQGgUKcLQ1yFSTWSMoQVWZ8BsIPfcwicqJKukhgM5A4laCSbNXCe9TVC/yudHN9lZv7tFjy9IgKxnzZN1Ikbz9bOtBEtP9okN9jCeSIKV5H3KODb5xtQUB+qf4zcznqZGI0Qb3VPiI1J8l8fw= 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 176156317203615.498543447136967; Mon, 27 Oct 2025 04:06:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2S-0001jO-C9; Mon, 27 Oct 2025 07:05:24 -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 1vDL2P-0001em-Dj for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:21 -0400 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1a-0005br-IV for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:20 -0400 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-b5b823b4f3dso563514566b.3 for ; Mon, 27 Oct 2025 04:03:51 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853077c7sm733658066b.7.2025.10.27.04.03.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 94EBF5FA07; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563030; x=1762167830; 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=XeRSVxV/a/+cXLwVgc+XC0DpKFA3aVxT1tt4Uj60OQ8=; b=wWD9G/qJHJV+g3P9eISyRZZS2+K1MzOHe6L9jminNsfavdvHYfvPEM+AHjebDnuU7L +mvu/ONdLQGDyaYEqNDzYHMWgQC2/PaJCQ7TmLIAP89OSgotaA+2iuTOKWFrvEgjx9Rl ETOkTqZb7vZ3Bc+MetDp14GEqsOSr5nlZrbliQKTbM7Tlm78pjpa4vIkYEcwgkk4Cpjv X57VVGVVNtTfDneg+bEvQapDd+O+o54FYbHsnuR1Y4ZoISc/82bAyM13C9cz8XHiHFbW s5TJPXMSUFBcYGXR1JesyhNXJXYfFZDEmsJVRkoVIsPB/l7pvH43C1ZCz36i7f25MpIq 9Odw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563030; x=1762167830; 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=XeRSVxV/a/+cXLwVgc+XC0DpKFA3aVxT1tt4Uj60OQ8=; b=hJqIWQy+cQDqhwFM7vAvBeHSUhzSokwST5ERN3iL2yQ5YJQ0DoqM7yP6zRIbtrOT36 MCruYJr/Xs2TYHWfPdTzYCOoN8M/YEMVRe8xhTQpJtzvPTDOId31koSI1QmAJJKEbcoY ZJnTAIR2cpC5YMA3E2x2TYNUtSRFGzEIY1KwjCdsZiC5B5OERvRaJPjF1relzWJ7kWvj 6FcPle/YZbXqZOfcwxBvSyY5c/gpmVb9y2ZdHuXulvpOLhoCDMGIiGMM9+pnVzV6rRnO zy3p6fHbLiH/9goHPT4IJl2QG/nai2Erm49I5B2buyYmPuMyJFX1l3fUeXPZqvFv6xdM fFWg== X-Gm-Message-State: AOJu0YxPyuUD9dId4VigA6hV63qPDkZS8OUNjim/v71LaT/G/SgNwzBe X2vzG3yR5wyT1Z/S8BJTCnrD1OgOouvYjpYb+6ZpTsWPt+sRQ9moXVEXlLKwZ/17lVg= X-Gm-Gg: ASbGncvstDZER54wSObN+w+V5Rq9Xe/Do6EtNlUTMMpkMN9sO7UK/qaXFwma7PhvW+o v5WmVr11zQQ6oV0t8AmPkoNQC7dVjKCzg474080u5d7MAeQz3W+PWs82MLBCHKNKVC06v4hwKLZ WjMX95tFf3O+TSeX149qMQfeu92IAPEkfiO44Rys2Zf/woCoMyv8sHW2iSVYbVOByfAh59/2KeI RpGNDzDLz2i+x7XwvpTi2OwWBt+d+r59bI/lBvg9tbufHfR3jITbzVnO0mUXSasMOc81pzFcykw DAGNsXrQD6jk1xKv3aV3E7DObmjj/cjHxRW/BgMn2S5fvqchH+aETLU7vEYDU8ONX3e+CTFRMZ9 1GA9C23wjlR0xtX+BFWdNyqA+9dIYhBwX1VNx3vbjjkWPKuXte5vYzgc0+mtWoi6hYEliiNY1OS tvMcK2DU8BEJ8= X-Google-Smtp-Source: AGHT+IGVeVAd9SOhpQydD1C6iIU4n4tkewdKGA2QFdCIbJrrSlQ45g2gAXLS0i8sKETvZQ5il8jl6g== X-Received: by 2002:a17:906:794f:b0:b6d:80e6:cf with SMTP id a640c23a62f3a-b6d80e6068cmr742975766b.44.1761563029639; Mon, 27 Oct 2025 04:03:49 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 05/35] tests/lcitool: generate a yaml file for the ppc64le runner Date: Mon, 27 Oct 2025 11:03:12 +0000 Message-ID: <20251027110344.2289945-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::635; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x635.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: 1761563174723154100 Unlike the Aarch64 runners this comes with pure Debian out of the box. We need a minor tweak to build-environment to deal with the differences in naming convention. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis --- scripts/ci/setup/build-environment.yml | 10 +- .../ci/setup/debian/debian-13-ppc64le.yaml | 134 ++++++++++++++++++ tests/lcitool/refresh | 1 + 3 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 scripts/ci/setup/debian/debian-13-ppc64le.yaml diff --git a/scripts/ci/setup/build-environment.yml b/scripts/ci/setup/buil= d-environment.yml index 253d0b759bc..528150dce78 100644 --- a/scripts/ci/setup/build-environment.yml +++ b/scripts/ci/setup/build-environment.yml @@ -27,20 +27,26 @@ - ansible_facts['distribution'] in ['Ubuntu', 'Debian'] =20 # the package lists are updated by "make lcitool-refresh" - - name: Define package list file path + - name: Define package list file path for Ubuntu set_fact: package_file: "ubuntu/ubuntu-2404-{{ ansible_facts['architecture']= }}.yaml" when: - ansible_facts['distribution'] =3D=3D 'Ubuntu' - ansible_facts['distribution_version'] =3D=3D '24.04' =20 + - name: Define package list file path for Debian + set_fact: + package_file: "debian/debian-{{ ansible_facts['distribution_major_= version'] }}-{{ ansible_facts['architecture'] }}.yaml" + when: + - ansible_facts['distribution'] =3D=3D 'Debian' + - name: Include package lists based on OS and architecture include_vars: file: "{{ package_file }}" when: - package_file is exists =20 - - name: Install packages for QEMU on Ubuntu 24.04 + - name: Install packages for QEMU on Ubuntu/Debian package: name: "{{ packages }}" when: diff --git a/scripts/ci/setup/debian/debian-13-ppc64le.yaml b/scripts/ci/se= tup/debian/debian-13-ppc64le.yaml new file mode 100644 index 00000000000..e29c9c18403 --- /dev/null +++ b/scripts/ci/setup/debian/debian-13-ppc64le.yaml @@ -0,0 +1,134 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool variables --host-arch ppc64le debian-13 qemu +# +# https://gitlab.com/libvirt/libvirt-ci + +packages: + - bash + - bc + - bindgen + - bison + - bsdextrautils + - bzip2 + - ca-certificates + - ccache + - clang + - dbus + - debianutils + - diffutils + - exuberant-ctags + - findutils + - flex + - gcc + - gcovr + - gettext + - git + - hostname + - libaio-dev + - libasan8 + - libasound2-dev + - libattr1-dev + - libbpf-dev + - libbrlapi-dev + - libbz2-dev + - libc6-dev + - libcacard-dev + - libcap-ng-dev + - libcapstone-dev + - libcbor-dev + - libclang-rt-dev + - libcmocka-dev + - libcurl4-gnutls-dev + - libdaxctl-dev + - libdrm-dev + - libepoxy-dev + - libfdt-dev + - libffi-dev + - libfuse3-dev + - libgbm-dev + - libgcrypt20-dev + - libglib2.0-dev + - libglusterfs-dev + - libgnutls28-dev + - libgtk-3-dev + - libgtk-vnc-2.0-dev + - libibverbs-dev + - libiscsi-dev + - libjemalloc-dev + - libjpeg62-turbo-dev + - libjson-c-dev + - liblttng-ust-dev + - liblzo2-dev + - libncursesw5-dev + - libnfs-dev + - libnuma-dev + - libpam0g-dev + - libpcre2-dev + - libpipewire-0.3-dev + - libpixman-1-dev + - libpng-dev + - libpulse-dev + - librbd-dev + - librdmacm-dev + - libsasl2-dev + - libsdl2-dev + - libsdl2-image-dev + - libseccomp-dev + - libselinux1-dev + - libslirp-dev + - libsnappy-dev + - libsndio-dev + - libspice-protocol-dev + - libspice-server-dev + - libssh-dev + - libstd-rust-dev + - libsystemd-dev + - libtasn1-6-dev + - libubsan1 + - libudev-dev + - liburing-dev + - libusb-1.0-0-dev + - libusbredirhost-dev + - libvdeplug-dev + - libvirglrenderer-dev + - libvte-2.91-dev + - libxdp-dev + - libzstd-dev + - llvm + - locales + - make + - mtools + - multipath-tools + - ncat + - nettle-dev + - ninja-build + - openssh-client + - pkgconf + - python3 + - python3-numpy + - python3-opencv + - python3-pillow + - python3-pip + - python3-setuptools + - python3-sphinx + - python3-sphinx-rtd-theme + - python3-tomli + - python3-venv + - python3-wheel + - python3-yaml + - rpm2cpio + - rustc + - sed + - socat + - sparse + - swtpm + - systemtap-sdt-dev + - tar + - tesseract-ocr + - tesseract-ocr-eng + - vulkan-tools + - xorriso + - zlib1g-dev + - zstd + diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh index 056cfb6e9d7..7fbdf6f340b 100755 --- a/tests/lcitool/refresh +++ b/tests/lcitool/refresh @@ -272,6 +272,7 @@ try: # generate_yaml("ubuntu", "ubuntu-2404", "aarch64") generate_yaml("ubuntu", "ubuntu-2404", "s390x") + generate_yaml("debian", "debian-13", "ppc64le") =20 =20 sys.exit(0) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563321; cv=none; d=zohomail.com; s=zohoarc; b=QDAp7TKCr7n8wJc8NTm6x6OyGEhxcvUF+qGIbiD1LppCtkx/2EAdHIn8S/HoSgaJgM4MOLx298rpXtOAaUGR7+As2gDNFI34IqtnQyRTMKras7/moOKYd6tpPv19vVRPdbarwSZCOfBBmguy81PmkqnD5j7cYMSsNCGo9aVqsPg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563321; 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=dPRpRXWNkgzTelJ9LaP0XDvrgpGKDnKCNCyXswtjrG8=; b=C9QbwoZwsWSQvfjNinf+GqFiECmQrphAhfz+WKRpp5CGusQGgE0tu0Qs+LSVuY+XfRhZCvfX4TZNx/k/fpcZbAbq6ahssCdfbsQ/RSRmWN52uHkiQwjqX/fZlcEc4L7A3srfEpi1v2OR9bnqZdbqC2KWiY7veK4eeGwxxdaE7sw= 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 1761563321409279.9456056887117; Mon, 27 Oct 2025 04:08:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2F-0001PX-B7; Mon, 27 Oct 2025 07:05: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 1vDL2D-0001L6-I7 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:09 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1Z-0005ci-0z for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:08 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b6d345d7ff7so848511066b.1 for ; Mon, 27 Oct 2025 04:03:52 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d85309069sm716387666b.10.2025.10.27.04.03.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A833D5FAA7; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563030; x=1762167830; 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=dPRpRXWNkgzTelJ9LaP0XDvrgpGKDnKCNCyXswtjrG8=; b=w5dLCARn5qgqtBNCDCY41zmbiYRysQivS7/97/aDe/4US434ThlSgwfMG2x2Ex+gg4 pd4Fmj5rvKt0bxhzfl2AR41IMMbc41OGjR0Bqab7pk1CG2zRcBMS8X9STFNRk9XFzM/z jutJwpxpipYbqmLvFhgAXHgUXXuJA7PKSXlTVRzFxEH4XEtx4/SnppriHCMU014Vxhc4 BcaF4u+o3XQDfu9VdPR12TOnYoDEhdHZkMlUtg/HAOY1G2jkG5Xs9kvlsg0utfgvEai7 zjCOTJSKNOeAVz0N+2vEPkpeQxqlnSGYp0VVYEu0G2K/F6zocIpDZ0RGa+bPHsKdNTa8 pqMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563030; x=1762167830; 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=dPRpRXWNkgzTelJ9LaP0XDvrgpGKDnKCNCyXswtjrG8=; b=BH93+OirhxbcTLnPjPbVJ9HTWNtBKJ0l6Uv7JFxK28S/N7CdKlcdEn9Ey+5iuHsW/+ eFTFpUVA56KDSI37Xbqe7t0zTQy8mM+ZYp7m2FQ4RwyZTGpe4tRZqG03/bahSMaJJp02 /KrPQc5al/WN64FRaWbfpSan8FE8X0hxV9pKoOj/dIMxjVJJ2ak9wOyPFf5UNVLwVXj3 ly3NJ6I2BRExJf9PXDguoUAUFW+9HzLP10VK567lmcR5nls6OdvNqKwffbbT2Ldpivc/ Uv5T3XvTFiWB97TI/D2c/Jt5YdJotdoVPe4TjS3/8x/W4letAAxaZ2zCNhDw/KeERpug F3qg== X-Gm-Message-State: AOJu0Yw2bNvKglSg+rDOqHFGYQRzT03JUJocvAc+1Znt457BcSIFPBik Eb4q1AunFRecQiTMNFaJwFz6KQ6ZnwnFN7PKVtpnD8MyQXjJMvk4NDTzAPCMWK+FT/s= X-Gm-Gg: ASbGnctm6eCQ6i+8SadWd5bC78Cc9GqQBf/G+Ms+hcGbTxfd6qNauAM9CQO1eeOWpqB eSYDP5T31odAMDqAP4Yca8SpXpia6sbFYPXknR2NHxhlAMr6jxFpg7vGiiIEvmzROo1TBW+0snn 172TkGk3vg56iuAzZMXft2mD+to9pS0WeQlw+hKiz43Z4zX1ZkaywFsQqCYje9vCxKxS40p6QhH KoB9AOGFBvsULXaENQDFsEiNid/KTUja03ymKcCqohNKOdaDRXb/tV/W208PowC2HuzFhXT5Z/y M9Xp73uOUCErAEy9mxs2nwU44ANXFLbiG66WxgAX9J5Q0yAD2zr6z4iE3KV88laTFGLFnd/pjIJ ATBQMrLT+gzLknANwFGFRUgKpzUbvkVmhGbxNr3qE14hLj3UQgc0NmgN9RBDNdMY8STI3GbRY3s gJG+fwsAI5uAM= X-Google-Smtp-Source: AGHT+IEKOw2sZTHAivgqlTb6K/HYXBQhpYwxsm2va8DyFrA5s6EN+1suG8QBDsLHPxzTUtSD784+vA== X-Received: by 2002:a17:906:7955:b0:b6d:5fbf:8c63 with SMTP id a640c23a62f3a-b6d6bb4a57emr1240007166b.15.1761563030330; Mon, 27 Oct 2025 04:03:50 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 06/35] scripts/ci: modify gitlab runner deb setup Date: Mon, 27 Oct 2025 11:03:13 +0000 Message-ID: <20251027110344.2289945-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62a; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62a.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: 1761563325800158500 Both Debian and Ubuntu are setup the same way. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Manos Pitsidianakis --- scripts/ci/setup/gitlab-runner.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/ci/setup/gitlab-runner.yml b/scripts/ci/setup/gitlab-r= unner.yml index 7025935487a..76aeaf4ee95 100644 --- a/scripts/ci/setup/gitlab-runner.yml +++ b/scripts/ci/setup/gitlab-runner.yml @@ -56,12 +56,12 @@ url: "https://packages.gitlab.com/install/repositories/runner/gitl= ab-runner/script.deb.sh" mode: 0755 when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' + - ansible_facts['distribution'] in ['Ubuntu', 'Debian'] =20 - name: Run gitlab-runner repo setup script (DEB) shell: "/root/script.deb.sh" when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' + - ansible_facts['distribution'] in ['Ubuntu', 'Debian'] =20 - name: Install gitlab-runner (DEB) ansible.builtin.apt: @@ -69,7 +69,7 @@ update_cache: yes state: present when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' + - ansible_facts['distribution'] in ['Ubuntu', 'Debian'] =20 # RPM setup - name: Get gitlab-runner repo setup script (RPM) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563428; cv=none; d=zohomail.com; s=zohoarc; b=MTOKCxJA/evRv704o9SK6grvR6QJktxUIgdGzsmjePheHySog9rcZSHjE7R45xAtx7sBrVM+cQNPgCFF/2xNzfPuqP6ph+7NMG1Z5OLXHTkPAuVbn/ecG5ql5QkzYJuJY0dlAqihT92WlpqeAgJGsDRSQUUgyvQpfrGsghPDm84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563428; 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=80isSoz7EOdlCaIZfqdN1lA628I3DHM5sFKCGcUmW68=; b=X+CwygEu87F95kwL35+t+Lt+u8BxXLxALD898bB985rp6VM/iDBW2Qf7phuTd5G7yBeiXfajkMkFnlEshVz/IXTjn9wjWvHBePzT1iBLnhW1ZGRnQ7J504f7w1o2FvlRZNCFtr5zpJ6ECcaadgpr1PZxSbMM/DySJdCVVNTqv5A= 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 1761563428959149.24704793379283; Mon, 27 Oct 2025 04:10:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL22-000164-Ji; Mon, 27 Oct 2025 07:04:58 -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 1vDL1a-0000iJ-GV for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:32 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1J-0005d2-FW for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:28 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63c2d72581fso6565403a12.0 for ; Mon, 27 Oct 2025 04:03:52 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efb950csm6163477a12.28.2025.10.27.04.03.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id BD2B55FAD0; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563031; x=1762167831; 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=80isSoz7EOdlCaIZfqdN1lA628I3DHM5sFKCGcUmW68=; b=TSPh37aPZW4vu1QXTfVnStpNZsT7hT7MQtrkc6ivXSfapjyFzfGftgQ/4ZfG3c4yom GH4V4QV+9XWeZ4r+fpg3WiJzLwGSHagvTsiEANHzfeL8pOohfpEjf7LU7GFCSbSugOUu N8S3j8OmJBdpGJv/Js5hJmZy8te6kSlB/kPeZ+xOn/eeHyAm1+TA8v5ZcaULxVP2GUwV DHDE3vB7WzfVHSfqVa69Vn53nAavojUoxogYL7x/dUgGKCX9VM+dLetStcL/0xjo7ieR edbU3Gjxj6K8f47XTczS1/WME7wg4ImMLmPvPk0tbM67adn2slhmHpJFiIqA6T1HanK/ nLXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563031; x=1762167831; 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=80isSoz7EOdlCaIZfqdN1lA628I3DHM5sFKCGcUmW68=; b=IuPLVJGFA5G0ZHO36hf3gt6TjpRnoXCxwO9WxVwt1ThmXygCW3ncTeCCaeOc8HxJWV bOCCxKfJ8tSlPVbrs6IACglDg2OzYacV+6Ol6rK36QKMZhlR6lxyfVI7cV+vM+yTcgd8 ofvbhhpIePSTZwC2/F4fr+ucb3EuqB0shmpOBXjsihFp8fdV3nIWh/rz/fiHj8bajtVf cGSxZuNsHHEalSL1/QsdOlXNi3gbpA4Xp/IdnMGbVNxVyNrSR5HZlkZGP+vxgBsCDxJo uLeF1ZZ4TzIBM19I5XjYm7DfvGRdMWJx+dinIjbSUWjJ7OvLdkCPvbMUQdZ4+5JZUxte YhtQ== X-Gm-Message-State: AOJu0Yz+qlyO32y1pX2ICn2CzBcSsg6kQCzdjOmiBCm460a8F0UwBafz GhNlFLMZ2nz+Z22BSR+AHdpOjCJsxCj4d9NeIRZHsCy9YvmHHcf1eSKMAmuIYj+EAos= X-Gm-Gg: ASbGnctM03f5dWs+TkZ1XIGcnomM+6gqGGzwR/SCUZDT39K10yEN3mYjM67kRRjFx1h S6pxhmUdouhuligrVr9h5laxfmi1LNm9De+dkxLYV66MG5gDboCyoVAmiA+Y42dlK1bir+gjEzl KNygJXMoHez9a3rXsCYdBT51NIQjTqU03GA+4JpHqCF0pxXURUlSN6Pg8WqqA/3L7pLYC+f0zma iqBg9rGHyzNr9xYaBPzEOqowuAo69hgLcXiz1G6/gamG4zldD4D2yg0firufrvjMaxfc97d644g oVpBPu7izLkTteBvE2y0dUgOV0z+kTenpIpHcDSSsUu4BBjCWqEb/1C35cwkY97LUQTvFpD0ksi 2/Bc+9olpIfqyH+7agfUf4ooMBYOYtP+RmemDtaDfGzFLTqSbnpea+89i52DnD8tSHNN/T0coOt u9 X-Google-Smtp-Source: AGHT+IEwkJfYwImH4/uCjYjquIxa9anv7Yli+nUcbmModwXg9PXqYo5p22WyVAQiluKBu9SNJZsjpA== X-Received: by 2002:a05:6402:5191:b0:63c:4f1e:6d82 with SMTP id 4fb4d7f45d1cf-63c4f1e73acmr31079387a12.24.1761563030929; Mon, 27 Oct 2025 04:03:50 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 07/35] plugins: add types for callbacks related to certain discontinuities Date: Mon, 27 Oct 2025 11:03:14 +0000 Message-ID: <20251027110344.2289945-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.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: 1761563431483154100 From: Julian Ganz The plugin API allows registration of callbacks for a variety of VCPU related events, such as VCPU reset, idle and resume. However, traps of any kind, i.e. interrupts or exceptions, were previously not covered. These kinds of events are arguably quite significant and usually go hand in hand with a PC discontinuity. On most platforms, the discontinuity also includes a transition from some "mode" to another. Thus, plugins for the analysis of (virtualized) embedded systems may benefit from or even require the possiblity to perform work on the occurance of an interrupt or exception. This change introduces the concept of such a discontinuity event in the form of an enumeration. Currently only traps are covered. Specifically we (loosely) define interrupts, exceptions and host calls across all platforms. In addition, this change introduces a type to use for callback functions related to such events. Since possible modes and the enumeration of interupts and exceptions vary greatly between different architectures, the callback type only receives the VCPU id, the type of event as well as the old and new PC. Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- include/qemu/plugin.h | 1 + include/qemu/qemu-plugin.h | 44 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/include/qemu/plugin.h b/include/qemu/plugin.h index f355c7cb8ab..8cf20cd96f7 100644 --- a/include/qemu/plugin.h +++ b/include/qemu/plugin.h @@ -59,6 +59,7 @@ union qemu_plugin_cb_sig { qemu_plugin_udata_cb_t udata; qemu_plugin_vcpu_simple_cb_t vcpu_simple; qemu_plugin_vcpu_udata_cb_t vcpu_udata; + qemu_plugin_vcpu_discon_cb_t vcpu_discon; qemu_plugin_vcpu_tb_trans_cb_t vcpu_tb_trans; qemu_plugin_vcpu_mem_cb_t vcpu_mem; qemu_plugin_vcpu_syscall_cb_t vcpu_syscall; diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index c450106af18..08bf366e363 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -161,6 +161,50 @@ typedef void (*qemu_plugin_vcpu_simple_cb_t)(qemu_plug= in_id_t id, typedef void (*qemu_plugin_vcpu_udata_cb_t)(unsigned int vcpu_index, void *userdata); =20 + +/** + * enum qemu_plugin_discon_type - type of a (potential) PC discontinuity + * + * @QEMU_PLUGIN_DISCON_INTERRUPT: an interrupt, defined across all archite= ctures + * as an asynchronous event, usually origin= ating + * from outside the CPU + * @QEMU_PLUGIN_DISCON_EXCEPTION: an exception, defined across all archite= ctures + * as a synchronous event in response to a + * specific instruction being executed + * @QEMU_PLUGIN_DISCON_HOSTCALL: a host call, functionally a special kind = of + * exception that is not handled by code run= by + * the vCPU but machinery outside the vCPU + * @QEMU_PLUGIN_DISCON_ALL: all types of disconinuity events currently cov= ered + */ +enum qemu_plugin_discon_type { + QEMU_PLUGIN_DISCON_INTERRUPT =3D 1 << 0, + QEMU_PLUGIN_DISCON_EXCEPTION =3D 1 << 1, + QEMU_PLUGIN_DISCON_HOSTCALL =3D 1 << 2, + QEMU_PLUGIN_DISCON_ALL =3D -1 +}; + +/** + * typedef qemu_plugin_vcpu_discon_cb_t - vcpu discontinuity callback + * @id: plugin ID + * @vcpu_index: the current vcpu context + * @type: the type of discontinuity + * @from_pc: the source of the discontinuity, e.g. the PC before the + * transition + * @to_pc: the PC pointing to the next instruction to be executed + * + * The exact semantics of @from_pc depends on the @type of discontinuity. = For + * interrupts, @from_pc will point to the next instruction which would have + * been executed. For exceptions and host calls, @from_pc will point to the + * instruction that caused the exception or issued the host call. Note that + * in the case of exceptions, the instruction may not be retired and thus = not + * observable via general instruction exec callbacks. The same may be the = case + * for some host calls such as hypervisor call "exceptions". + */ +typedef void (*qemu_plugin_vcpu_discon_cb_t)(qemu_plugin_id_t id, + unsigned int vcpu_index, + enum qemu_plugin_discon_type = type, + uint64_t from_pc, uint64_t to= _pc); + /** * qemu_plugin_uninstall() - Uninstall a plugin * @id: this plugin's opaque ID --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563170; cv=none; d=zohomail.com; s=zohoarc; b=AmH9q3zguM3XwHcrWmSjPYd/INjIhdrcWc8FM4/aYxMxfXsHRo/odle/Tj8xuFi3EHDHG8k0yhgcbWPLnU3pZp4G3RdynV4J0R7D/+IXGlCFyM6ktTTtPvYcYlZ3RL5eFM2hUADOttEWEp/3uyNifFn+tD7SpGKikK8e98Ied88= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563170; 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=2nbP5MgtaqXwfRlBFEZTbsu+DGPvAW3IhkFVTkZlGB4=; b=bAF3oPxoETxaCwwFu4Rgji64TcNE57wh7G5wxp2aQ/5whMhpX3+NTS8rti3I5Fkhz3zU6IXw/it/K2a3AHro6qGhN+X5EcoH79Jk4NvcRbJt/+buAMA+R8Cat6GShCXARnDmW64KWOpsYEgnZyMI1rKIRel6AvPXXIuXX3lxR3s= 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 1761563170411982.9649355798433; Mon, 27 Oct 2025 04:06:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL1y-00010Z-VS; Mon, 27 Oct 2025 07:04: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 1vDL1t-0000rU-TJ for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:50 -0400 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1R-0005eH-Tf for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:48 -0400 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-b6d78062424so841130866b.1 for ; Mon, 27 Oct 2025 04:03:55 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8541fb5bsm729708966b.56.2025.10.27.04.03.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D71305FAE6; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563033; x=1762167833; 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=2nbP5MgtaqXwfRlBFEZTbsu+DGPvAW3IhkFVTkZlGB4=; b=QW8ixkxKbiMg+3OYqZLmXRL3rvjc8TeskQof/8AZKDEUn/+vUFa9tYdP1xA87Xc3yt ulIIw5ym3RvWzX8AzYb1SuWOSVU17bk3SKBKiFNnap8GG9eDUJFAI3qn6UKxw/KtByPo rW7TPZvJSqLMxL9fIaDS68G6shlt4v3yQps06Y994Bb11EC6y5KfVlOCAPopMxLbpjb3 l9n+D+6Fz83FZCri5we2CLTF63uLGhS/Ciku6GAlWMH6ZcpqW3MiIPBtGlDxFqFZorg1 dZtGQmWg5St75MouB5q9PP/15NfSM7R3/IdAnZHsaroAyswffRh9WtMLwwc/tWn+wrQk VChQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563033; x=1762167833; 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=2nbP5MgtaqXwfRlBFEZTbsu+DGPvAW3IhkFVTkZlGB4=; b=NsIH8FcWc0cbKZI+MBBI94x5p+EB8zvbf5KRPTxsmEpexkjnA3XyWfMiJzA3NdcWKh G5g4/s3kbiisCmB8uEjJ0hODuiWDovwVXmMNzMycpimFfxUVQNSRMuEU3xg7XATWqbKw JNn5qshqresInQC2DUAxzHlkGk1kFdK4s970CXQl9bzSMjzpzlqhkXyy+fTfyWEJYPkW crS2aBdwTCWpq+5R4yTBrkNPnEPEk65+naOwVnEnAcgBd/rIkGkcb49M5/G1sKgbesRE vdnzAMNBQkU9tuZT75P1VAkGTxXxvyGRqqDxO/RXZoJgH/41xrRp8zfO0pvt+DMqtV2P 1iaA== X-Gm-Message-State: AOJu0Yw5WE9CqY8s0R/+ONiMsgZUHnbWB3dDWIEk63e2RFp+QpWk3ZmG nw7qhVI7aj5HiCfA23doIT85jpMa/5dawRMeMj7M1NXlwdAN2YNuf6UhfQHXp0ewvNo= X-Gm-Gg: ASbGncsnt81E3UroYLFNczZGp2zFrc0+VPLvT1OzIgO1hK367col8OZC2V6uaMWIuBC jOPrlU8jCoWzX9yOuC5n43I173bzA39wHrTDFN2EIqEYvZo69n7Lz1qdNu8yT3TJGyRCF+ekDxB +vg1ZPOX/Zr3d5EagME5pI9XyzMEyetIYgcarR2OCf23OAnO0Bgxlgq2VSpou3UddrZMmcmP8K1 eE0PACwmXcsuGpvthAKJUdaLhg3rzNCW3bgbxXiFcfRarFlnZbvviEbY3s50kArTWm9QtyCHmwj EBBgUN6u2POCzu8qHDHs70Vehy9pUf2qB1yXtc9QWyLyAipRcB/s9TOrpf87N4/qUxzdOEe8DZs YoItNXz4UyaeVw6i9AgEl/YQyPFVGtrAng1WVKF0rhbOjaYTJ/ErjKzgldVo0jmVSPFSJPYreAu fd X-Google-Smtp-Source: AGHT+IFr91iPDHDRr3Cmqs3DeVV0sQle3Y3rYCITFpNiuVXCsNTOHYeMDobWwi205Gv4jJIYEE4+dw== X-Received: by 2002:a17:907:7f1a:b0:b04:5b0a:5850 with SMTP id a640c23a62f3a-b6474b36036mr4378079966b.40.1761563033218; Mon, 27 Oct 2025 04:03:53 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 08/35] plugins: add API for registering discontinuity callbacks Date: Mon, 27 Oct 2025 11:03:15 +0000 Message-ID: <20251027110344.2289945-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::629; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: 1761563176625158500 From: Julian Ganz The plugin API allows registration of callbacks for a variety of VCPU related events, such as VCPU reset, idle and resume. In addition to those events, we recently defined discontinuity events, which include traps. This change introduces a function to register callbacks for these events. We define one distinct plugin event type for each type of discontinuity, granting fine control to plugins in term of which events they receive. Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- include/qemu/plugin-event.h | 3 +++ include/qemu/qemu-plugin.h | 16 ++++++++++++++++ plugins/core.c | 15 +++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/include/qemu/plugin-event.h b/include/qemu/plugin-event.h index 7056d8427b7..1100dae2123 100644 --- a/include/qemu/plugin-event.h +++ b/include/qemu/plugin-event.h @@ -20,6 +20,9 @@ enum qemu_plugin_event { QEMU_PLUGIN_EV_VCPU_SYSCALL_RET, QEMU_PLUGIN_EV_FLUSH, QEMU_PLUGIN_EV_ATEXIT, + QEMU_PLUGIN_EV_VCPU_INTERRUPT, + QEMU_PLUGIN_EV_VCPU_EXCEPTION, + QEMU_PLUGIN_EV_VCPU_HOSTCALL, QEMU_PLUGIN_EV_MAX, /* total number of plugin events we support */ }; =20 diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index 08bf366e363..60de4fdd3fa 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -281,6 +281,22 @@ QEMU_PLUGIN_API void qemu_plugin_register_vcpu_resume_cb(qemu_plugin_id_t id, qemu_plugin_vcpu_simple_cb_t cb); =20 +/** + * qemu_plugin_register_vcpu_discon_cb() - register a discontinuity callba= ck + * @id: plugin ID + * @type: types of discontinuities for which to call the callback + * @cb: callback function + * + * The @cb function is called every time a vCPU receives a discontinuity e= vent + * of the specified type(s), after the vCPU was prepared to handle the eve= nt. + * Preparation entails updating the PC, usually to some interrupt handler = or + * trap vector entry. + */ +QEMU_PLUGIN_API +void qemu_plugin_register_vcpu_discon_cb(qemu_plugin_id_t id, + enum qemu_plugin_discon_type type, + qemu_plugin_vcpu_discon_cb_t cb); + /** struct qemu_plugin_tb - Opaque handle for a translation block */ struct qemu_plugin_tb; /** struct qemu_plugin_insn - Opaque handle for a translated instruction */ diff --git a/plugins/core.c b/plugins/core.c index ead09fd2f1e..40d001d39ad 100644 --- a/plugins/core.c +++ b/plugins/core.c @@ -569,6 +569,21 @@ void qemu_plugin_register_vcpu_resume_cb(qemu_plugin_i= d_t id, plugin_register_cb(id, QEMU_PLUGIN_EV_VCPU_RESUME, cb); } =20 +void qemu_plugin_register_vcpu_discon_cb(qemu_plugin_id_t id, + enum qemu_plugin_discon_type type, + qemu_plugin_vcpu_discon_cb_t cb) +{ + if (type & QEMU_PLUGIN_DISCON_INTERRUPT) { + plugin_register_cb(id, QEMU_PLUGIN_EV_VCPU_INTERRUPT, cb); + } + if (type & QEMU_PLUGIN_DISCON_EXCEPTION) { + plugin_register_cb(id, QEMU_PLUGIN_EV_VCPU_EXCEPTION, cb); + } + if (type & QEMU_PLUGIN_DISCON_HOSTCALL) { + plugin_register_cb(id, QEMU_PLUGIN_EV_VCPU_HOSTCALL, cb); + } +} + void qemu_plugin_register_flush_cb(qemu_plugin_id_t id, qemu_plugin_simple_cb_t cb) { --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563629; cv=none; d=zohomail.com; s=zohoarc; b=RYlJ93LHjPdhd8675qUvff885mhOvWmKzsrHu58H/Md11Hqc8xZ+OM8srLFd1sir6Qf0QvAVmcM3jKPRpdpkyt33cEtG9udl8BjicQ3BUaxBMuNYePhUrSfoEqgEVY6J6LFzMjcCsvSPtd6RhuEOPlpzu9RMey2wqaGVDjr7BkQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563629; 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=ZIvi1/lYtWJC7eyEqsDEoShyfCc3iWMPs/r4/flWQto=; b=gOqB/+AqxFxYmlF3TfONwBQwtEo2MFXquWc7bD3HL4Sbcj3H8DJmOnmwDmJNCyfy/yE8HJc1d5ppEkETwc5/gcd6el/vB9SPkhaFKKy8J0bUZZVEcnpgMuElRDoaZrjardQzU6vbkdMM63L/MRDq7y+x7ccwsHWrxuTUIC+xB1g= 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 1761563629064629.9408146973291; Mon, 27 Oct 2025 04:13:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL23-000181-ME; Mon, 27 Oct 2025 07:04:59 -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 1vDL1f-0000kF-1M for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:38 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1O-0005eZ-TF for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:34 -0400 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-63c31c20b64so7306346a12.1 for ; Mon, 27 Oct 2025 04:03:56 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efd0fabsm5717380a12.34.2025.10.27.04.03.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id F03305FAF1; Mon, 27 Oct 2025 11:03:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563034; x=1762167834; 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=ZIvi1/lYtWJC7eyEqsDEoShyfCc3iWMPs/r4/flWQto=; b=bb3AQ3j5l8zXhSgmO2adb56/xGa/DxgutMM8okdS+t9VSAsiSnknXjfUDanz0U6iv+ MT1oIc1pnmyh42/jfFsg0jaBpG8U1KqwyLRq9gGDU44JIIFGXezQX5D6CAjiJTp3EHtM +lREopgl3SQW3gIhxFUwjEPT0xdxKxfOnO046GqdKKpKGI4wrFzhMvyYk+p1igxvKoTj 4xjXOwGMk4eKBs7kbawuT/CQu+dY02w4stT0SRpvPG7xkzgWjI/6Ta+XxEqOdGHdg92D ZVLLtM99Q2kijBF+rdOYkvhAwZAMasJeW7GlFHv6ELJ2pmxED40/0h6bbcx5qJiOQcmg nFBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563034; x=1762167834; 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=ZIvi1/lYtWJC7eyEqsDEoShyfCc3iWMPs/r4/flWQto=; b=eqfuOAVBKKWdkA/DCgeMhlgfiG/Suou8/nz8wX/da/skGU2bEkieIYzgNI/9IaYdCF h4rS0RSsPCYDuIwXzXt1lYQT2OovsHNqHTAvRrvrbrmdD1SfcRO37n467Hp8123rd+sj YrAoad8Qj1FXXztz4hT9JulHmxn8DS3QI/RQ1fxUYyGk0mTfHHt+tkgrJvBOi/m55t2w eGzNyUBPS4t6EELxTYGNRAy/3QwfDTdPoYNni8gslB2xGQa3/Arv42oZyIVNaORgMR8L 0pbkH2yaLrU+Bb2+6JwwtB6SRDFPXAvYuzN9RCoMlQvynsfL3biwQzO5KZiUdVf0SKiI wcwg== X-Gm-Message-State: AOJu0Yz27IaVWZ8uQYOypRVrLsFGBWlbjFA6/sy58HdC1SGjrXSRr7xo Cj0oa2mpnGV3Yz9eBKKqM1zcrGX4HbpYepNRCfSxfFm+86tJa0Q06BjHiWnsTjjmNss= X-Gm-Gg: ASbGncvWFGl3N7ot81rNlmE9qY6DDg78VrpGjaz6g3gXOkmo8oIuo7BSHoG71WkRyrO IEHUtTvhPPS66ilnMO+8vpdzzPWZQkQmi9D/QUBhdPt4D5P/2pcD3R2w/3R9gutmgb5rlUFQXwm rUV0iNoymptnkoWIjCufhPoxPcQGfxibabsHIpLk/ZehDbNRP+ERAo+hI9lt//KSDcApR+WAS28 iWxwOzE4YRZtNLLzooU/Pa/N/eVT+PZxukXZ8LpPHqCePnKl2MHBpvueU0XdjpWvo1Vhf2t/yH8 fhlSGWgLD4lCVkPFHj4ZVE0k2V381dK5NuadfdxNddjDq7R5OXvqisJ4B1ThyhDFfq+0VQX4yae YVvc68DL74LyO7WA3wqHKTLFse9vsifjOzpEk7TW8bHD+L/MnuEiBd6AwQ3NBgHtyrBPkg6p3ZV np X-Google-Smtp-Source: AGHT+IFqi4DYTDraZDVQCAqaxCZQ9SXHunmox4MeAZ4HIYUvpZkNnk2vLu7C3k7LDzTFBAJiKPtWYw== X-Received: by 2002:a05:6402:3554:b0:63c:4d42:993d with SMTP id 4fb4d7f45d1cf-63c4d429b92mr29963363a12.31.1761563033853; Mon, 27 Oct 2025 04:03:53 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 09/35] plugins: add hooks for new discontinuity related callbacks Date: Mon, 27 Oct 2025 11:03:16 +0000 Message-ID: <20251027110344.2289945-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52a; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52a.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: 1761563631289158500 From: Julian Ganz The plugin API allows registration of callbacks for a variety of VCPU related events, such as VCPU reset, idle and resume. In addition, we recently introduced API for registering callbacks for discontinuity events, specifically for interrupts, exceptions and host calls. This change introduces the corresponding hooks called from target specific code inside qemu. Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- include/qemu/plugin.h | 12 ++++++++++++ plugins/core.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/include/qemu/plugin.h b/include/qemu/plugin.h index 8cf20cd96f7..cea0a68858b 100644 --- a/include/qemu/plugin.h +++ b/include/qemu/plugin.h @@ -161,6 +161,9 @@ void qemu_plugin_vcpu_exit_hook(CPUState *cpu); void qemu_plugin_tb_trans_cb(CPUState *cpu, struct qemu_plugin_tb *tb); void qemu_plugin_vcpu_idle_cb(CPUState *cpu); void qemu_plugin_vcpu_resume_cb(CPUState *cpu); +void qemu_plugin_vcpu_interrupt_cb(CPUState *cpu, uint64_t from); +void qemu_plugin_vcpu_exception_cb(CPUState *cpu, uint64_t from); +void qemu_plugin_vcpu_hostcall_cb(CPUState *cpu, uint64_t from); void qemu_plugin_vcpu_syscall(CPUState *cpu, int64_t num, uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4, uint64_t a= 5, @@ -258,6 +261,15 @@ static inline void qemu_plugin_vcpu_idle_cb(CPUState *= cpu) static inline void qemu_plugin_vcpu_resume_cb(CPUState *cpu) { } =20 +static inline void qemu_plugin_vcpu_interrupt_cb(CPUState *cpu, uint64_t f= rom) +{ } + +static inline void qemu_plugin_vcpu_exception_cb(CPUState *cpu, uint64_t f= rom) +{ } + +static inline void qemu_plugin_vcpu_hostcall_cb(CPUState *cpu, uint64_t fr= om) +{ } + static inline void qemu_plugin_vcpu_syscall(CPUState *cpu, int64_t num, uint64_t a1, uint64_t= a2, uint64_t a3, uint64_t a4, uint64_t a5, uint64_t a= 6, diff --git a/plugins/core.c b/plugins/core.c index 40d001d39ad..35a252d2729 100644 --- a/plugins/core.c +++ b/plugins/core.c @@ -105,6 +105,30 @@ static void plugin_vcpu_cb__simple(CPUState *cpu, enum= qemu_plugin_event ev) } } =20 +/* + * Disable CFI checks. + * The callback function has been loaded from an external library so we do= not + * have type information + */ +QEMU_DISABLE_CFI +static void plugin_vcpu_cb__discon(CPUState *cpu, + enum qemu_plugin_event ev, + enum qemu_plugin_discon_type type, + uint64_t from) +{ + struct qemu_plugin_cb *cb, *next; + uint64_t to =3D cpu->cc->get_pc(cpu); + + if (cpu->cpu_index < plugin.num_vcpus) { + /* iterate safely; plugins might uninstall themselves at any time = */ + QLIST_FOREACH_SAFE_RCU(cb, &plugin.cb_lists[ev], entry, next) { + qemu_plugin_vcpu_discon_cb_t func =3D cb->f.vcpu_discon; + + func(cb->ctx->id, cpu->cpu_index, type, from, to); + } + } +} + /* * Disable CFI checks. * The callback function has been loaded from an external library so we do= not @@ -557,6 +581,24 @@ void qemu_plugin_vcpu_resume_cb(CPUState *cpu) } } =20 +void qemu_plugin_vcpu_interrupt_cb(CPUState *cpu, uint64_t from) +{ + plugin_vcpu_cb__discon(cpu, QEMU_PLUGIN_EV_VCPU_INTERRUPT, + QEMU_PLUGIN_DISCON_INTERRUPT, from); +} + +void qemu_plugin_vcpu_exception_cb(CPUState *cpu, uint64_t from) +{ + plugin_vcpu_cb__discon(cpu, QEMU_PLUGIN_EV_VCPU_EXCEPTION, + QEMU_PLUGIN_DISCON_EXCEPTION, from); +} + +void qemu_plugin_vcpu_hostcall_cb(CPUState *cpu, uint64_t from) +{ + plugin_vcpu_cb__discon(cpu, QEMU_PLUGIN_EV_VCPU_HOSTCALL, + QEMU_PLUGIN_DISCON_HOSTCALL, from); +} + void qemu_plugin_register_vcpu_idle_cb(qemu_plugin_id_t id, qemu_plugin_vcpu_simple_cb_t cb) { --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563282; cv=none; d=zohomail.com; s=zohoarc; b=LX4u/xbf/u74kJtHE0eFmCGVpZOMBbnzeXPKx2xMLB5D63rjfSO1EgWfUNRGSbH25nUkrmW+SmipNXerEGDuVd2jPniE/I0ey11nD3wD1SZasSF5bB9qhkWTAeP6Qr/vDl4HnyawmSoZm/d26BnW7SIIfSCTTLdmIgPCPoAg/BQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563282; 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=FdYYc9UfPJiJOmUk4OWh6nheP5mSB2HOK4r3KtorV48=; b=MTJgPGSQdRSAB6xpmzzeJv5IyT4wOtYJkBvXEWkagH8YN9I2etMTST9hHr1Nx4T1SJtrMbDkZQ8oX1yfyLaaeM2p5arLnPmPRZYZNY4vO31694hMfH//9IfCn1u34vle1LbMxqerkfW0/PGiE/mF8B9UJstwE98ABZrG3BXSIyQ= 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 1761563282683773.1665632450377; Mon, 27 Oct 2025 04:08:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2R-0001gI-9c; Mon, 27 Oct 2025 07:05:23 -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 1vDL2P-0001eq-Ei for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:22 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1a-0005dn-JI for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:20 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63c31c20b64so7306306a12.1 for ; Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63ecf3686c5sm356035a12.36.2025.10.27.04.03.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 13AD460915; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563032; x=1762167832; 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=FdYYc9UfPJiJOmUk4OWh6nheP5mSB2HOK4r3KtorV48=; b=iizFSWCne8dtm4AE8rAmqRWuFEYhpe7lTw/Fubft+FpBsD35TdVMUjHAkPmqX5LaGV xp/QOmMyPa2lFgTqnxaL7ck6WHWFzw3vbG8KiRcB74UobMCPLe31xWSv2Oj8O+CiS19T lBHluuZc4ZMw0JXGQSNr34koFzqJwtAmSIzKr8HxMu2vZXRSxLkSqWyOkEsFAC+a0nT2 7TgU2OLerF4y6wJ5IcI1ffD/3HsV4yvwJaHXLOQosxyPYH7mMJzWvQ23NnqV3I6RMWYJ x/dulghvbgw2dJgteam8D9pYTaDBdnU9+vIIEv84uM15VjVzrGIte6a5JjNlAtiWKkrF WPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563032; x=1762167832; 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=FdYYc9UfPJiJOmUk4OWh6nheP5mSB2HOK4r3KtorV48=; b=YCb+WbWsMkzmaMkLkE636/qf+AUlZV12J64cpsEx5uKLP9K6penEIi+fy25Xt2yhMF BA8e+OdX1hux/U3raDiIsNfy120yLOdo1GIMVTguBBFuKgDtRg4E2pmKuAitivTWScMb uxjMjbvnWpZb/HBelGO6NhMMk0BQVwlpN0z2cNmuNixttY1W0qwGt/kvV2tpEjqh4HMH iidgfjDW90co0fKY1++iDADcc9wjKoIsZa+lp0Xy8TAsFWe8BLhQU0iZ9R7d0sbVpSuA HdaqrNbeBxl3CNsVjKRnQBvY1mw2SBMro5u8qM8CNZ1ev8Ib8IGPI2d25OyGQRfZ9VAB qXJA== X-Gm-Message-State: AOJu0YxS3O6bWFwFFQqH5APL3iATEy0YUspw6g9gNsa+CNbpaD+IoS7D sKY1bRomJaW42aGg47X2TXxSMXl2KztT+rvZb7lh65IEtwALA6qY19D5oblDEkKRxu8= X-Gm-Gg: ASbGncuKB91JRvX7MFASM+UzHxc2NygC0D2ZEnWqSX1CeczeJ1kt70/duaZofwhkaGY 9Kwe332BtDdrT1FxfvdXJ8yBgInUj904Tns7ng7WD/MqBkd7XtrDq106nR6iCkhha53MAPIRkoD sAT128DdcoWKfYA4m1G5OZZ1xpOkw7SXxz0ceG2l1ESnFlf/CEyQpXU8ThRYsLYTAp+ldE9ampl 3zKymYzGynfjd1ThKjMrg7uHpUMYe4iBiJQ8eyu9PYHoVPbf0W5J8H/ziaXNK5MYUslwmPYxUY2 YG0joMD4dOUY+NBUMkNs7Ca7cQkvEo9SL+Pt2AjXufZGX3+hFAFLhh80FsyP57SgjLvwaO6Qozo vhS9driXti3gG/zMZJdGdMc2lQdvU9dramT+RHb4JSegu7KQAtq5lgSJ8iy8daxg7x4kVZADUKc fQTrtDVrJjIVE= X-Google-Smtp-Source: AGHT+IE146XaimMpIxyppkc5SJJoPLUyMmLDLovFokulHH30KUzEQB5Xf7fiUrkKHn734LTDcCF5qA== X-Received: by 2002:a05:6402:51d1:b0:63c:3efe:d996 with SMTP id 4fb4d7f45d1cf-63c3efeee79mr31902705a12.20.1761563032280; Mon, 27 Oct 2025 04:03:52 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 10/35] contrib/plugins: add plugin showcasing new dicontinuity related API Date: Mon, 27 Oct 2025 11:03:17 +0000 Message-ID: <20251027110344.2289945-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.google.com X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 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, NEW_PRODUCTS=1.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: 1761563284044154100 From: Julian Ganz We recently introduced new plugin API for registration of discontinuity related callbacks. This change introduces a minimal plugin showcasing the new API. It simply counts the occurances of interrupts, exceptions and host calls per CPU and reports the counts when exitting. Reviewed-by: Pierrick Bouvier Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- docs/about/emulation.rst | 8 ++++ contrib/plugins/traps.c | 83 +++++++++++++++++++++++++++++++++++++ contrib/plugins/meson.build | 2 +- 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 contrib/plugins/traps.c diff --git a/docs/about/emulation.rst b/docs/about/emulation.rst index 8a5e128f677..92c219119e8 100644 --- a/docs/about/emulation.rst +++ b/docs/about/emulation.rst @@ -1015,6 +1015,14 @@ interesting to generate them around a particular poi= nt of execution:: # generate trace around init execution (2 seconds): $ uftrace dump --chrome --time-range=3D1753122320~1753122322 > init.js= on =20 +Count traps +........... + +``contrib/plugins/traps.c`` + +This plugin counts the number of interrupts (asyncronous events), exceptio= ns +(synchronous events) and host calls (e.g. semihosting) per cpu. + Other emulation features ------------------------ =20 diff --git a/contrib/plugins/traps.c b/contrib/plugins/traps.c new file mode 100644 index 00000000000..d5ddc0f3dd6 --- /dev/null +++ b/contrib/plugins/traps.c @@ -0,0 +1,83 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2025, Julian Ganz + * + * Traps - count traps + * + * Count the number of interrupts (asyncronous events), exceptions (synchr= onous + * events) and host calls (e.g. semihosting) per cpu and report those coun= ts on + * exit. + */ + +#include + +#include + +QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEMU_PLUGIN_VERSION; + +typedef struct { + uint64_t interrupts; + uint64_t exceptions; + uint64_t hostcalls; +} TrapCounters; + +static struct qemu_plugin_scoreboard *traps; + +static void vcpu_discon(qemu_plugin_id_t id, unsigned int vcpu_index, + enum qemu_plugin_discon_type type, uint64_t from_p= c, + uint64_t to_pc) +{ + TrapCounters *rec =3D qemu_plugin_scoreboard_find(traps, vcpu_index); + switch (type) { + case QEMU_PLUGIN_DISCON_INTERRUPT: + rec->interrupts++; + break; + case QEMU_PLUGIN_DISCON_EXCEPTION: + rec->exceptions++; + break; + case QEMU_PLUGIN_DISCON_HOSTCALL: + rec->hostcalls++; + break; + default: + g_assert_not_reached(); + break; + } +} + +static void plugin_exit(qemu_plugin_id_t id, void *p) +{ + g_autoptr(GString) report; + report =3D g_string_new("VCPU, interrupts, exceptions, hostcalls\n"); + int max_vcpus =3D qemu_plugin_num_vcpus(); + int vcpu; + + for (vcpu =3D 0; vcpu < max_vcpus; vcpu++) { + TrapCounters *rec =3D qemu_plugin_scoreboard_find(traps, vcpu); + g_string_append_printf(report, + "% 4d, % 10"PRId64", % 10"PRId64", % 10"PRI= d64 + "\n", vcpu, rec->interrupts, rec->exception= s, + rec->hostcalls); + } + + qemu_plugin_outs(report->str); + qemu_plugin_scoreboard_free(traps); +} + +QEMU_PLUGIN_EXPORT +int qemu_plugin_install(qemu_plugin_id_t id, const qemu_info_t *info, + int argc, char **argv) +{ + if (!info->system_emulation) { + qemu_plugin_outs("Note: interrupts are only reported in system" + " emulation mode."); + } + + traps =3D qemu_plugin_scoreboard_new(sizeof(TrapCounters)); + + qemu_plugin_register_vcpu_discon_cb(id, QEMU_PLUGIN_DISCON_ALL, + vcpu_discon); + + qemu_plugin_register_atexit_cb(id, plugin_exit, NULL); + + return 0; +} diff --git a/contrib/plugins/meson.build b/contrib/plugins/meson.build index 7eb3629c95d..eb944b5159a 100644 --- a/contrib/plugins/meson.build +++ b/contrib/plugins/meson.build @@ -1,6 +1,6 @@ contrib_plugins =3D ['bbv', 'cache', 'cflow', 'drcov', 'execlog', 'hotbloc= ks', 'hotpages', 'howvec', 'hwprofile', 'ips', 'stoptrigger', - 'uftrace'] + 'traps', 'uftrace'] if host_os !=3D 'windows' # lockstep uses socket.h contrib_plugins +=3D 'lockstep' --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563453; cv=none; d=zohomail.com; s=zohoarc; b=WYiTJPD0zwXNnCU+8LnHkxbqhaAZxnJmGziOvOWI7gHjlYW0Kq6O/hqybzB42jdoD/CqSmhssmuJsvP+zVafMGtloFPUXXjAQ8B+KSSEi+YZL6owHyDTR29jyrdkPeu6bmSpJuN+1qDEZjkOnFB3VIHx7F5idvy3pQCuTI7jRy8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563453; 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=RbvPrANYvJj3gNO97dH7gcz+uNRb8G5R8cbjz6SvgpA=; b=F4LACQiUWgntehpJi1vq6yuX84Bw6uOQiVBygZMShjvmtR/8ocAEEpop8xEtNQuIYaeEFF93h5oLxlS1cl/lv+herf2sLaXsX9gv1MnRfPiC1eGJKs50xC9HL80DpsBAQkB+6NS0Yh8ajN3sbR4sJxK7bv5986I1Min0ruKsJuc= 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 1761563453825979.6099755485728; Mon, 27 Oct 2025 04:10:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2T-0001kH-CP; Mon, 27 Oct 2025 07:05:25 -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 1vDL2H-0001Us-BK for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:13 -0400 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1a-0005e2-H7 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:13 -0400 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-6399328ff1fso7789675a12.0 for ; Mon, 27 Oct 2025 04:03:55 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efd0bc5sm6013871a12.32.2025.10.27.04.03.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:49 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 277AE609B7; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563033; x=1762167833; 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=RbvPrANYvJj3gNO97dH7gcz+uNRb8G5R8cbjz6SvgpA=; b=wRK/WRiWjNekM6KHFoSK3HItdhVpi7y5gpnTlQtaCvnOrB1wvKXxM/tgQSm98aWeM/ VIsUCpZP3fe72O7AD+ZCWnXj73EwvDXWUN7tcdKAPBNSFY+ohEL06Zujqa2grjK+PkCv giS4BqgbzUMxgcNa8fef0nS1rwzf2GrHk4WXw+Ry3A1Nz67AkAVWTsYclrX8yQPy9FxA lN22VQM27woLbeNyYSqdzyMC31Bsh9Bh+4JtbvTsEB9syufUvQsk9WavYP3Vwb/AK/Gu HeukaiVfmO3Y3LGSsx4t1Y5bHMxj/u8X6Ct70KprzvG/jonbgpWc9cUPSpGrj0q3uywa Kr6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563033; x=1762167833; 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=RbvPrANYvJj3gNO97dH7gcz+uNRb8G5R8cbjz6SvgpA=; b=HVXtZeoIQKzOgkokgyRUW7wSLiKIZXVWvRoZ3kDaA1XDkDsetTzJeK1En504ly78wX 38vwt+X40It9WWjcOGQEg8l6kwDUJ48M3dtxEJMqF14+GYPoMkr6TUa1Czn+JOiVu+fR fQqmKUeQ3QOxcAaCitTCUbInQpj/0cvitC1dFm/5F6PjVF4/EMnv6oDvAACC+dk2Nk6K wodxMHI75Qkl3VC/PR61O6GEoB72kdf69e6pNHZdjsBlwSeV2Q/bKmMXQrDj8GlyMV7X TyrZuCHG18WVyzi1rvrbnPu6wihhc+tIIfd7hw+YeTJQYlE2L/QH0+VMtXNOyNp+UZi9 tCbA== X-Gm-Message-State: AOJu0Yxlv+rFXUjTjnHa0ZRTuMmW1DZJJmrcrxZEqDLk/8QAWRVFe5oE 9tZG/Ct4yCANFAlQ05WWbo+jNJdLlKw8eT4gqG4URIrDxqkNXhCvuvKdnCiqs40V6fo= X-Gm-Gg: ASbGncvfYPdaEYQzEbZi1YdmBE1bcpk4usTCuQQpAaEKAnTlsZSTNGcswDSz15OO1V1 fLJymYkp7j2nxkwG5B+7oabIVJXk0gnFhxCFE8N2aeDzPlYD4i+d8nfgM+947n7gGjVr0tIvUZM eOjt83iAMDwYCcI8mdytYaOnqyU4gO1fx9j6S0HticpZHc3GTtJHJKrhkSM6Z8RAPGEzDro5TXh hk45jmgnqz3OLGp+CFORWkiAFipbBL6vzxZRu5hPG4/HqiiY0lsvFln4qAAWv7ZR48AllaXbZ0g MJnNWgPFDwQChTglfBdONvYAnb4loYIEbJo7uk8CY0gl2Qx4x0i7FbTS9Mh72AiEI8ig9DhLJvz tSmXWVXzYtZP8EftEcdRl2MnNN3WzgKJ5h5V3dZjRxwQQdW8HF0QEWF7bzG92omPf3AsSK5mQA7 iW X-Google-Smtp-Source: AGHT+IEgl+c4dRH+StKwomTRbDfEq8j/zmTZSSPAaJlwzgoFWODFr2XsptD7H1CqAq3BBX3xhzNDKw== X-Received: by 2002:a05:6402:27d1:b0:639:f54d:9274 with SMTP id 4fb4d7f45d1cf-63e60003a6dmr9269873a12.2.1761563032820; Mon, 27 Oct 2025 04:03:52 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 11/35] target/alpha: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:18 +0000 Message-ID: <20251027110344.2289945-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::535; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x535.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: 1761563457205158500 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for Alpha targets. Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/alpha/helper.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/target/alpha/helper.c b/target/alpha/helper.c index 096eac34458..a9af52a928f 100644 --- a/target/alpha/helper.c +++ b/target/alpha/helper.c @@ -27,6 +27,7 @@ #include "exec/helper-proto.h" #include "qemu/qemu-print.h" #include "system/memory.h" +#include "qemu/plugin.h" =20 =20 #define CONVERT_BIT(X, SRC, DST) \ @@ -328,6 +329,7 @@ void alpha_cpu_do_interrupt(CPUState *cs) { CPUAlphaState *env =3D cpu_env(cs); int i =3D cs->exception_index; + uint64_t last_pc =3D env->pc; =20 if (qemu_loglevel_mask(CPU_LOG_INT)) { static int count; @@ -431,6 +433,17 @@ void alpha_cpu_do_interrupt(CPUState *cs) =20 /* Switch to PALmode. */ env->flags |=3D ENV_FLAG_PAL_MODE; + + switch (i) { + case EXCP_SMP_INTERRUPT: + case EXCP_CLK_INTERRUPT: + case EXCP_DEV_INTERRUPT: + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, last_pc); + break; + } } =20 bool alpha_cpu_exec_interrupt(CPUState *cs, int interrupt_request) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563619; cv=none; d=zohomail.com; s=zohoarc; b=Jg7e1vKf0YWg7y/9/LmRz1pmjt6W1vYMLQdj8KGlUTnAK9pZddyzGUoGWXgkMRhSeY0+upeFXkvVUqpeK/NtdSTRm0/yMzNBC6jIO+aMXNMa2BdAQJi1hPK2UtVEMTVs39Qfz5MfJSmwR20iSLGljPQACfnU8p64cCwqkFFnhgQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563619; 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=D1dBqMEfBlqSUG7PelnGPIkGv75RoYZ1ZvCkqq8IgNo=; b=NXVhNl3G7Ca4F1ioXXH9HNo09iQvv1mjj4Cewe0f+4yr+qNyRftRoxGRq+XwLOOwfWajL9j60+QvMEoL7z1WZkADlrTmUJK4d272Af/moLzgzhwZV9C6LBM2d9q4UkRXPqdcaATCDBhztv6fdNrTvViEbRz/nPf1TK5W5OkcAq4= 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 1761563619620679.7000846036605; Mon, 27 Oct 2025 04:13:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2E-0001NS-GV; Mon, 27 Oct 2025 07:05:10 -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 1vDL22-00015w-5X for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:58 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1S-0005fL-AK for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:57 -0400 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-b3b3a6f4dd4so850559266b.0 for ; Mon, 27 Oct 2025 04:03:57 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efd116asm6178995a12.33.2025.10.27.04.03.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3F828609D9; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563035; x=1762167835; 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=D1dBqMEfBlqSUG7PelnGPIkGv75RoYZ1ZvCkqq8IgNo=; b=glzuNhfefPlRvwbG2yFjU6hUpmd014VOSa0ArrXDbYRCCLRxUw6kavgfMR1+etQk3k ex7Ke3cOLDPDkuNEUXxh+8MR0RZnDvuM2CdlalJESHMZHNSh6o8o6gJwLlfXlgZxLKqD tW1yoViMfnmDLmR37V4XkRQw+da0SrT3gIGBgmZ2EIOPILq3cTJgepGuW7m9hDDsq4B7 ls42jitiFxm2Op/7BfpwxskX1NuxQ0wrQlwa79iDKy79oiLscwT6EyvLekojvdh6TDl1 DYoPD7Y5B5yOcUlO/d0ukJ752dj39JnJYCjCDdyyrgooJ3ZqdMlZmlyWa9RjEpjbVMvv Bc3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563035; x=1762167835; 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=D1dBqMEfBlqSUG7PelnGPIkGv75RoYZ1ZvCkqq8IgNo=; b=wlW8gT+Gus2q6HZ36BNm9D82dO/4zaLOk4WqjkBBVc3KEk2ln79K4xnotwizw+qjCz VXetNIulHUHKMTU8DNPWE1owavR4b0LM60DoDdZorHGP6VoS7Ytm0SdVFkfpLlHjY9KW 8nQzLZNLto/KTjTxoZEERJz0f3bPTHZb/ALx8nrRrDImuVD5ZxMWMj5sRJjZrGJJTN85 y/Y3WF1W/UN39Cgvzdr6MCLKaP9AbSt4TSDGad14ny1n28Vz2NQ/41mNVAV30/yd8rgf 2e+jlT+0p93TUj5dTyqDey92P8Ij1+AtgpuhoSchNxO23altLfBihAOA0klawxamA9C1 4eKA== X-Gm-Message-State: AOJu0Yw0mWP5XOC3ZbkF49kbGMJxjvczbi9zIFtNT+Xb6rncxgot7oOL 14a33xBVrEM4TO0uAvYF5kVm5CzOdxDB6toq3/JcPuVABDa0B3z8nlAxU9VLa3qcpcw= X-Gm-Gg: ASbGncsjdqcxgRNoPWu8NTQRSnWcPUw0UYIzIbhQWR+LKx+xvbjhKko46zCHRo++/lv z9tBst7i+COOiZYe8Z1LO4B0W5y0SOAw3meaFET/0Y0js8LJajs31lUywXNxTlL/VCeTb+xHuNr arBquq/yM2687zUEtUbDUbMCObHBx7oEOd/VBL6Vo1a+UWhN3uHSqgN3qWevA7luff4lCbToxXq 77/+reHgX4AlZtUA+hHZtdZe2L22Y767zVQ7jVWIzFkhUum5OLYOR7Bxpkd1B5+9RVgZTXq/08v qmvzxxlRDFLqHsd3j9MufsO74LPY/47EiOm8cU5xSlN4zQmHLKdRy19Q0i61v5jb3jP8MPqgJoo 5y98glcS90S104A5JskTZchod21JWh5AAqD4bj/PlRJOKEsrhZSmYnzYq27oj+Bv9Xso40v+4io cVkFQlap6iphk= X-Google-Smtp-Source: AGHT+IF5kYTpImflkBbD2clRHQr+gdOVKdNdq8AWjSa+ytlNl34JftCGYvwU6boz7oiv8UPvMHvJ7g== X-Received: by 2002:a17:907:3e0d:b0:b6d:5ef8:4bf1 with SMTP id a640c23a62f3a-b6d6fe42fe9mr1097430066b.19.1761563034748; Mon, 27 Oct 2025 04:03:54 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 12/35] target/arm: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:19 +0000 Message-ID: <20251027110344.2289945-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::633; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x633.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: 1761563621957154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for ARM (and Aarch64) targets. We decided to treat the (V)IRQ, (VI/VF)NMI, (V)FIQ and VSERR exceptions as interrupts since they are, presumably, async in nature. Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/arm/internals.h | 1 + target/arm/helper.c | 24 ++++++++++++++++++++++++ target/arm/tcg/m_helper.c | 5 +++++ 3 files changed, 30 insertions(+) diff --git a/target/arm/internals.h b/target/arm/internals.h index f86f421a3db..6fbf7e1ca49 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -375,6 +375,7 @@ static inline int r14_bank_number(int mode) =20 void arm_cpu_register(const ARMCPUInfo *info); =20 +void arm_do_plugin_vcpu_discon_cb(CPUState *cs, uint64_t from); void register_cp_regs_for_features(ARMCPU *cpu); void init_cpreg_list(ARMCPU *cpu); =20 diff --git a/target/arm/helper.c b/target/arm/helper.c index 2ef9c178147..ef6435c3efb 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -34,6 +34,7 @@ #endif #include "cpregs.h" #include "target/arm/gtimer.h" +#include "qemu/plugin.h" =20 #define HELPER_H "tcg/helper.h" #include "exec/helper-proto.h.inc" @@ -8783,6 +8784,24 @@ static void take_aarch32_exception(CPUARMState *env,= int new_mode, } } =20 +void arm_do_plugin_vcpu_discon_cb(CPUState *cs, uint64_t from) +{ + switch (cs->exception_index) { + case EXCP_IRQ: + case EXCP_VIRQ: + case EXCP_NMI: + case EXCP_VINMI: + case EXCP_FIQ: + case EXCP_VFIQ: + case EXCP_VFNMI: + case EXCP_VSERR: + qemu_plugin_vcpu_interrupt_cb(cs, from); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, from); + } +} + static void arm_cpu_do_interrupt_aarch32_hyp(CPUState *cs) { /* @@ -9473,6 +9492,7 @@ void arm_cpu_do_interrupt(CPUState *cs) ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; unsigned int new_el =3D env->exception.target_el; + uint64_t last_pc =3D cs->cc->get_pc(cs); =20 assert(!arm_feature(env, ARM_FEATURE_M)); =20 @@ -9489,6 +9509,7 @@ void arm_cpu_do_interrupt(CPUState *cs) if (tcg_enabled() && arm_is_psci_call(cpu, cs->exception_index)) { arm_handle_psci_call(cpu); qemu_log_mask(CPU_LOG_INT, "...handled as PSCI call\n"); + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); return; } =20 @@ -9500,6 +9521,7 @@ void arm_cpu_do_interrupt(CPUState *cs) #ifdef CONFIG_TCG if (cs->exception_index =3D=3D EXCP_SEMIHOST) { tcg_handle_semihosting(cs); + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); return; } #endif @@ -9525,6 +9547,8 @@ void arm_cpu_do_interrupt(CPUState *cs) if (!kvm_enabled()) { cpu_set_interrupt(cs, CPU_INTERRUPT_EXITTB); } + + arm_do_plugin_vcpu_discon_cb(cs, last_pc); } #endif /* !CONFIG_USER_ONLY */ =20 diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c index d856e3bc8e2..3fb24c77900 100644 --- a/target/arm/tcg/m_helper.c +++ b/target/arm/tcg/m_helper.c @@ -23,6 +23,7 @@ #if !defined(CONFIG_USER_ONLY) #include "hw/intc/armv7m_nvic.h" #endif +#include "qemu/plugin.h" =20 static void v7m_msr_xpsr(CPUARMState *env, uint32_t mask, uint32_t reg, uint32_t val) @@ -2194,6 +2195,7 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs) CPUARMState *env =3D &cpu->env; uint32_t lr; bool ignore_stackfaults; + uint64_t last_pc =3D env->regs[15]; =20 arm_log_exception(cs); =20 @@ -2361,6 +2363,7 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs) g_assert_not_reached(); #endif env->regs[15] +=3D env->thumb ? 2 : 4; + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); return; case EXCP_BKPT: armv7m_nvic_set_pending(env->nvic, ARMV7M_EXCP_DEBUG, false); @@ -2427,6 +2430,8 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs) =20 ignore_stackfaults =3D v7m_push_stack(cpu); v7m_exception_taken(cpu, lr, false, ignore_stackfaults); + + arm_do_plugin_vcpu_discon_cb(cs, last_pc); } =20 uint32_t HELPER(v7m_mrs)(CPUARMState *env, uint32_t reg) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563240; cv=none; d=zohomail.com; s=zohoarc; b=XOMgwtVD7UwAwVKUBb60/Pgl5BKQFchThUhU8Br/1HF/mdZlZvTXijRuXC1844reu1BNqO7XC5MTqQcg9GGFoP5ixEbnnBEJjqre9FC3rYfktvPOGvH5gS0Q/YBXKbxgHmMgG0/EIEWD9x7OV+rXXKaBHdMgCtIvQ7u2sx/E1gc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563240; 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=5MFngHGehXpgcde25fEDm3yIeCRkA5CYGfoJypWa7UA=; b=efbCauXSWOXEc7Yf5VYMI1gOLgkjcLEQ3yQob/AjmLkmlV6wo0WKhKrZ6S8IbFX0f5vLk8e0PwIYdNUoWKGjU2csGci0GvcMEL2SINC52P5b6qOIpOIPApfN1jquZ81mhqJuAQaaslk7KcjytThZr5QiBQ7O0NoI3Dlot3L6vbs= 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 1761563240741638.0723616426023; Mon, 27 Oct 2025 04:07:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL1z-000110-Kg; Mon, 27 Oct 2025 07:04:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL1S-0000et-8V for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:23 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1I-0005fm-Ng for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:21 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-b6d402422c2so1073627466b.2 for ; Mon, 27 Oct 2025 04:03:57 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d85369697sm757955266b.26.2025.10.27.04.03.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 528BB60A0F; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563036; x=1762167836; 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=5MFngHGehXpgcde25fEDm3yIeCRkA5CYGfoJypWa7UA=; b=A3HiKZAag/VDzVesdW8W4BzzVnQ9fQelHdrZha6zAdsN1IhDvaYM2QqkLblgo+w/iT 7R/T3T++7LRK1JI5crVUUJjbBEkpr3kcNrG7MKXLZ3bQPlOdt9HfI5xeHNEU08V+fpdd F5PG0wV/GbyLLi/DOIJZlyQzgvvtPaX3q7s8U07RdZQbMZJgTw0hNxcpaisRyYaUtg8S 1dep6JMdfEVtdrkF4t7c3POCAcD6/FURfCIya/d68TKwB6ZDCFM5BArqbLkGtG2yFDJf cEbyrhPA2MOiTVusla+TOMrJaTnwBhep5J4p62h0JrxCU1cKxygllqgOrvCjf8dnXewB N74g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563036; x=1762167836; 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=5MFngHGehXpgcde25fEDm3yIeCRkA5CYGfoJypWa7UA=; b=XhYV2XvdkA0hyHfDIXkokCfiwJvOH7AQAqQVOmzanSIKiURZyPbeom2kQ050MZWo7Q N+AxZyn+Zy7bXE85QXHPB7Zg3zK0hp020D2ud1dfOzgQ8oK34Cmd4AgE04bGvZURKlVm Qw7Op2dtraAR6j8yMZsdhASrmf2oWN43tDhXE9B8S1pBRXhCcvo4un1G3RsIPsZZ41yQ qaYZuUmD55iwlU4IAlZhrAbDj+ISXDjC4vu6YvIgd8z3I/GCLKAVLgz2d3H2B6/CWSPl wrDwvLvaStd4MHk7Q5IUPRkM58kO60B3PL0jXlsQC96IYmkhpbybXxSnS57Jy49aQ1vJ 3/KQ== X-Gm-Message-State: AOJu0YyKYifschNYSW3XwfMIykDrReY5ZfI4F6YNFf1z+LuMcRdp5ghp x/ef1Lu1tuEk4+Fjuwqo3P7DTa5eqO128HMjfTRX8MG7dXFxnROQU5dxOuphyH1iA8o= X-Gm-Gg: ASbGncu/D+kSYYXuugydzg6SqIYDq2WLEN9VvThbyAsGD1Fm+fffZV4k7CQSWkZU7U9 XdOl9zvXU6xb7EpqGcmhoY4gTsI6JSdiijuZVDfyk6lD5f/2HOatc/2xTg+k/kNDomxbBvThgSe AvSyk+b9E6TpFZrCXM3zN4x69gaf5tSf8CG4FpxJBo6Jyq2HWEeajFVe+czLUQpU+65bPYEqtlx hchjP/W4Xdc7yuFpsfmTJr/HPVnt8zFtiSwCzBFzt6xfmyDlmnQSzkqBTI0HUZoTbboAb3DI84b xupStEZNA+YvKjcahlBQyhze+ipH0VP6wcjQs1SFo43CkKNFN2G8f1VZSszlThFvygCcyUi4OJs Cjf1jYRMjpKRI9dRGJtDilqp76XcVolGVM1yl5o096aaNhctiScyD+PcjMdvd1OWu/dmSdEhZs4 IkAaRYyuG5QT4= X-Google-Smtp-Source: AGHT+IH3tkpPI8qkMNzSSKaTH+LGz+PSEOooZ0h8e2NnoKxhhJh8kTHLf7OwlNmHT6Lz3ZHEnK/s9A== X-Received: by 2002:a17:907:7254:b0:b6d:6955:aaff with SMTP id a640c23a62f3a-b6d6955aeeamr1290331366b.63.1761563035774; Mon, 27 Oct 2025 04:03:55 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 13/35] target/avr: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:20 +0000 Message-ID: <20251027110344.2289945-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62e; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62e.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: 1761563243439154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places the hook for AVR targets. That architecture appears to only know interrupts. Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/avr/helper.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/avr/helper.c b/target/avr/helper.c index 4b29ab35263..365c8c60e19 100644 --- a/target/avr/helper.c +++ b/target/avr/helper.c @@ -28,6 +28,7 @@ #include "exec/target_page.h" #include "accel/tcg/cpu-ldst.h" #include "exec/helper-proto.h" +#include "qemu/plugin.h" =20 bool avr_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { @@ -102,6 +103,8 @@ void avr_cpu_do_interrupt(CPUState *cs) env->sregI =3D 0; /* clear Global Interrupt Flag */ =20 cs->exception_index =3D -1; + + qemu_plugin_vcpu_interrupt_cb(cs, ret); } =20 hwaddr avr_cpu_get_phys_page_debug(CPUState *cs, vaddr addr) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563204; cv=none; d=zohomail.com; s=zohoarc; b=ApU7sT0yTdogwIY2jWmoevBRPYjUzRrLLSXIiEhh0BvL9TfrlYdSpJWHQCgrAHqSNNOGkx7Jv8J5JroT23FPjoyQYvwx7DyBUnIcC/rKnYdpdzBUfN7lA+8nLYHB7r1VL7wXmL/Cfg3VQLIbEHdI0YrzHTzvOTBRpKHSaFoHKEU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563204; 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=7YUrkZOEiVqgaskj8vySb8u4ZvfCCqWGczqDOfAD8J8=; b=jsNXcwiHP/7O7pjy3XvNEw7fEpbi7IxPstDr/ZtCD2FkUcnPVc7b6VBbe1pgoXD8PTMpEMVRZ7KRijF4X8yyKqq7myyrqVFCV/ljHjxOJnt5vFwUVG4MDN9xjjzgwRm3vO0K5FP0mx30d1fjiIrg3lRYt6VOX3trTxA13QblPjQ= 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 17615632047441003.9898489887187; Mon, 27 Oct 2025 04: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 1vDL1z-000111-KW; Mon, 27 Oct 2025 07:04:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL1O-0000cz-Uz for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:19 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1B-0005gm-N5 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:14 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-b6d345d7ff7so848540466b.1 for ; Mon, 27 Oct 2025 04:03:59 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d9b536710sm407933666b.57.2025.10.27.04.03.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6681A60A76; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563038; x=1762167838; 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=7YUrkZOEiVqgaskj8vySb8u4ZvfCCqWGczqDOfAD8J8=; b=clBjQ/C7Tjkmy1ME334uPcGKyGtH61pdLPeItkAVus8T8mMDJ/wwTK+fZO/64LsVs6 BSpdW+GKPmhcYMSmhBNNk7XjJlrG3yNlM0VysM31evp3QLUCyukov4lh649ERnbaBjOO AEK6SKNuAL0bcphbx+665LXTbji7jxe2fAwWF4JODAGmtLUWfkZX6W9dLKHZ1nwuu5jm gTcOo81qgwadhIRccvVSqiQxRT/lI3nCKCb++bk8fSe9fXoZ5a30Kt9LwQKwlMmTNBhT hZj2TviG2n9EHIkQZNv0DhiYamd4ROreHYp85rIDhQd098US/HZITtC9o/r8wHRHLBJl bQMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563038; x=1762167838; 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=7YUrkZOEiVqgaskj8vySb8u4ZvfCCqWGczqDOfAD8J8=; b=F8cOWQvFtS8NRrdUM78e6dkrLkP6Qy/9rYUUhbOA802FTf2Eh07zFInzHhTd8uOjqP Mi82rrHBTrbCDDg05NqJWXtjGrE5MOBsKmNsNmum1QTyuBdBvdY2/9SJYUiRaUXFNNMx o5RrEeP3FT540Rw4FrL/7SIRrhFcYCnV+nf2cQ8PzYyeR+Jel9P9UOllE6JsAXWJyZlN R5x9YD+qRPlhbs9iqhheBUjtmFSJZVyuYzy7Vlj7uJ5hyIN+2+qcD+KeVq++9SmUBwiR Hml8qTcLU/2OOgeNWggll1p6PYHCSEo8roJe4ciaiOXIZ7BGHbqNHuaA1W1bHMT1428G XjYA== X-Gm-Message-State: AOJu0Yy70Lpl3/njW7OweGCZERL1WSSk6EQOEO5MRBHNzDOAQgc9vgKb Ps9+umzEDJmFYpOf7sWcael5UlqJE0xqdn4Qsqeyaxt/wJHNKtDHzPOHFlOX95AcQAU= X-Gm-Gg: ASbGnctTeh3/A7raGjVlA0GBhXq6CMIaD0zx24LWS2bRUgt9/wTD5IdjIZJ4X57tyUy JAk2bXc49co7559zcgdzYicNzRdlWiPp8XXrjTqGun2ObnLfUBGmMygp4TcbkAQMLxD7ZWcqkg3 MhzL89XxulMQBr4nmzHKLBFX+X1OBfjCkn/Z4fI0Ws+pgSzvHA85FsfvS77IXmoqxpV2zIFEL+y 9oaSl0M63t7pfdlyfb7ctBbRzx72VrRQFNTC7L8bNcVmHRDqXeQk45soh0LohCFnCuIqxu2XsuP fNFJ9uH3c1V7dY+Enaud8PfsTPtIVdud5q9+azlIxJNemWpVBiYj7xX6wIGHvEL4nf8mzvqg88p s0Xlju0+R5w2AnW2eLT2XwINFEpaM0pXTbwMDTG5fdb4EoYbIqNMS54W5/7cVyAIIldCZrFks59 Qi X-Google-Smtp-Source: AGHT+IHwrtYRvdWMuVy2AMsMT1ZRJwpgRqGp0QvPKkCoaQSEbVYP8oZ9QpyiS2d9CfCH1xzbuKIyJQ== X-Received: by 2002:a17:907:3f0e:b0:b6d:3e23:b68f with SMTP id a640c23a62f3a-b6d6b7e401bmr1405286066b.0.1761563037918; Mon, 27 Oct 2025 04:03:57 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 14/35] target/hppa: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:21 +0000 Message-ID: <20251027110344.2289945-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62d; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: 1761563206608158500 From: Julian Ganz We identified a number of exceptions as interrupts, and we assume every other exception is a (syncroneous) exceptions. PA-RISC appears to not have any form of host-call. This change places the hook for PA-RISC targets. Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/hppa/int_helper.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/target/hppa/int_helper.c b/target/hppa/int_helper.c index 191ae19404b..4e4869285b5 100644 --- a/target/hppa/int_helper.c +++ b/target/hppa/int_helper.c @@ -24,6 +24,7 @@ #include "exec/helper-proto.h" #include "hw/core/cpu.h" #include "hw/hppa/hppa_hardware.h" +#include "qemu/plugin.h" =20 static void eval_interrupt(HPPACPU *cpu) { @@ -95,6 +96,7 @@ void hppa_cpu_do_interrupt(CPUState *cs) CPUHPPAState *env =3D &cpu->env; int i =3D cs->exception_index; uint64_t old_psw, old_gva_offset_mask; + uint64_t last_pc =3D cs->cc->get_pc(cs); =20 /* As documented in pa2.0 -- interruption handling. */ /* step 1 */ @@ -212,6 +214,21 @@ void hppa_cpu_do_interrupt(CPUState *cs) env->iasq_f =3D 0; env->iasq_b =3D 0; =20 + switch (i) { + case EXCP_HPMC: + case EXCP_POWER_FAIL: + case EXCP_RC: + case EXCP_EXT_INTERRUPT: + case EXCP_LPMC: + case EXCP_PER_INTERRUPT: + case EXCP_TOC: + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, last_pc); + break; + } + if (qemu_loglevel_mask(CPU_LOG_INT)) { static const char * const names[] =3D { [EXCP_HPMC] =3D "high priority machine check", --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563372; cv=none; d=zohomail.com; s=zohoarc; b=XZtD9fCWKfEWzpp5OCnyMls4FQsDljl6YVyQvOLaTpVmWOFcQo5QzeC/vWssvqelOwY6num4J1frGfifrZdARa8wchDV7pscS/Xp7yigMupakfhETJUWaT3jixxNIrBwV0HBWYGGB4MIMhODfJcUp5mj4ef8ws65qfA/YHWe2gs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563372; 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=6tc/ncHQ43H5RAM4g98aEerDqB5nJ7XC9XRTlxHTgjE=; b=Yw6oSYFUL/8W25H3zAV86P0w02z7RH8KVf7S/BxCW2HIzar7fINH9Rwcr6yPryscjcMGEnyD5cg7nM39xiG1oV/xVFft6+WY92oeeUpIPRaRK0eLHsZTCtX9nmleG4JJVnA4E+mX6iSs8N4+v44ujIxTajjsv7VYi/FWGY4kldM= 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 17615633722427.162522835881305; Mon, 27 Oct 2025 04:09:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2B-0001HV-2B; Mon, 27 Oct 2025 07:05:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL1y-0000zh-32 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:54 -0400 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1S-0005g9-5H for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:53 -0400 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-63bdfd73e6eso10284696a12.0 for ; Mon, 27 Oct 2025 04:03:58 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efb950csm6163591a12.28.2025.10.27.04.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7AA5F60A94; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563036; x=1762167836; 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=6tc/ncHQ43H5RAM4g98aEerDqB5nJ7XC9XRTlxHTgjE=; b=RC6W0lZoe2DPpgJuvPbnkpvI2CHFJov4P0RbMXSvPm5HiBQeFPMU0tGjvk1zxiVRET jhJMbdR6idwvZX3aHQREyEDAHhx085ycv1byqAWs4uwawbAMwPjmT/otbcOOTBZccD7M EV4FqvKtJ/oOV5gbVkR/QKr722By5jaOjkaTmB3iF4320yERYvkYadfvKwJjIdR3qL5f NQo1t+HspSB+QYfao4l82rlR01T8yr4hz12E5phYJbNQUQvu/qnx7GWKtKhujEt4hoSu lOULW40XFfd5detS3bPn73JF88QKM4rFezPilpqVPGhhJ91Ljcc/hRxMpkMuMQ0mmeOo Trkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563036; x=1762167836; 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=6tc/ncHQ43H5RAM4g98aEerDqB5nJ7XC9XRTlxHTgjE=; b=dvRh3ZYFHTHvz5MnELTf1uGbGGlSAy/8dwRW+8YDhFpzMo4aRCtoh6o8KBvOZwMSZ9 6UUKNo/lmedMur5ePgm1YtansSZJaDyjU7dI9GXGoTk7+rSa0YEl/jk+4Ww4g//3cogJ J8bF0U9q72H3vNuF8utC84lT7XAP1EOjwnVZTxySHYbU1OzkNT3XNoTFdfBDfCuvJeIP 6BTLyp5CjumHXY7tri5dFEIdQsZINa8A097D1kTao7b5bmgYlKQIkF1M1Z/A2F7JEO8l Bshk1bT5MufCQ4ASKceB9Bcy2fboiHkcdJXqDoSjGQq7csnDYfOhHtCrbQ54w0JKnCXG 44Rw== X-Gm-Message-State: AOJu0Yy6YC57fhsem1QB3qfvCFLnylTPSLo6uOFz5+sbn1CeCHPvv9Na XIq5MgW0AbxNrkyVZ5Acad+B0I2kLIw0NCP4WHSPXCeJiBAEpXxrHL6kZ7F4n8M1gio= X-Gm-Gg: ASbGnctEaznyfzTwx2804j9PKkQ8sEnE+1mqBqDBuMlL/1qrFvQChynNd3IULv7cYLC ZcE3ebeWcdpxEttRK/tM5383RBkex70sFecA0th8RUYlM/8sHBma2XiM9ToySlR6V3CxcyD0Rt0 NyCETQBcaAMNhtDXooDjvQD00/+nOEk1OT3is0xBcCtAs2LK3KRx6Qi7kphHAJfj3cutCD8ziF3 mW9Ez/6akDzMnOjQwuc7lZOyki9rWeKj9VtOA8TXN4A7L/BVMFVL9c7rqRQ5/IPTjdVcWUCAsad s8xv/7y/opOPdEwkdYiAqAQqIwVmT+67DrkkN5GKOHm7PXw0wIqsvlXqOiVHiklGGCgejxIK9Dw 4Ck+o19aRGO033zhk/TmPYsoVMniCVL/ZBtyrwPLdpYTI8hWVoksGnNOkyjNkp1mN5Sgb4HcGKv fsrt5oO2RfpsM= X-Google-Smtp-Source: AGHT+IERY0LRDtAh/P/JnbkEdSaGPZN26CjXuTfwQxfSVQ5HKYkzM6nMMAvqidpDE39wy9t9gsU+wA== X-Received: by 2002:aa7:cf0a:0:b0:63e:6f85:1ef3 with SMTP id 4fb4d7f45d1cf-63e6f851f34mr5947239a12.12.1761563036495; Mon, 27 Oct 2025 04:03:56 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 15/35] target/i386: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:22 +0000 Message-ID: <20251027110344.2289945-16-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::536; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x536.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, T_SPF_TEMPERROR=0.01 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: 1761563374891154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places the hook for x86 targets. Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/i386/tcg/excp_helper.c | 3 +++ target/i386/tcg/seg_helper.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/target/i386/tcg/excp_helper.c b/target/i386/tcg/excp_helper.c index 6fb8036d988..32f2784e923 100644 --- a/target/i386/tcg/excp_helper.c +++ b/target/i386/tcg/excp_helper.c @@ -23,6 +23,7 @@ #include "system/runstate.h" #include "exec/helper-proto.h" #include "helper-tcg.h" +#include "qemu/plugin.h" =20 G_NORETURN void helper_raise_interrupt(CPUX86State *env, int intno, int next_eip_addend) @@ -93,6 +94,7 @@ void raise_interrupt2(CPUX86State *env, int intno, uintptr_t retaddr) { CPUState *cs =3D env_cpu(env); + uint64_t last_pc =3D env->eip + env->segs[R_CS].base; =20 if (!is_int) { cpu_svm_check_intercept_param(env, SVM_EXIT_EXCP_BASE + intno, @@ -106,6 +108,7 @@ void raise_interrupt2(CPUX86State *env, int intno, env->error_code =3D error_code; env->exception_is_int =3D is_int; env->exception_next_eip =3D env->eip + next_eip_addend; + qemu_plugin_vcpu_exception_cb(cs, last_pc); cpu_loop_exit_restore(cs, retaddr); } =20 diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c index f49fe851cdf..667b1c38696 100644 --- a/target/i386/tcg/seg_helper.c +++ b/target/i386/tcg/seg_helper.c @@ -29,6 +29,7 @@ #include "seg_helper.h" #include "access.h" #include "tcg-cpu.h" +#include "qemu/plugin.h" =20 #ifdef TARGET_X86_64 #define SET_ESP(val, sp_mask) \ @@ -1192,6 +1193,7 @@ void do_interrupt_all(X86CPU *cpu, int intno, int is_= int, int error_code, target_ulong next_eip, int is_hw) { CPUX86State *env =3D &cpu->env; + uint64_t last_pc =3D env->eip + env->segs[R_CS].base; =20 if (qemu_loglevel_mask(CPU_LOG_INT)) { if ((env->cr[0] & CR0_PE_MASK)) { @@ -1263,6 +1265,8 @@ void do_interrupt_all(X86CPU *cpu, int intno, int is_= int, event_inj & ~SVM_EVTINJ_VALID); } #endif + + qemu_plugin_vcpu_interrupt_cb(CPU(cpu), last_pc); } =20 void do_interrupt_x86_hardirq(CPUX86State *env, int intno, int is_hw) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563172; cv=none; d=zohomail.com; s=zohoarc; b=mJrOFajNRSYsz3BKPoJrHxUIWMGNWb/ShsV6iLB9+1w20/XCXpOuHQVfouVVWifFhonpId3YG/nEQAIC2OtpKb/k0kuc9UVK20xlYx3073wtsf0A+Fizm4U/HzeYGmRuY6F9uKM2i5AgQuh8wgp3kRR/2HepvjjpaTTkf8n0AEw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563172; 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=GGDtkgFr/GHLtEa0jhJz7Y8ig7qb2phfciaJVqoCnCs=; b=BJxYvl8+gRjoy2Vl6GFjSHSu8TE4sewjcNUmiD7caqU802JCZMuX+zz60ffkVQCkVPnPGoeb8v1qDC/E+w313TAwn52GhAuXBSdrKiJViwjo7x4184lswGHMGzx7LdBa//pT+FDnKUvQ8wlX1d/pOO+Nkz8/iuOpGrHDlPzHf5E= 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 1761563172172394.89650723802856; Mon, 27 Oct 2025 04:06:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2A-0001HU-WC; Mon, 27 Oct 2025 07:05: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 1vDL1h-0000ld-77 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:38 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1Q-0005hC-41 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:36 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-b6d6984a5baso684418566b.3 for ; Mon, 27 Oct 2025 04:04:00 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8548ed8fsm735153366b.73.2025.10.27.04.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8E0B860B4E; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563039; x=1762167839; 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=GGDtkgFr/GHLtEa0jhJz7Y8ig7qb2phfciaJVqoCnCs=; b=hnKY54IH9fXypyNJXpQ9FpSySGdP9h7lEeAPh3pC5vJHTrbI3EnVs5IhzLccDkhs15 mE8vnD1wgK1fdbBSewbzDKfVkQ+NzA+9sj35Tf48I9e4McjGWvhkxa4SJgFq57tQZGAL nTxXRk4DN9mg025DBYI35/48yP7PiklW99oMIe8/Lz8pV5r0/w2EhVEWfZKk5TXPSNOv yRSa57w/CePdayDHVMkK4DNLLB/RWwnqVAxYV8+W1CfLZhub4sO3WtQfTEt0SRdhLtBS WzGw15OHVWfptb3sDgkDSDbpDgyI2gYpGTV8uBfI9MYeXw2cxf12XI6VgEFjnOk34Tka cMtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563039; x=1762167839; 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=GGDtkgFr/GHLtEa0jhJz7Y8ig7qb2phfciaJVqoCnCs=; b=rNc/Obyxt7KwMPXJVE+3zquUkZoTMjYBPCCbsCiR5yOWBwVcq9QKb3URQXlfIJVmH7 1VR8Egw9jUyng69+ojwKz3Qv2UA7CQWxhr3C8gigv5kip4STTWDVH+v856AFw1nNFQW0 7vyNEMEOKabw2mS6QqxaXlEyYN5UdnZ4sIhZSv5jWGe0bhFlRDeba+gY+evpfs1XwmNh YGNN9Y0+COtAmvJWmNkZmoksGaMwjvHjFEtySDT8I4siPhtsgLXRSr3c6bpfkxgxzllQ NHjDT1rGObt2Hx2Hm2+uSDigVv+iTlUv0fCKNspjvlTV9ThRsqQJisZa6yk0IVFHQY1H WBSQ== X-Gm-Message-State: AOJu0Yy+6Bemnrga9wbtMTsj7X9A+yQgxHutFLxjqQyKeJaMLfbGFHe+ Yb9eiIJE820XnfkppW39N0b6rYkQegxo+rwnhTH3AXtCVfcU11yBlofocQLx98gbcng= X-Gm-Gg: ASbGnct+2AorT+RbmfZT5/8qqJ42JYkMAoNGouSc2y4C9YKAQLWTh4G1mr8SU3wUJjO 99mnQ+4IcfoLDcOemdE96VBTpZj1kfG9f91wmhYnCqSuUG9mUwi6YoMyc+Fsodt4fdn4mjaz56G pH75ByC/7I+V59fXW9YT5p8npepNkW4cXqxsOUioQPdHNbK3Gqdw+P8+mJUlYMFIG5YyAwHVDUc 61MAQuPBPIs80AjxCfB/B/IZ5PI0f1qLiHM2VUOI6xo2av4T4fIT09xfpJUCvjWfDj1pz+V3WPZ wxU4SnHKyYTLMuiQDL5sFJJRKKPmmpI1qHDeL8WiqXwSvmSY/PqHp+LGyI066/yfBD9wNA67hd+ PfgeIVrr2/p+Pu7zkTnsq41VRzRtz6TMUvQoliLFaYzRgKqQaW8xzFrkw98NEpR4OQdjWPH8NeG /T2AteypyAIF0= X-Google-Smtp-Source: AGHT+IGQty3nqHvOvQICE9Rlly5V3h17LXnXWbLrIdqb1N8ODcrMwUJQb0dJNUF1TXud8Qjaz914fQ== X-Received: by 2002:a17:907:c11:b0:b46:897b:d759 with SMTP id a640c23a62f3a-b647443b9c2mr4453853166b.40.1761563038954; Mon, 27 Oct 2025 04:03:58 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 16/35] target/loongarch: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:23 +0000 Message-ID: <20251027110344.2289945-17-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62d; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1761563174962154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for loongarch targets. This architecture has one special "exception" for interrupts and no host calls. Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Reviewed-by: Song Gao Signed-off-by: Alex Benn=C3=A9e --- target/loongarch/tcg/tcg_cpu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/loongarch/tcg/tcg_cpu.c b/target/loongarch/tcg/tcg_cpu.c index 82b54e6dc3c..9d077c56d9d 100644 --- a/target/loongarch/tcg/tcg_cpu.c +++ b/target/loongarch/tcg/tcg_cpu.c @@ -8,6 +8,7 @@ #include "qemu/accel.h" #include "qemu/error-report.h" #include "qemu/log.h" +#include "qemu/plugin.h" #include "accel/accel-cpu-target.h" #include "accel/tcg/cpu-ldst.h" #include "accel/tcg/cpu-ops.h" @@ -80,6 +81,7 @@ static void loongarch_cpu_do_interrupt(CPUState *cs) int cause =3D -1; bool tlbfill =3D FIELD_EX64(env->CSR_TLBRERA, CSR_TLBRERA, ISTLBR); uint32_t vec_size =3D FIELD_EX64(env->CSR_ECFG, CSR_ECFG, VS); + uint64_t last_pc =3D env->pc; =20 if (cs->exception_index !=3D EXCCODE_INT) { qemu_log_mask(CPU_LOG_INT, @@ -190,6 +192,7 @@ static void loongarch_cpu_do_interrupt(CPUState *cs) __func__, env->pc, env->CSR_ERA, cause, env->CSR_BADV, env->CSR_DERA, vector, env->CSR_ECFG, env->CSR_ESTAT); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); } else { if (tlbfill) { set_pc(env, env->CSR_TLBRENTRY); @@ -208,6 +211,7 @@ static void loongarch_cpu_do_interrupt(CPUState *cs) tlbfill ? env->CSR_TLBRBADV : env->CSR_BADV, env->CSR_BADI, env->gpr[11], cs->cpu_index, env->CSR_ASID); + qemu_plugin_vcpu_exception_cb(cs, last_pc); } cs->exception_index =3D -1; } --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563601; cv=none; d=zohomail.com; s=zohoarc; b=KRXCdYzeXRAPUixtMGSxor/1B5Ze81TComTBFlQRuiUC1iNWZw0ft/+2FQKGqoEwHEhnGJxQlaYDcw08wsR/hVRZS0l7xtUJt5x+7rDNN8bp2iUZkIHoYUWOZ8xvbQIybBnqBbqs/XTUVJtRlZWcniJBqlK+Vm3t7QTCmhRL3vg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563601; 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=S+B5t2CS/T8KjhtvrkR91LD1xXhHenjI0bMGIecipr8=; b=hd3fB2hcjAMsS7LFiRPh8v6+0T6bWo0CJX7VASahmpK914c3JYaFiGONshBdPcaJrTsQqwFxLoWvV02fdf67OAr+2aUAx8uj89W2RrdqM55vxiDBC7E6A92f8BhP8jmhKygPRwsTgB3QIweEf8MyKjpmF8pyaPju1gylznj/nck= 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 1761563601678878.0432414681235; Mon, 27 Oct 2025 04:13:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL24-00019X-Dy; Mon, 27 Oct 2025 07:05: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 1vDL1l-0000oc-Uh for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:48 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1Q-0005gR-DP for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:41 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63c556b4e0cso507704a12.1 for ; Mon, 27 Oct 2025 04:03:59 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efb97b3sm5942298a12.30.2025.10.27.04.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A56E160C1B; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563037; x=1762167837; 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=S+B5t2CS/T8KjhtvrkR91LD1xXhHenjI0bMGIecipr8=; b=GgXLmexawwlsv/1igkmwbYEFBzAoXdecLpStTG1L3LsljiasGqe4uPKBmgV1kbQuQE G0ThAwNrXqXtm9ncpITlV0XBqnIlacEhBhjCmvc/BgQIYNfb9ofYmYZRwO7cgJTHda0d yzvd3C/Y3AJD0tJOgh73/Jx4TRFecgWg9htWO4P7e3OZZE930pXN8HMFNLV1pNMt9CoS dLX9ciEgX9a7lVjKQ1F+aujPJC7Ot0jk3Ou4XpnyQNJHr+wTEOU6jmIZdSkLBLdWLTR5 DrDwId+mZ8hXcWSQIrwj1/ZgHb896cMKEvPGIBJxsJthEuYNanQObj3K/id5odYZF4mo X/eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563037; x=1762167837; 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=S+B5t2CS/T8KjhtvrkR91LD1xXhHenjI0bMGIecipr8=; b=C1jnzpq4uEfUqzPzjcCubO5yx45ZOm167NEeBUQjG94ZxqMRlOBA4m/YXQR0WLx5kX Z35xBY9/G2OfQ3H0BmQKW5Dc+m2Xc7+QLW/HBLiVPvY8483JoHeOhPR+4pce6KEkWzEF jyYq+bp2l3q8SXBhGN8TX+4qWE7yirJ+FO0wvjGn+hDHjJYSu4j/ejZ/HDowGxtTJcKK y/klt12vyJ6RaisdnBUtRTxoLuFpa09fDjnEPna2HZAAE+lSbtmE41M32g5GA5849Llu TdOXabtDlYwAv9IzuLRAQ7kawFqIg0ExsA95aIXdZl3ocLg319pUguOYsJE2kCjkIeew Fvxg== X-Gm-Message-State: AOJu0YzZPs3NvOM7fTjYVEK4vSfGrC1yKfCHCmCnSnayEXU2rxEs7UDC MwMO5RZMQKX/nJZMM7LSp45i6apxLLib2PA3R0BRhGVpTiryf93lGT28WReCtKzjx68= X-Gm-Gg: ASbGncurqNcQOQZK42nUITALGW6cBbuSGYHd9gNvnqwk/HNvMaA5QClCwvMLapmL+Pu bG2nyUCsur5WTk48Idib6ALudGR+feHANeoMN0U6tDYxOuw8vqg5WZN+YJzNnlLmhIDfqpdd4ZE w349yG4Thg4To18Ab5kfzkbxSFX8QZCsoeDmX7EjpeFLmyVql/R3MzAxZL+MX367CKx/yipU6HR qvzHv2gp7FU8mzwSrwkm6lvprd4SodOjaWQjeqC+nLUkqR8P/Nen5DZNLc6JHIgqBNYD+U7EGad OnlGdF5NCCctUFRyGbQXgvlrmObOXNkXPl1KGl/8f/Z80k7+NsTrUitu9JRfu2zAn/mM+sCd4Cm OVgqyS2dumoovw/Gc96L/MycDXdOgHwLqYBA4cJsVgr7COBNc+rd87ESmdXl1AlwupJFzkUQM4g ayR+/+v5nft3s= X-Google-Smtp-Source: AGHT+IFOqsFhi++XSrIN3tvwX7vv/Rng/GC5ur0yItPZWJFnvIrwnw8USTNuYmK9pTg/cUeHEl2iog== X-Received: by 2002:a05:6402:5650:b0:636:6801:eed7 with SMTP id 4fb4d7f45d1cf-63c1f6d05b1mr25599778a12.32.1761563037184; Mon, 27 Oct 2025 04:03:57 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 17/35] target/m68k: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:24 +0000 Message-ID: <20251027110344.2289945-18-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.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: 1761563603026158500 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for Motorola 68000 targets. Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/m68k/op_helper.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c index f29ae12af84..e9c20a8e032 100644 --- a/target/m68k/op_helper.c +++ b/target/m68k/op_helper.c @@ -22,6 +22,7 @@ #include "exec/helper-proto.h" #include "accel/tcg/cpu-ldst.h" #include "semihosting/semihost.h" +#include "qemu/plugin.h" =20 #if !defined(CONFIG_USER_ONLY) =20 @@ -183,6 +184,21 @@ static const char *m68k_exception_name(int index) return "Unassigned"; } =20 +static void do_plugin_vcpu_interrupt_cb(CPUState *cs, uint64_t from) +{ + switch (cs->exception_index) { + case EXCP_SPURIOUS ... EXCP_INT_LEVEL_7: + qemu_plugin_vcpu_interrupt_cb(cs, from); + break; + case EXCP_SEMIHOSTING: + qemu_plugin_vcpu_hostcall_cb(cs, from); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, from); + break; + } +} + static void cf_interrupt_all(CPUM68KState *env, int is_hw) { CPUState *cs =3D env_cpu(env); @@ -203,6 +219,7 @@ static void cf_interrupt_all(CPUM68KState *env, int is_= hw) return; case EXCP_SEMIHOSTING: do_m68k_semihosting(env, env->dregs[0]); + qemu_plugin_vcpu_hostcall_cb(cs, retaddr); return; } } @@ -239,6 +256,8 @@ static void cf_interrupt_all(CPUM68KState *env, int is_= hw) env->aregs[7] =3D sp; /* Jump to vector. */ env->pc =3D cpu_ldl_mmuidx_ra(env, env->vbr + vector, MMU_KERNEL_IDX, = 0); + + do_plugin_vcpu_interrupt_cb(cs, retaddr); } =20 static inline void do_stack_frame(CPUM68KState *env, uint32_t *sp, @@ -277,6 +296,7 @@ static void m68k_interrupt_all(CPUM68KState *env, int i= s_hw) uint32_t sp; uint32_t vector; uint16_t sr, oldsr; + uint64_t last_pc =3D env->pc; =20 if (!is_hw) { switch (cs->exception_index) { @@ -417,6 +437,8 @@ static void m68k_interrupt_all(CPUM68KState *env, int i= s_hw) env->aregs[7] =3D sp; /* Jump to vector. */ env->pc =3D cpu_ldl_mmuidx_ra(env, env->vbr + vector, MMU_KERNEL_IDX, = 0); + + do_plugin_vcpu_interrupt_cb(cs, last_pc); } =20 static void do_interrupt_all(CPUM68KState *env, int is_hw) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563960; cv=none; d=zohomail.com; s=zohoarc; b=fvx56pV9uL/u698+JsBYBK/YAKx0zyEk3TfOB0MeKCczmbg1Ma8WvpiVUg2UFgMkqAXh+A9ub7wldagELhObAZmof1C0N+8V9o/dsA1gjLgqyfY/ncoR5eVaEB2vt9kcXqrShqvyAFxIeP0qDKSx4xSnZBqSSxvDnFrxs2tBHhA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563960; 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=MOIWat0zdvoLqu/dm2Cji7uUG0JRvbRh67vkFVnoxR0=; b=Dwaeu61gkL7zf8ULn98S6kflf+iua/9yelm+kg7J19CP2yHg0jPY6wTC7E2plopB/3PPHstVcTtJoICCU63nc3NxYUF0peAKxdsViBVCdPGz/9qVwhj5hjIsDNM9wW4cXrtZnxEYl+kPbSLA8har5j9vVLvSAdVlE/gUzkICtC8= 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 176156396086554.239258863499686; Mon, 27 Oct 2025 04:19:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9n-0006jy-Ft; Mon, 27 Oct 2025 07:13:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL9i-0006gV-EX for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:54 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9D-0007c4-6E for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:54 -0400 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-63bea08a326so6450069a12.3 for ; Mon, 27 Oct 2025 04:12:16 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7ef95cb9sm6162733a12.17.2025.10.27.04.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id BC74960CB8; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563534; x=1762168334; 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=MOIWat0zdvoLqu/dm2Cji7uUG0JRvbRh67vkFVnoxR0=; b=iW9VegSAwyykgu1vq5W01FUJ+YhkX1BGgNjBs5vO+zMsZ8rdB22gmk5TSYHQKl6T/f eQCsfRpQ3j7FDGy5IE9SCKTCDEHagDVfOZ5VqrGIn3YbMaruOIqv9zSZ4BzXsXZnNljt WBOwU1O7agn7NLuOZkOcrknciSyHMIP9thIv8mrO9uKrgI8BWRbD47L83bJ/e/gdMlJE 8U6CfdNp4PRMAKcsbpkV3HMLFkJRMJ+X3FD33Tn/QeIP1QpCWM7DQID1Ronhj6FqV/2S SsVu4PR1BPNJBF//UxJic9HKvzb7XsrLw4KAm4RNX2Tn9xF81x487ICYlV8KH12IrIZh 5ggQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563534; x=1762168334; 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=MOIWat0zdvoLqu/dm2Cji7uUG0JRvbRh67vkFVnoxR0=; b=HJUM88/TUH8USh8zmJ7CqF547dHrTOj5AWXsTGHIzGT66uYjSo2BRSyDYzRBZZa7/k YXmzjfI9UBND4VGQDcsbDFySdDFF7glqfIVdzyFda8ielPxj2teuf6wWWcOuoUVllh3U IKCsdpKs0b+9bDpf59yId2mMeNCZ3IyaLmMGWlnRzM2VneKGXzZ2D9WBDLscv78kg2LM RNMd2A90omzjq5mrBjAhqTaYdZzo16FMK5vfoToq7O/E0ZtyTdZ4J6pyfnaSX4lqHPO4 lUPCiK+7c7dRFAEwrrL6vqqs3MtCmnGqAxpKSj7QaD77/BJSAKkBGrVgoSQCpH1I9RSX sXFQ== X-Gm-Message-State: AOJu0Yw51ImSf5Q4AFV7O9bF1wEleaC1CZWzg9z4Yah99qhxzUXTNa5v RkguCeJYqmAfVU9PNDgOFvQOUFVJs9E3QrdDH33PIj/XyL9X/+EghlQ7v6QmHuTP5rg= X-Gm-Gg: ASbGncvB7WeF8bfq3dpnDMyl8zVdgXDxF9Vd+zcvqkhaJlajZ/b+2Jgnq5nmO76KMuR A6hAFIFYn2sl0gxG+sf8kHBKc8N1QsckvmvvmCyZhgrDoSu8W0isHq3hh0wJRTpIjnstyxrh4ph FRCL4oR8S0O2kTTlOFgGhzQ99Bfj+ykzSdoqVYLiTnnsDUEwNzk+RQuEOKtF+BGCnKKWLjJlPEm 2GxveYD+YBVr6TbJUC0+5gXXiVqWTvg9DX5QcOcIFepyiTZ/ogQQtZAcIf6ia0785Q6yfQXfYTm ojA13Ok5bsLaoKcHPDFPe9bINibpaGZMuFVpAYvA3t94oP4QNMcuOeozJG4E69ky/sf0OosoTHw VU3k7eZgM6cwAP1q42O6l/YnLKgkDDeeuz97ZgzCCcagXT9uo7FqecOrjxQIAGxrhEQ6ZmhHjZQ scDp9hQe1/zr4= X-Google-Smtp-Source: AGHT+IG7xohgDbdCZpEaQql0WKu05/9DRCJ7c6eaYimOVb8vqucvzuXNIHI9wIYvrcQfxrfUbcLyJw== X-Received: by 2002:a05:6402:4504:b0:634:ab34:ed40 with SMTP id 4fb4d7f45d1cf-63c1f580cf2mr34888236a12.0.1761563533781; Mon, 27 Oct 2025 04:12:13 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 18/35] target/microblaze: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:25 +0000 Message-ID: <20251027110344.2289945-19-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52a; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52a.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: 1761563962359154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places the hook for MicroBlaze targets. This architecture has one special "exception" for interrupts and no host calls. Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/microblaze/helper.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/microblaze/helper.c b/target/microblaze/helper.c index cf577a72268..a1857b72172 100644 --- a/target/microblaze/helper.c +++ b/target/microblaze/helper.c @@ -27,6 +27,7 @@ #include "qemu/host-utils.h" #include "exec/log.h" #include "exec/helper-proto.h" +#include "qemu/plugin.h" =20 =20 G_NORETURN @@ -35,6 +36,7 @@ static void mb_unaligned_access_internal(CPUState *cs, ui= nt64_t addr, { CPUMBState *env =3D cpu_env(cs); uint32_t esr, iflags; + uint64_t last_pc =3D env->pc; =20 /* Recover the pc and iflags from the corresponding insn_start. */ cpu_restore_state(cs, retaddr); @@ -54,6 +56,7 @@ static void mb_unaligned_access_internal(CPUState *cs, ui= nt64_t addr, env->ear =3D addr; env->esr =3D esr; cs->exception_index =3D EXCP_HW_EXCP; + qemu_plugin_vcpu_exception_cb(cs, last_pc); cpu_loop_exit(cs); } =20 @@ -152,6 +155,7 @@ void mb_cpu_do_interrupt(CPUState *cs) CPUMBState *env =3D &cpu->env; uint32_t t, msr =3D mb_cpu_read_msr(env); bool set_esr; + uint64_t last_pc =3D env->pc; =20 /* IMM flag cannot propagate across a branch and into the dslot. */ assert((env->iflags & (D_FLAG | IMM_FLAG)) !=3D (D_FLAG | IMM_FLAG)); @@ -256,6 +260,12 @@ void mb_cpu_do_interrupt(CPUState *cs) env->res_addr =3D RES_ADDR_NONE; env->iflags =3D 0; =20 + if (cs->exception_index =3D=3D EXCP_IRQ) { + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + } else { + qemu_plugin_vcpu_exception_cb(cs, last_pc); + } + if (!set_esr) { qemu_log_mask(CPU_LOG_INT, " to pc=3D%08x msr=3D%08x\n", env->pc, msr); --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563911; cv=none; d=zohomail.com; s=zohoarc; b=I7EcqvWO7frKnBnobFrwAvvB/xBqDXQTN8eK3Y68FGkD10DJwL6bjaqz66z7Nf2BM6Y9fWMkZznGbKlo6VyUDRz8V5yrXy9pgwUBD2Eu1TWDTWbU2SaOCrwFmgymMqvE4A3tzgR9DlNC6Oe7Z3uLOvE5JNge6ajskUiwEpL7UPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563911; 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=W/iOxgVLV7ayfoY5ug7v4UBSScUkrPrd3MmiVSvSTZ8=; b=i9YwyDWmTOG27Sldvrh4kwNfMG4H90+FQx0M72tZdZh035jamvfo4f8ZTG1N5LcyYh/EZi/GxhXh3+iJAR1fQIj14mMs9ZbNsomVbve4csbwfuUWcZbKBofrciX3N8fbRDpwZDIMhDik5usEmh46n1+7sy1yiuylxo7MlA6BHRQ= 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 1761563911365606.4578701073171; Mon, 27 Oct 2025 04:18:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDLA0-0007AE-Kn; Mon, 27 Oct 2025 07:13: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 1vDL9g-0006d3-Mg for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:53 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9D-0007dk-EQ for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:52 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-63d6ee383bdso9783529a12.2 for ; Mon, 27 Oct 2025 04:12:19 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7ef82b6esm6076455a12.11.2025.10.27.04.12.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D4DBB60D8F; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563537; x=1762168337; 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=W/iOxgVLV7ayfoY5ug7v4UBSScUkrPrd3MmiVSvSTZ8=; b=wXcgQe5yVb/onyd75PQDNyyLH4zEYZlSDUVqTI7oNKbCeNdOuy47I/F4eh667zeYu2 5PYUe0VEkSexE5toCZKjflzuWUl3JUUb4ivvBsNqLK9geNF1vwlQRhy3atN7NvcNSPtT WBdT3fDtoX6tG3unummcAepqtgroSclW4T8tCYn0rygKBVVASpzSCoYj9irbrDvWylBN aJgl4yg73VPIUKmquvv/t8CeFjUa/j3D+ZJsq4RwzvXPGRXvVTcfF/VB/hczZ7aZAh8W T+q/e7KhcYEC4N/q/9V/Qk04r61ABtCU4Qn+mG839MxzI7leS9LAuW0+EA5Ssycei0zg cjJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563537; x=1762168337; 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=W/iOxgVLV7ayfoY5ug7v4UBSScUkrPrd3MmiVSvSTZ8=; b=lMksADHTJZRFJM3EPnMnzWlOUUMZkcTgYH3xrYvyJ/5V+7LCNdkY4njS6MoNLLvMxF gHborwauUXu9bl8dj1DujCRenRqBa5WAuj5FPBAFWTYVTPBpJ2s9DhpFrc1wTLytpvSh CzNOR02HhHU2ElKnXTPJewvLyK+N6Ar6J/UhLhw3DTERU/Qr6tzyxjiEHqQ/+Ymas/Nj rrXa3Kyg1G12b+/5Kmt9LTJCz51icladJjVcpPcHHEAFJopL5krs5eUQDZfnkN09+TNU Sa51Oscge9KUYZRRZNa4w35d3qPlRL+2FGhWEabhk7MePetdlKWIEfOZZeDLozA6iZ/w irAw== X-Gm-Message-State: AOJu0YxBOj2epC912+CL+Oyz80BNFCyAUKHt4Qa6vvVGxfOthNttS33F FreGpzgQdLc7C2o+H5snCmck9apHgKk5Qbi6ECDLjgNkKLvAlUlQiW1C5vDZoEb6dSI= X-Gm-Gg: ASbGnctYeBETx7F/pB8dyBKMCdYGAfjZtORudKvoxJhw2CKsylmie86oLrJvKOAm9Sk Q6wL5NbPrSQgl6LDWJFCqZhlkAgVm9OKTocz/B9Szo/oqY2uoisI6uOeeqk5ahmwqYKLw8RWodS hceesLAy5eHmWHLtgeziFsxVE91Wy0sKYF2PDNozD1PZ29wiViIS+gO4OO6UWurvsyJ2RlJHAIa ZZscVITALwcTdTv/WlFA+LphLW0a5PCsVXOzKpBgYDGAEH6ZRnO+weiRIc313bJswpUA7L2sFnv PYzHv2obp1uMGjfIMY8tIaP4hTHI3tt8z33Ad2mVnVcpc6jiz0QYArif6RnkLx9T1ow4lAtA+yq Y2s4Z/S9CJkwBbswCa9IsyiKEgXy8MNN2yCM8C0YhGwWgOfs7GQ3JdrJkxyxmaqIWimrjxVlQpJ 3RtDj/yYKv86k= X-Google-Smtp-Source: AGHT+IGhsq9zSRESJBDIy2OiiKM1bVTFG6U4x3jHc5iycQNI9bx7qUJrdez6Sl0r++blgXVMg0SA3A== X-Received: by 2002:a05:6402:268a:b0:62a:a4f0:7e4f with SMTP id 4fb4d7f45d1cf-63c1f6c21e0mr33780942a12.29.1761563537074; Mon, 27 Oct 2025 04:12:17 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 19/35] target/mips: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:26 +0000 Message-ID: <20251027110344.2289945-20-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::532; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x532.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: 1761563913852154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for MIPS targets. We consider the exceptions NMI and EXT_INTERRUPT to be asynchronous interrupts rather than exceptions. Reviewed-by: Richard Henderson Acked-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/mips/tcg/system/tlb_helper.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/target/mips/tcg/system/tlb_helper.c b/target/mips/tcg/system/t= lb_helper.c index 1e8901556d6..566924b079e 100644 --- a/target/mips/tcg/system/tlb_helper.c +++ b/target/mips/tcg/system/tlb_helper.c @@ -18,6 +18,7 @@ */ #include "qemu/osdep.h" #include "qemu/bitops.h" +#include "qemu/plugin.h" =20 #include "cpu.h" #include "internal.h" @@ -1034,6 +1035,7 @@ void mips_cpu_do_interrupt(CPUState *cs) bool update_badinstr =3D 0; target_ulong offset; int cause =3D -1; + uint64_t last_pc =3D env->active_tc.PC; =20 if (qemu_loglevel_mask(CPU_LOG_INT) && cs->exception_index !=3D EXCP_EXT_INTERRUPT) { @@ -1052,6 +1054,7 @@ void mips_cpu_do_interrupt(CPUState *cs) cs->exception_index =3D EXCP_NONE; mips_semihosting(env); env->active_tc.PC +=3D env->error_code; + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); return; case EXCP_DSS: env->CP0_Debug |=3D 1 << CP0DB_DSS; @@ -1336,6 +1339,14 @@ void mips_cpu_do_interrupt(CPUState *cs) env->CP0_Status, env->CP0_Cause, env->CP0_BadVAddr, env->CP0_DEPC); } + switch (cs->exception_index) { + case EXCP_NMI: + case EXCP_EXT_INTERRUPT: + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, last_pc); + } cs->exception_index =3D EXCP_NONE; } =20 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563828; cv=none; d=zohomail.com; s=zohoarc; b=Wpdvu7iV+yGFVZG9QW0u9DJ1ZXBtjqEcQnkUdCS6aFvHPmWESXPCrvxzdSPKzVBPaw051eSSn0GvtutyacFfciaD0LdRjU5yFibACmR0PgGu9bJoUCkIpAZpr4BY0oI6r6JeSOpBhczHNQqwk3evZIfOeJjGe2MVyPfFrzdQ708= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563828; 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=0z28648v5upStp3goElPTngqMFpsAWHgbwxGLXuRw+Q=; b=E425vb1Np5CICOpkrgpX9ROKfqnPkG/eUKYgZW+uSuNX0nbuAU+Zy/b/Jji3r1IXlJhFvReR5k5ERKmeJv8mWnYnCXxRuDFujETPd1ooZP1g46mzDz5o2rRgqFByY2xt0C6MDerEQnnnh8Vhn46GvjJp0WlQDAvqprPFbbJof0M= 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 1761563828331999.5176279629392; Mon, 27 Oct 2025 04:17:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9f-0006ZE-29; Mon, 27 Oct 2025 07:12:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL9b-0006Qc-Qv for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:47 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9C-0007d3-B3 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:47 -0400 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-63e11cfb4a9so8163296a12.2 for ; Mon, 27 Oct 2025 04:12:18 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e86c6d7d3sm5603164a12.27.2025.10.27.04.12.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EBA425F8CD; Mon, 27 Oct 2025 11:03:45 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563536; x=1762168336; 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=0z28648v5upStp3goElPTngqMFpsAWHgbwxGLXuRw+Q=; b=xDt0juC3FhSkM2G8QWu34cACJfUUH5PywrVchPt08lXsbt33JjavVn05QGhvkzWjf2 bv4Ksgi0cuRoZBGeOUcSj32ckJ/OSAOQDX2KQFWTSrtGpjI3QnLV9nNNh5KXSJDX0M/1 mncLpmM3o5UuLEeJtB7p1sCNHVJGaKuDgEX7RqEhN7qXUw1qZJePliW3GggZqi/1oOce 2E4RNX6oJPrZNenEHSR8q8ECB7CWK3H/xLyWBNrmdFulxQ58hff5DhBG5XgexganfT8T qz4mXiIshX+Cks3wr1v6tSSkLfQYjzGLCtcH1CB0/CbvxoTzZRQ6BU//7zbnyPsF7eux FBLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563536; x=1762168336; 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=0z28648v5upStp3goElPTngqMFpsAWHgbwxGLXuRw+Q=; b=OwlUBKjZV44W7KvlD6cayT9N1D2t3atAbn0XeiG5EtRAneQZvXl5M3lPj6zyNpi5tX q4R27mnEOF0G5Y12XGhS68uQ4yL4awQq2kWFCElcxowHsRfrTHbB+qBgYihFpj7nWayD pzxFrC37gvOSylAEqJfuy6RPDj0m7AQNSTRo3dFeHweOobDg6Hv2CHGwRJhYi/4eA/Mk MYsVSV0KNH/YKQpJDXCdPOonAp2Z2jjrSeWmHplA99pf0VZ3fX0+u3NeLwWiLno8nVSx lMXBmBgfePpKi+oTXu8sKdbGu1JUoPx3DSPWMS/d7+mqmX10ltkyf3FS7YBVdzlXNAYs mU+Q== X-Gm-Message-State: AOJu0Yyf8PcRKjq36yoj/y+bWDIxzSHZU+I26k9QanAEhS+Utiox9b5y T5aEuY95tIT1ZWdYoQNo1/3Xwa+2JL4eXl87p+CkSB9rEQz7HdNKtsAso61yC6sx0e4= X-Gm-Gg: ASbGnctFsyP/VGQGulfzSSeELNDNPdSK2z4cZN/DFE9yt1yGfSKCxtkQ+EYd3rARgOg IVtNw09qqhUuuOy+diUm4X6iJ0/qy/3y5yaGIWVTGRsnPScESfdej3nDTgPlr+TqBlpn78xvNis RwuKde321+aa4B+43//Utujqpbw14uMRPSouh8CVg8T0LBNRMpPt4tcyKfMHiH3Ir4JOHPmAi44 62Pg3Y2NzltkYp5t158A8XNePZKLuRsrGvSlv2o4Yv1zY6awXt/J4r69Cx6ma9k58egnGPhEOA+ H5UNKXZAQTZS3D9zX6xDVdOhFqznqne0/Lr/4hvkPDLdpjFlgnLQaZeK9U4yHKCMiW7M2THAB5/ P3t+l+Hn/flRaIFmB4W1joA8Io8A8GsPvT2Vhs6JkUMiOmTBU50BkZFsnqEr44akFYHzmyvucUP gY X-Google-Smtp-Source: AGHT+IGtXcILpFjNKjHSXNgWZhHZOhoowu/Ap3Pe4wTW27bBFXzroSN+iJ+/t9zMqaCjNKOlNCR34g== X-Received: by 2002:a05:6402:1d53:b0:631:cc4f:2ff5 with SMTP id 4fb4d7f45d1cf-63e600e9980mr8555052a12.25.1761563535726; Mon, 27 Oct 2025 04:12:15 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 20/35] target/openrisc: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:27 +0000 Message-ID: <20251027110344.2289945-21-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52f; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52f.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: 1761563831897158500 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for OpenRISC targets. We treat anything other than resets, timer and device interrupts as exceptions. Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/openrisc/interrupt.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/target/openrisc/interrupt.c b/target/openrisc/interrupt.c index 486823094c8..d357aaa7da1 100644 --- a/target/openrisc/interrupt.c +++ b/target/openrisc/interrupt.c @@ -25,11 +25,13 @@ #ifndef CONFIG_USER_ONLY #include "hw/loader.h" #endif +#include "qemu/plugin.h" =20 void openrisc_cpu_do_interrupt(CPUState *cs) { CPUOpenRISCState *env =3D cpu_env(cs); int exception =3D cs->exception_index; + uint64_t last_pc =3D env->pc; =20 env->epcr =3D env->pc; =20 @@ -98,6 +100,19 @@ void openrisc_cpu_do_interrupt(CPUState *cs) cpu_abort(cs, "Unhandled exception 0x%x\n", exception); } =20 + switch (exception) { + case EXCP_RESET: + /* Resets are already exposed to plugins through a dedicated callb= ack */ + break; + case EXCP_TICK: + case EXCP_INT: + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, last_pc); + break; + } + cs->exception_index =3D -1; } =20 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563960; cv=none; d=zohomail.com; s=zohoarc; b=EtlaumsbGDfpLWB5VhGLaV67aFqbiTHigTE3njH7428/vvQyaTMm3QMhQyTHMPfj3dUEB4l3j5DBBEwEWXdrto3U+fSbhXKkKZqBl4lLZNEaxzNLg5gLg4vnO2Pqw+6BU5ciRWMjbwzqs71VWGgeDB0oV2RjTEAJCBqGgSYiyYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563960; 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=k1b44YiDbKt04f0+TC89kYzcy4R8hkZYmp3ahyMwERI=; b=GKLYaEVBj2FrUHOnC1bj8lq2/nGLGLGG3OAWgLnveDc37R1TwlMRNIVbIHfwJSTFfaMGyb171osXLN1MrXrMZzzCrZTTJ74bcp1Yt+rKV0m3fWgsxl3NWDaXpCvk6u9V7H9xQhGYvbTFw6hGH7OmDFBFssDBvIi1qcuzHmMbLCI= 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 1761563960100615.3470916126656; Mon, 27 Oct 2025 04:19:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9Y-0006GE-RR; Mon, 27 Oct 2025 07:12: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 1vDL9L-0005iZ-Jy for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:31 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL98-0007b7-HP for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:31 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b6d83bf1077so494851466b.3 for ; Mon, 27 Oct 2025 04:12:13 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853c5c0dsm730859166b.40.2025.10.27.04.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0F3D060D95; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563532; x=1762168332; 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=k1b44YiDbKt04f0+TC89kYzcy4R8hkZYmp3ahyMwERI=; b=cOR0NhyDC76wMgHiQ89Z/nud3Mk1b+/PN1J2RxxRBBDlSZngH839cQCVVoZRdX/SRR B/1cf5EWM5RzfOUztngSxjYGJSfA3xy91jkmqpnv+k3m58pBWafFSyJQC/1DHuQRILIx 3bv2sQ3TqQBiIinufiim+czLqvZ+puTfoEKvPHcVl2AXnAg7C5VWdCvoXBkQ9Zh2YpGT /9Yc5BJd2OZ/c7svzuAxvlRrTY0+khnYeeGZ0tdfLlpS4MX4z/0C2aHc+wqc2Zkzf/gY BHlezFcxeA40cRPW5WlsMoYRpJtg2FtPk/RVcWK/fYPzNFqHRFUkHGp6VWnN49i+uatT p1Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563532; x=1762168332; 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=k1b44YiDbKt04f0+TC89kYzcy4R8hkZYmp3ahyMwERI=; b=YsBkDuSj/mtR/biUCpD5iY9z9BHp9mXQbh7tuSoxbaP4TmQKFbwUusz5bB4Z8RN3zs zm90vfYcS5MezE+nc8/OcNe9crK+U1onCbvVTKaoZWsd6P9CsruUkfbgYdB+sPYZb14V Oo7pB6Vealz7Ba+fAWWH8y2zMn3ha8+aPOHbdNRW167HKY7VAJoaGvlWb2JCeot1VS6Y FJ2UFUXCNOoNgNeYW0Zv+W4u+96uO1w30uyyjteq8FjYcThTxU/SVol2K0BCSLMdK+tH eSG+9oIJVrLxxBh8ZqcA4Gwc1Bx2UrHq3Tf0xD940HuJqQxcCIxyxUM8ESTEJELk9oJB AzAw== X-Gm-Message-State: AOJu0YyeHfydkBWNjsrvy9nWUQJtuOBFzeQknWsf11XGEmTBHsQrUlkC VCIoU+K61eLjp4UVZNfMfdJT5je3R4B716JZDdBLfomlvWpUKKfHcyjtPowc91O8Vag= X-Gm-Gg: ASbGncuvHTAgToyr8GSp6GAfTudmJMOOavmiVtrOwjmUCatbioadRgK+qFhOqVqxuh1 j/dTByG6zioZvzSwqmTx5VTAyZGbW2IxiDX9vQjG5FoNICfocQuk2NN+7zV4GMUKa9uGoYoCoB3 xD0EuE0XJfw01ylx69tRtsuvzlE/wJ0JT6I+UgUqSeU0wt6hc6jjB2G5AjaEgx4EL+G9FGxkmCP +nedBXCJe6jshMHj65i/+NYQsPmL9k6Neh4K+cJ3unm0C/oISIlf8cXbpRu0zQTtrn5XBgWRhAw 8jJ1RdKVPrcsNMiSZz6H8xh3S9TeJ33nGeWHS81eeY/NpV4qeBdHCCYfIiEQCje6XHF8toaxd5A BeKe4RP1x3s02Ggh4zuOJx0v2FMr2ILXUxjTUQqwprqs8JSfFgmhzjQebs+drU5e6jZ/vOvyg6r Ks X-Google-Smtp-Source: AGHT+IFAV+BoEUvv3MUqiX7rf+U8AhNUN79l2kx30OOeXcgUQBGUQGIdMqmuudNqjd0S8ZvzpH+5Eg== X-Received: by 2002:a17:907:7e8e:b0:b41:4e72:309f with SMTP id a640c23a62f3a-b6473f4543fmr4224357866b.50.1761563531615; Mon, 27 Oct 2025 04:12:11 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 21/35] target/ppc: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:28 +0000 Message-ID: <20251027110344.2289945-22-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::631; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x631.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: 1761563963604158500 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for Power PC targets. Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/ppc/excp_helper.c | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index d8bca19fff5..6d05b865058 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -27,6 +27,7 @@ #include "internal.h" #include "helper_regs.h" #include "hw/ppc/ppc.h" +#include "qemu/plugin.h" =20 #include "trace.h" =20 @@ -404,11 +405,31 @@ static void powerpc_mcheck_checkstop(CPUPPCState *env) powerpc_checkstop(env, "machine check with MSR[ME]=3D0"); } =20 +static void powerpc_do_plugin_vcpu_interrupt_cb(CPUState *cs, int excp, + uint64_t from) +{ + switch (excp) { + case POWERPC_EXCP_NONE: + break; + case POWERPC_EXCP_FIT: + case POWERPC_EXCP_WDT: + case POWERPC_EXCP_PIT: + case POWERPC_EXCP_SMI: + case POWERPC_EXCP_PERFM: + case POWERPC_EXCP_THERM: + qemu_plugin_vcpu_interrupt_cb(cs, from); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, from); + } +} + static void powerpc_excp_40x(PowerPCCPU *cpu, int excp) { CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; int srr0 =3D SPR_SRR0, srr1 =3D SPR_SRR1; + uint64_t last_pc =3D env->nip; =20 /* new srr1 value excluding must-be-zero bits */ msr =3D env->msr & ~0x783f0000ULL; @@ -456,6 +477,7 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int excp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } env->spr[SPR_40x_ESR] =3D ESR_FP; @@ -510,12 +532,14 @@ static void powerpc_excp_40x(PowerPCCPU *cpu, int exc= p) env->spr[srr0] =3D env->nip; env->spr[srr1] =3D msr; powerpc_set_excp_state(cpu, vector, new_msr); + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } =20 static void powerpc_excp_6xx(PowerPCCPU *cpu, int excp) { CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; + uint64_t last_pc =3D env->nip; =20 /* new srr1 value excluding must-be-zero bits */ msr =3D env->msr & ~0x783f0000ULL; @@ -567,6 +591,7 @@ static void powerpc_excp_6xx(PowerPCCPU *cpu, int excp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } /* @@ -653,12 +678,14 @@ static void powerpc_excp_6xx(PowerPCCPU *cpu, int exc= p) env->spr[SPR_SRR0] =3D env->nip; env->spr[SPR_SRR1] =3D msr; powerpc_set_excp_state(cpu, vector, new_msr); + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } =20 static void powerpc_excp_7xx(PowerPCCPU *cpu, int excp) { CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; + uint64_t last_pc =3D env->nip; =20 /* new srr1 value excluding must-be-zero bits */ msr =3D env->msr & ~0x783f0000ULL; @@ -708,6 +735,7 @@ static void powerpc_excp_7xx(PowerPCCPU *cpu, int excp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } /* @@ -758,6 +786,7 @@ static void powerpc_excp_7xx(PowerPCCPU *cpu, int excp) if (lev =3D=3D 1 && cpu->vhyp) { cpu->vhyp_class->hypercall(cpu->vhyp, cpu); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_hostcall_cb(env_cpu(env), last_pc); return; } =20 @@ -803,12 +832,14 @@ static void powerpc_excp_7xx(PowerPCCPU *cpu, int exc= p) env->spr[SPR_SRR0] =3D env->nip; env->spr[SPR_SRR1] =3D msr; powerpc_set_excp_state(cpu, vector, new_msr); + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } =20 static void powerpc_excp_74xx(PowerPCCPU *cpu, int excp) { CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; + uint64_t last_pc =3D env->nip; =20 /* new srr1 value excluding must-be-zero bits */ msr =3D env->msr & ~0x783f0000ULL; @@ -858,6 +889,7 @@ static void powerpc_excp_74xx(PowerPCCPU *cpu, int excp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } /* @@ -908,6 +940,7 @@ static void powerpc_excp_74xx(PowerPCCPU *cpu, int excp) if (lev =3D=3D 1 && cpu->vhyp) { cpu->vhyp_class->hypercall(cpu->vhyp, cpu); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_hostcall_cb(env_cpu(env), last_pc); return; } =20 @@ -947,6 +980,7 @@ static void powerpc_excp_74xx(PowerPCCPU *cpu, int excp) env->spr[SPR_SRR0] =3D env->nip; env->spr[SPR_SRR1] =3D msr; powerpc_set_excp_state(cpu, vector, new_msr); + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } =20 static void powerpc_excp_ppe42(PowerPCCPU *cpu, int excp) @@ -1073,6 +1107,7 @@ static void powerpc_excp_booke(PowerPCCPU *cpu, int e= xcp) CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; int srr0 =3D SPR_SRR0, srr1 =3D SPR_SRR1; + uint64_t last_pc =3D env->nip; =20 /* * Book E does not play games with certain bits of xSRR1 being MSR save @@ -1144,6 +1179,7 @@ static void powerpc_excp_booke(PowerPCCPU *cpu, int e= xcp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } /* @@ -1252,6 +1288,7 @@ static void powerpc_excp_booke(PowerPCCPU *cpu, int e= xcp) env->spr[srr0] =3D env->nip; env->spr[srr1] =3D msr; powerpc_set_excp_state(cpu, vector, new_msr); + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } =20 /* @@ -1373,6 +1410,7 @@ static void powerpc_excp_books(PowerPCCPU *cpu, int e= xcp) CPUPPCState *env =3D &cpu->env; target_ulong msr, new_msr, vector; int srr0 =3D SPR_SRR0, srr1 =3D SPR_SRR1, lev =3D -1; + uint64_t last_pc =3D env->nip; =20 /* new srr1 value excluding must-be-zero bits */ msr =3D env->msr & ~0x783f0000ULL; @@ -1472,6 +1510,7 @@ static void powerpc_excp_books(PowerPCCPU *cpu, int e= xcp) if (!FIELD_EX64_FE(env->msr) || !FIELD_EX64(env->msr, MSR, FP)= ) { trace_ppc_excp_fp_ignore(); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_exception_cb(env_cpu(env), last_pc); return; } /* @@ -1516,6 +1555,7 @@ static void powerpc_excp_books(PowerPCCPU *cpu, int e= xcp) if (lev =3D=3D 1 && books_vhyp_handles_hcall(cpu)) { cpu->vhyp_class->hypercall(cpu->vhyp, cpu); powerpc_reset_excp_state(cpu); + qemu_plugin_vcpu_hostcall_cb(env_cpu(env), last_pc); return; } if (env->insns_flags2 & PPC2_ISA310) { @@ -1662,6 +1702,7 @@ static void powerpc_excp_books(PowerPCCPU *cpu, int e= xcp) ppc_excp_apply_ail(cpu, excp, msr, &new_msr, &vector); powerpc_set_excp_state(cpu, vector, new_msr); } + powerpc_do_plugin_vcpu_interrupt_cb(env_cpu(env), excp, last_pc); } #else static inline void powerpc_excp_books(PowerPCCPU *cpu, int excp) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563682; cv=none; d=zohomail.com; s=zohoarc; b=i/It9G0suhNw9rEVeJqZFZ9qZl2oMdiytOk1XfoD391zr6pUCf+yFkGcZEb4iMd7PyX7DwUZMMI/JNY4pnLJAXc1EEnD+eRrRgYT4vwNKY+3d5eXkmmWm7DzyhEb005FDJL9QmAdqQhyOHcTGQaPF2ScjPxXcJg6vdSnsC6ctzo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563682; 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=WOQRbM60FQe2Gg4TBOEVmKU1rzcMDNuOtCzGhYSu6Hg=; b=QMzah9k8l57LPNk405klcD2KwECLfr7EgrIFMccovwaKQDWGhndyEKR2qwn7VbZI94LdNSs+YrLPAyBsddQHOLEsBhT5wDyYguupelROO9SAl/BX6visRRGkupu08gdJIa2e8xHvPPbIICKueBXui9PiQK1v3KdrnXg1NyAmT58= 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 1761563682540318.3108294299194; Mon, 27 Oct 2025 04:14:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9S-0005wN-8j; Mon, 27 Oct 2025 07:12: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 1vDL9J-0005fw-BU for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:29 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL98-0007bS-Iu for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:29 -0400 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-63c0eb94ac3so8012794a12.2 for ; Mon, 27 Oct 2025 04:12:15 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efd0fabsm5738233a12.34.2025.10.27.04.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:09 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 28AE360DA5; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563532; x=1762168332; 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=WOQRbM60FQe2Gg4TBOEVmKU1rzcMDNuOtCzGhYSu6Hg=; b=D9yrHUZozII8lBJ54xpM6x0256JhtSKHpgrhOfN/mlXPCutadiB27RBOUtWWKt6FXF SkJztFa+qGuw9iSwxXNU4Vv/IaXjGZ6uSgkggRi5zgs233QdICBsYKSCXTNt6R0aqfro RQGEzLcCFOa75pg01vslor0aR6MVeIvWZnucUVrljrFr30WVnZgYELVdoHKh57gcI9WH qkJRk/XzTn5IZ0DfCxkwlQLh7kzBrqVeiOK1wWEvqjTx4qkOqDoEri+GSGb5Ul9RT00H FuryH/3Y17XyRqj3P3hnNzfIrSJGbnHg0f+cuWgTvsjnFkXTCl+zNdJDNM0KuEtr1A0a NCRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563532; x=1762168332; 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=WOQRbM60FQe2Gg4TBOEVmKU1rzcMDNuOtCzGhYSu6Hg=; b=oDBf0WHCG5MRgNDd5Z0AZqITB2gDWk8Je+nosep2Roe5i5yqXO2iTAQ0mfplsVPv2h CkTDTaV4Y6t5J5WXRBMqucNd6FDpEKqNGmNoCQMlQyWL/4YwO9E1xDKHcASH3qSyYmsb syBzqT3OJtWFIyP/KmjS0lVf66lBlTFn9kNPe8DfuzJfU8YNEMes+wecclfnQBWFzPoR mbQX48US6yd7PhJAv7s4ZlTO5H2Sof9k0ym68v0uW301TnGObMEnyCcW7omBlr+hfLLl LWDboAUbXhM+BvTLoOCYSXRMeAEJZ/3VB1JjgRKjDjgHUmcFYBnd7YFpXaxNDGGhS+mi Ooxw== X-Gm-Message-State: AOJu0YxctUatYLl+Bd6WHHP4ID6ASZoPYMA96e62U0RtQg6XoqCESAgq x5XliTj6EwK8WNdOK+pzuiHJFAuu04TgnMsxKHJ3YmOaS5h9N7CDIxHDgEgJbRqn8qY= X-Gm-Gg: ASbGnctB5RmHgLSrDvvANSm+ZsvTzHr4oxRT6LpZ/2x0YnFksTetLojZimiNwDhYcCO zA0lF5zGGDuNMF0iYhMjPgILt8Af3aUb/4/2e6zE7djzc6h28a1jC+dr6iDQl//LlA7IyJlDmm5 QUqB6cPTrcxvoNF38u12eeeUwGp0IPVQJvYd61vE4z+JTpQBzlKrBf6/SZESmgI3s4c7Ys5pGgo D8uZUN/FdT0ETsKer/n00y4GYcNziDPnf7GWejIu8Vdhgo3eekbjCVRvxkIEzsj2dEUUsjnqrod LzjuYrAuG0iwHo1PLOPd1mkyHZE4nhxgyA68Q4p5VZahBfDcG38bX82DcXGSWpgD67YdScBodRu 9xpnxfbw3qk29rx/YD2xnkfUcdW0WsSEXfWWNTjl7UNbKfDBQ/VrBur3cW4okJozOwtK8WTThAY kbb2T6ty292ys= X-Google-Smtp-Source: AGHT+IH4PDPfoknGAMNh6qUlBg4iUvE8gsQC5JitQIK3kaMz6NHG7UP3emaCgcbIBB99Qsiw0VvCFg== X-Received: by 2002:a05:6402:34c5:b0:63b:f5cb:e1fa with SMTP id 4fb4d7f45d1cf-63c1f64fd4emr33960935a12.11.1761563532196; Mon, 27 Oct 2025 04:12:12 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 22/35] target/riscv: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:29 +0000 Message-ID: <20251027110344.2289945-23-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52a; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52a.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: 1761563684716154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for RISC-V targets. Reviewed-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/riscv/cpu_helper.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 360db133e21..c4fb68b5de8 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -36,6 +36,7 @@ #include "cpu_bits.h" #include "debug.h" #include "pmp.h" +#include "qemu/plugin.h" =20 int riscv_env_mmu_index(CPURISCVState *env, bool ifetch) { @@ -2175,6 +2176,7 @@ void riscv_cpu_do_interrupt(CPUState *cs) uint64_t hdeleg =3D async ? env->hideleg : env->hedeleg; const bool prev_virt =3D env->virt_enabled; const target_ulong prev_priv =3D env->priv; + uint64_t last_pc =3D env->pc; target_ulong tval =3D 0; target_ulong tinst =3D 0; target_ulong htval =3D 0; @@ -2197,6 +2199,7 @@ void riscv_cpu_do_interrupt(CPUState *cs) case RISCV_EXCP_SEMIHOST: do_common_semihosting(cs); env->pc +=3D 4; + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); return; #endif case RISCV_EXCP_LOAD_GUEST_ACCESS_FAULT: @@ -2466,6 +2469,12 @@ void riscv_cpu_do_interrupt(CPUState *cs) prev_priv, prev_virt); } =20 + if (async) { + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + } else { + qemu_plugin_vcpu_exception_cb(cs, last_pc); + } + /* * Interrupt/exception/trap delivery is asynchronous event and as per * zicfilp spec CPU should clear up the ELP state. No harm in clearing --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563464; cv=none; d=zohomail.com; s=zohoarc; b=oEQbtsWuJ+4PuPDgyf2vwbrRhbMY+TJKnyMBpBaNRHjO9fEsYGkbRTFaWQ6VFEsQzZC7T0ldLo+UcORueK7cEsdgqFWV+x3mwef5U77bFHypo6Hx9zl/JQE6VP6MSxW1GX6HNbbIOC7VpviIIsk28Nd0pPrp5XLTAbi6gJcAL68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563464; 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=ymeqUzifJYCXHGipGjsRVVplu1iIw931E0lOrR6rY10=; b=Gniz7qMej29RP/OTEhhVtFX5H5nHSL5TQLRVa1NWmsPwtVKKhLlBxFdpXLLxXx1IPuf4g7qD73lefiiw5hZu8SxM1PyBBvO8p+EU2MH40OXeooLiGVOOaRh7wBurSvVEfFreId30zE2f+pP5YxDlZ5mQqXDA+l6rxbK1z4mQDzM= 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 1761563464409303.74820703047214; Mon, 27 Oct 2025 04:11:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2Y-0001ow-GG; Mon, 27 Oct 2025 07:05:30 -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 1vDL2W-0001nr-Mg for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:28 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1a-0005hf-KJ for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:28 -0400 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-b6d2f5c0e8eso926776066b.3 for ; Mon, 27 Oct 2025 04:04:02 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d85308039sm739640366b.8.2025.10.27.04.03.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3F36460DF5; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563040; x=1762167840; 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=ymeqUzifJYCXHGipGjsRVVplu1iIw931E0lOrR6rY10=; b=bsWnSyQ1z0i4umVYN4R8+CVB/BBPzC2cd5w7h2lqHb9TYHNa9SBZOFZMy+ThkliwDe yqSEzdvS5lzJmmdm8unRx+X8SIusJvIu0fJEO8Uu4K1e3wfIxo9ktCrGyMI5qvuXvvUj KAmTHfIxXZsd4UROnv2F2oZ3+YSE/L7fJNetrjMzsylQmDJ0M0OMSH3q1v4TYk4VJrVo fqz9D7lHk+mfpfyBIhIy4EihYZrdIXkGfqp+aoJtBABh6RzX6iusMhIcexJiL29wHBV9 Y+uIDZ4qcGP9KUgoPdbRQaqhkPLv5s0BRl7pc0lFevQxVCiMo4NwBaW7ziPgSrYDtoJh 92Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563040; x=1762167840; 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=ymeqUzifJYCXHGipGjsRVVplu1iIw931E0lOrR6rY10=; b=JEP1MIsa8x/6q14RuFvsbbEJLaiYz+oYJY3mzbj6oHNvN9SgAcFnWtk9IZM8bgYoo+ 9HVrGrLNGvHUbdiV/ksSfutzNAyYi3UP96/eUj1tWQqwRf+7Ffq3yQn2XiymPuMPJNQd mcvWcA/xg7Usnkda79LZltt2juuncKWiBylfCcNfnSrFXI3XTkU3dVl8k34HKKK3FIsC GD84SGOpbQKE023Sei+LXX465pa2ECUVZYKxOuGZXtowf/hKlE0qKSEJwHI7olj0urvu GaCcIwiruIDgSfOnZ3l/mUJhJC7ueT+kB9BAyK8VC1rk8TftykO8DQ3yDhQ6pkk2wCf0 Mj6Q== X-Gm-Message-State: AOJu0Yz9crMlm2OehCsFSRl9gu+vBMJnyhjdX8rBBknIAmuZlKKrDaxj tUIPWJaCJoxMqm9c97VQ+bF52ZJE15F0rcDuRN3ZtDKdE1Ab2J7JXYRgzzIbTMF0wTI= X-Gm-Gg: ASbGncvNDCy0n9cPACxJS6JpCpllWZrqo4yMPngx0jskwzO3zPDzYp6Mp6y0zBNyctg AzCVVEUaCpYB50BsWJ8xSNjMD/VzmsLFBBD7RciY2jeLu+PvuchWRT0U97xiG2QoRb19aL/KA7F W9iKdW3wPWzVio5ubReoShExe7YHlKbes058nymRPNGLr3Zr2GQRSkS5YYAHEq4aZr7Z+CqTD1y JnOA8p4LwbKVQIv8/r3Gsxq1SvN8yOTgCLfzIuaDk8sS2+FPFEaz9DUvq6Xx9XX2e1+Cj9tfrnC pUNbwzCTUSQFUBXp8HiTsvyLitDsv38izzy492D6ggkWSS4Y+Vo5DntQw/AhM1VVcfOkPkcSrro ciVV/K2ne/APEwgftbmZ8c89VOqYRUWZOnpFFIWMg10hnwzwj1pGbJaaYNGtyzOMaUkSn9iEsN4 p0 X-Google-Smtp-Source: AGHT+IGwBLdUw78AXtb9SeJmhJcRO7BCkisaUehvTB2x7aUlYYyPvB8WSu0bbjZdAT6ZQkjP3EMy5g== X-Received: by 2002:a17:907:1c28:b0:b3e:8252:cd47 with SMTP id a640c23a62f3a-b6d51bfb132mr1709295166b.31.1761563039706; Mon, 27 Oct 2025 04:03:59 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 23/35] target/rx: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:30 +0000 Message-ID: <20251027110344.2289945-24-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62f; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62f.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: 1761563465818154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for Renesas Xtreme targets. Reviewed-by: Richard Henderson Reviewed-by: Yoshinori Sato Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/rx/helper.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/target/rx/helper.c b/target/rx/helper.c index 41c9606fd1d..ef47e32add8 100644 --- a/target/rx/helper.c +++ b/target/rx/helper.c @@ -22,6 +22,7 @@ #include "exec/log.h" #include "accel/tcg/cpu-ldst.h" #include "hw/irq.h" +#include "qemu/plugin.h" =20 void rx_cpu_unpack_psw(CPURXState *env, uint32_t psw, int rte) { @@ -46,6 +47,7 @@ void rx_cpu_do_interrupt(CPUState *cs) CPURXState *env =3D cpu_env(cs); int do_irq =3D cpu_test_interrupt(cs, INT_FLAGS); uint32_t save_psw; + uint64_t last_pc =3D env->pc; =20 env->in_sleep =3D 0; =20 @@ -65,6 +67,7 @@ void rx_cpu_do_interrupt(CPUState *cs) env->psw_ipl =3D 15; cpu_reset_interrupt(cs, CPU_INTERRUPT_FIR); qemu_set_irq(env->ack, env->ack_irq); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); qemu_log_mask(CPU_LOG_INT, "fast interrupt raised\n"); } else if (do_irq & CPU_INTERRUPT_HARD) { env->isp -=3D 4; @@ -75,6 +78,7 @@ void rx_cpu_do_interrupt(CPUState *cs) env->psw_ipl =3D env->ack_ipl; cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD); qemu_set_irq(env->ack, env->ack_irq); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); qemu_log_mask(CPU_LOG_INT, "interrupt 0x%02x raised\n", env->ack_irq); } @@ -92,6 +96,14 @@ void rx_cpu_do_interrupt(CPUState *cs) } else { env->pc =3D cpu_ldl_data(env, env->intb + (vec & 0xff) * 4); } + + if (vec =3D=3D 30) { + /* Non-maskable interrupt */ + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); + } else { + qemu_plugin_vcpu_exception_cb(cs, last_pc); + } + switch (vec) { case 20: expname =3D "privilege violation"; --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563601; cv=none; d=zohomail.com; s=zohoarc; b=WSGR0krduoR31H5LAC7NJeFqS81JMdZ0eiu9ETKlLrtDt5dz5eh2s2zH7uQf0WK5zIqIP+REqXKgshk9XscSTL60lYW4wrnso+U1ROdu6SerzrCv949hbrzQevfkn3ECI2c0GsTKLZUv6jPxzU5IJZ5E7Vxbe3xVAcrqlQsG2jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563601; 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=sVtx82IqB8qzVQiPKkt82SS7lmyo0Iaesq+DA5MG3VA=; b=IHt1i8zhcNUU/maRXUEDbUuvis+LIL+sSZ6wMdy774HsIwy9HVXzHpEJ4JCuq11aPHMnDYa+W7/WL75rrkTak5yneWiMFzdxkao3JHYz4nsT0A1X+cRGSgzGPOYWuQdOzuVrUc0j9w0X9JSb5QhevFkuDIA9l0fSVoAHIibMHS8= 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 1761563601749425.98150694165145; Mon, 27 Oct 2025 04:13:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9T-0005zw-MV; Mon, 27 Oct 2025 07:12: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 1vDL9F-0005WL-Iq for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:26 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL95-0007ag-6p for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:25 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-63c21467e5bso499162a12.0 for ; Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7efb818esm5802190a12.24.2025.10.27.04.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 5851660E7B; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563531; x=1762168331; 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=sVtx82IqB8qzVQiPKkt82SS7lmyo0Iaesq+DA5MG3VA=; b=dBtxloko77tJdQBnLGiOGwxo95WR7gd0CJ8AjQmz65aZL1o67cgsV1R2crtBmKREEv qU36vmGvxWgYGIzhLdxHt/3f8SpzTzRTEhPz+3Mm+fwTIuc7gdY72fcjiDaxiRgVQw+Y Q291/7oDbpcS8hI2Jf9Oa8m57Kx1ydf7u79BI+cCZJz3z1AJZTuWpIDXev08z2EkTeq9 4ZoI3NDr+HbPNGj55QmTYG5hRlMw3K284oPIWM3dIKxbmet5pu4PrASwjOjM5JI7DqsG L/UcxaX6rxw5TlE+MVD4qEvwsC6CITNSiN+1g2UM0bJnF/8ygOgDsed0F9lVOU8txLqz 6W6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563531; x=1762168331; 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=sVtx82IqB8qzVQiPKkt82SS7lmyo0Iaesq+DA5MG3VA=; b=X8ctgdGmTgxb/Fy15NOYJ2RqkHNXP5+IufSAPXJt0X9ZW5lOF0kxOD3kvabcP2Ewju g4gK831m4cPcJ8F56Hkqf/ZHQanLwuEjis8K7TVG1B75WguMNt/4OEL90K5xva0GW/Bw w7HIfLNd4ltrk7gOPaRWfRmoWle0u9pCYN8vUii1cWS1M9ssquJeHBle3EuP77vjeuDt 9kg++cFTGLQ51Khy35E5mh8TC7qLwE5qy/blFoYWf6a1ASwxc7mKCpWDKIbGyQ/LcP04 fNZ1ughzq2dZTXoN8ZDJAPjZaHKhyz0VXJ8Br1abT5o4BeL3WZdvHS7iRmg4/ezoJ0ma XmjQ== X-Gm-Message-State: AOJu0Yxzd5RHGlIFrdRF0pS3rV+7K6feqnDQNpO3puMYmcr4lhkxrBXq LywTpVoku62oM1VWEMHgbDzTMtaLT+z4FitAV6dz5OcZZUq3/j64ydJ6Uy5dYXLEG0g= X-Gm-Gg: ASbGncuX2oxCzefs1lFO97rFk6Dy1Oc9jDB0lrfqY0yRw1yUexk3VZwrljW6XMbeDpD 6iZg55zf7E1bytb3d4AsFafgq+V+PSkyf9RozcawkE1l5SyBDh8ZR1pDs7QKV9pp6DrptKhT7ha 6tqSSgRLnSn3ZvSX20vy0BWmqKSrUIqWnfq3lXbQETWVkpEUcdgd39H8actKjiABS4fLqPx3HFw yuaUMc54gYW3SH0WPhy7hAKZMSHqIZTiVip4Q3W2UoE+P7HdylPuujsFvW1DBxSdlSLDarKOMoN GajuiGxu9YkQFIYJ9swniwvZoRYp8W8NQSkO1j+gpHHMpSsS4OiqISZe7fGzf9gGBmq0QuQPaoS bLq5KHrlsrcWgTUGpysF2NZHjkoOis5uR653XeDEIch5EgsvQ7uk9VEL8ruXsppbFGPqOQAAwA5 qxecsWcVnnQgM= X-Google-Smtp-Source: AGHT+IEGqI7c2U07bxg2uAm6b33YE7flAC6uooFc7mct1Dclg/qMpPcTcoi/nCsPRkV1rI2TUSCRzg== X-Received: by 2002:a05:6402:909:b0:639:f7b5:9c2d with SMTP id 4fb4d7f45d1cf-63c1f641924mr34968200a12.9.1761563530678; Mon, 27 Oct 2025 04:12:10 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 24/35] target/s390x: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:31 +0000 Message-ID: <20251027110344.2289945-25-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52e; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52e.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: 1761563603701154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for IBM System/390 targets. We treat "program interrupts" and service calls as exceptions. We treat external and io "exceptions" as well as resets as interrupts. Acked-by: David Hildenbrand Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/s390x/tcg/excp_helper.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/s390x/tcg/excp_helper.c b/target/s390x/tcg/excp_helper.c index 0ae4e266065..c6641280bc6 100644 --- a/target/s390x/tcg/excp_helper.c +++ b/target/s390x/tcg/excp_helper.c @@ -35,6 +35,7 @@ #include "hw/s390x/s390_flic.h" #include "hw/boards.h" #endif +#include "qemu/plugin.h" =20 G_NORETURN void tcg_s390_program_interrupt(CPUS390XState *env, uint32_t code, uintptr_t ra) @@ -502,6 +503,7 @@ void s390_cpu_do_interrupt(CPUState *cs) S390CPU *cpu =3D S390_CPU(cs); CPUS390XState *env =3D &cpu->env; bool stopped =3D false; + uint64_t last_pc =3D cpu->env.psw.addr; =20 qemu_log_mask(CPU_LOG_INT, "%s: %d at psw=3D%" PRIx64 ":%" PRIx64 "\n", __func__, cs->exception_index, env->psw.mask, env->psw.a= ddr); @@ -531,21 +533,27 @@ try_deliver: switch (cs->exception_index) { case EXCP_PGM: do_program_interrupt(env); + qemu_plugin_vcpu_exception_cb(cs, last_pc); break; case EXCP_SVC: do_svc_interrupt(env); + qemu_plugin_vcpu_exception_cb(cs, last_pc); break; case EXCP_EXT: do_ext_interrupt(env); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); break; case EXCP_IO: do_io_interrupt(env); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); break; case EXCP_MCHK: do_mchk_interrupt(env); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); break; case EXCP_RESTART: do_restart_interrupt(env); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); break; case EXCP_STOP: do_stop_interrupt(env); --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563627; cv=none; d=zohomail.com; s=zohoarc; b=EoYOJs7Rs03TDMytkxjn766xp/SRue97nRsCcXmz+3Z5YZnQzzKZKjzQ9tG9r2GrCFM/Y6bMEK9dGAsxZVnMQpGZCXeGN32QE8W7FYiqrAqe0/gdRM7DyyQchj7gae8psIBGQUiH4MeqgEp7meD0LuMI2ICmkALWGKkFrakhfoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563627; 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=99wY+4qgow5/XXKtFXSxRzQjqRZizwoEw9ERNRXbkf0=; b=ZGxKKZhns82pB0YwQGCQXCjWAXN7oiyJEaEUPUS3hgeV/moWoRqSSe55aaCZjQBFjZC7K2IL+KzuOIN/TgPuA0t2bhRQmA0EUC5uu1EuAv0ScKpnTVlErP2IeyG/8xHvpec8Qm2T9tSmbyH6zYi+C2iwdPJh/42LeBLBcdPJF2s= 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 1761563627124618.7259347812202; Mon, 27 Oct 2025 04:13:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9j-0006hm-Jx; Mon, 27 Oct 2025 07:12:56 -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 1vDL9c-0006VH-VL for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:49 -0400 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9D-0007cA-AZ for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:48 -0400 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-63c09ff13aeso7714026a12.0 for ; Mon, 27 Oct 2025 04:12:16 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853386casm723218466b.15.2025.10.27.04.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6FF7F60F51; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563534; x=1762168334; 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=99wY+4qgow5/XXKtFXSxRzQjqRZizwoEw9ERNRXbkf0=; b=y1s9NCkigk50JZDbj1DlK2PjS3XKZabSJqRNhbKz7LQrbY1oFI/VPBr2Y3MpI9E4mL wu9GvMvtZvpVONga522a3tqFAaLckYygoe10mN8ZYUnjhovDKVs1sR7J/VUagYAUm+FX L0fugHo51Q7uabBN4aYDzMGjIm48GhyzeSfXuI49v2KficbK8M4h3luhmmMBbySTUdqJ FKxlPkcqV467fAd+lXSFdpy3DNOmzSXFGAWYl8dj5T6OpkNg9QPgePPOBocdbRRcF0j1 Ge4PsFCwPFp2N+5Z+L7r/ozuej3q4RUJXMezvG9p3r6mWr0sw1KD0h1f07EjNYyh4vvg 1Svw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563534; x=1762168334; 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=99wY+4qgow5/XXKtFXSxRzQjqRZizwoEw9ERNRXbkf0=; b=mHiLlo8UZIkCVBlTAuiSUzdnrDIZeOfsNK/SQyCNnGHRfXe4qfsZqhb7OSGIektits 9nhZTsXYr6gw75j/apdGAzV5uOO2tK6cbch9JIC1xY1kBmVDFh00mCl7UrjhE1tn0Der 7oH/U7+qNsuJxY26z433/o2u3wbkO9tkjEEh46AB3ujeGmxlEF7TH/Mm9HOMoO5NL5uo xLleDKm7j9bEaTis/gwTOopOcIbNMl6pvlpkWdl8FywDVFvZT8iDsBeRmmOoxKPIu6fg DwWI43Pf+rFHuLqoBpyv/A8928tpq/C7i29lME+1Teb+CdMqqaWR4/CLj4VkD2WFuqrn MTcQ== X-Gm-Message-State: AOJu0YxzKNbzCYwpQF86A7YYMxan4gDk2gmNHZ7vBVssNcfYvJA4NWLc 1FMY1KHeeqhxL0uVS6hvlzt4/JOXpuCgkbQWIwJ6S153H00i+DdslFYzJzkSRpKYGL8= X-Gm-Gg: ASbGnct3PHSwdYvuxDaA1xA1UuvXwywNhj3vseXpwS2ADjN7ijGVDdlqzWLd/MoIxuX H86ZZ/FH2LNybr0yCFK1v/gO/0sejc+fv4OsHV39dbHfOGOiXKI57ronCy4rzdCzp4OVZQ4ljch XT6OgL2scvlMEg0qJdpkPer7jQh1tlAaMCTZQj9kzHQlWMuDDizpSw+5l8bLfVTCy3oTgTgrEWT cJPtNrBZE/Dkox+eKlf0UBCNHoc6APBhGD5Eo3n8XZ0JX9Nec16/pP7J/fDI/0+XAsLMSt5x8/p atll3kZ3ipqLhuNYlb1/OqSOVGLg9Dww0npPH4UvwAmgWDGVRLW6xRTdUdXiJYUnE4HsaDnsRAD sQ6U5ftyx1TTPIA/dE/38oVaHaWmim1zcvohN8BJMHo6MG9DG1drh3GynEkxZXhugVo59djDnwu nj X-Google-Smtp-Source: AGHT+IFAsNEZ+YI0fTj3+OVyMqueS8NODeiYMhkciUB7twUSrCCRe95Tk7Kfy7cqzVEbD+wz6+XjSg== X-Received: by 2002:a17:906:fe4b:b0:b0b:f228:25a with SMTP id a640c23a62f3a-b6475a0347bmr3777669866b.64.1761563534193; Mon, 27 Oct 2025 04:12:14 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 25/35] target/sh4: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:32 +0000 Message-ID: <20251027110344.2289945-26-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::52d; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52d.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: 1761563630008154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for SuperH targets. Reviewed-by: Richard Henderson Reviewed-by: Yoshinori Sato Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/sh4/helper.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/sh4/helper.c b/target/sh4/helper.c index 3b18a320b86..5d6295618f5 100644 --- a/target/sh4/helper.c +++ b/target/sh4/helper.c @@ -24,6 +24,7 @@ #include "exec/page-protection.h" #include "exec/target_page.h" #include "exec/log.h" +#include "qemu/plugin.h" =20 #if !defined(CONFIG_USER_ONLY) #include "hw/sh4/sh_intc.h" @@ -60,6 +61,7 @@ void superh_cpu_do_interrupt(CPUState *cs) CPUSH4State *env =3D cpu_env(cs); int do_irq =3D cpu_test_interrupt(cs, CPU_INTERRUPT_HARD); int do_exp, irq_vector =3D cs->exception_index; + uint64_t last_pc =3D env->pc; =20 /* prioritize exceptions over interrupts */ =20 @@ -176,12 +178,14 @@ void superh_cpu_do_interrupt(CPUState *cs) env->pc =3D env->vbr + 0x100; break; } + qemu_plugin_vcpu_exception_cb(cs, last_pc); return; } =20 if (do_irq) { env->intevt =3D irq_vector; env->pc =3D env->vbr + 0x600; + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); return; } } --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563467; cv=none; d=zohomail.com; s=zohoarc; b=ItCAS2tOgeHaVyL3U4Jc7+YFTzO04GEQCghgiEhJMki918QCxTmVakABuLed+fXONLiKv3bMt6A5r5jDHTM32fEB5ScMClN/y2pa34pzwYDoGpGA42ZBb0hwPudIcIfszWdV7uUxyj0uplcN8YO+INaC1ZoqJN0ID61sofdpceU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563467; 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=GmAk21K9OGPdvmtO9tCUzb+x/HUizeGKzsfhOfuchWo=; b=QhTXG9tL+SkWNQexSDs8OyXJNvvvWXCBuaW0lz6e2TH2sB0qm4n5eAOQa95DCCMSJkLQPiCWJPHe7aVvjfJ2g9QzNRz8lbJQzRXayoeTdv3okcZQ8Bk/hMe8OjyydSjfRuCFmGbB5vOpzJqMrSRdKKtDY+uxvCjWnZHQi+WD4rg= 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 1761563467751106.29067819877775; Mon, 27 Oct 2025 04:11:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL22-00016E-Ky; Mon, 27 Oct 2025 07:04:58 -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 1vDL1d-0000iU-4B for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:34 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1O-0005jA-T4 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:32 -0400 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-b6d855ca585so469905066b.0 for ; Mon, 27 Oct 2025 04:04:05 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d854395absm730117966b.62.2025.10.27.04.03.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 891FE60F68; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563044; x=1762167844; 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=GmAk21K9OGPdvmtO9tCUzb+x/HUizeGKzsfhOfuchWo=; b=mOhP9aUFsO4eYgckLXEVb7cZgx11BuPyaHmswlXCVJg4uTeVOCqog17x9LuCsCUZbz cbg6bqVGmn7uW0lP0PlRgQM/oarCUsuNXt5rFUuZp//ayqIEDUwY4Q8uzH+LSvKOxH/l I/K9r4H01gp4FCjFtkR/Ap98KZgVMzC9+KBH0LismLkf8lBKm3M6eJ76tl2dYQ4GOGl+ 2GYqf6t77DCX2wVkxxW4VrtmIyPoH9UT3tDNB+9D1GZF+ByUnCI38gzm3iMbggwOApua km/n3LuvOkNc1ZMBUrrTfs2yYjeSGgYyqXXyVZ3M+lnG3BafKuCYTPghjDVJJ8eLiMjk x2gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563044; x=1762167844; 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=GmAk21K9OGPdvmtO9tCUzb+x/HUizeGKzsfhOfuchWo=; b=NjNcEVyngpw2cycf8CclDyXoD6vKZaWCLP1XvpWFc0cNLULCPrsIb4Yfwvob+G0aKI ajK2EEdPJ1lyUWz1PgogZH7/tXe8Hz1SQUoPtVMPTBZL1W01nMIpP2VsJSqAadZpfbbc 3lLRz0IoUr81HgG/4eORLHWS1505g44I2Ik+6JeIMqz5FQvsvQODyXFGH46CxuiEZjuV j52hoABs1czD+AE6wDq1Fr5OIQr8kpGelYLa8hgLofr1wVRogXpzo0xHrRs5l6nUf39S 1VNNCx5FvXN6GsTkl9LvF151O7mPJ44tGb8JA595Qhl3qHGwshx1KNsJAfd93iqI19AE 2Y6A== X-Gm-Message-State: AOJu0YydbLJIEoBOAWdj5EG27qa9iaDOFft3CY0lchRP7Ck7uSW9MzYW 9obnBbW9fruNtCokWYOTKLLw7FuHgKinzcI/q2IZqdvhcjhsE8ncVlmCirUmasDbRGw= X-Gm-Gg: ASbGncu9UXZGNQKh3nJlR76sZBoCi6h2yFfd91Q9+u8Z73+wy9yCMyYZeaBdhaG5yrS qVtizrvLia9yZ67dbx1znPxqJw26zxRdsuCoKKe0gMIrD1STH05am5/vh6SFA9MHiA0vuEEbwx9 UgZk+IkTX2KITjTa1UUFPq27X/IXBpPlZKPDaqnupcTwMErBdOoQIwXsT1ZAM7/SP1dQip3e0Bv 1V6a8qgi2alo6fi5t/Cctp4KeJXCcDw/qiCyjuBm526Tqhiofj9zS0fNE8kytAIZ8+6H5T8zw04 ftw8M0+rjcxl3zVvcSB4GczYIRNHTuyJwfOUnJdIKqNcFbgzHwQ6euWLTvmuNleixobjeGEhl8F 1sBZcbxBJy5Vmw++JupKiVK+YdqL4aqa/kc6w4LaXwYst3XbKoXPlExQfbxLxp7/m/PfmlpLv34 qe X-Google-Smtp-Source: AGHT+IHjNGOYSB3Uoie3aPGzFHTm6SS3tVoFQt6o3B0HAd5FWBxEzFE3cDSEV9z7klyWAfsDpBXRwQ== X-Received: by 2002:a17:907:9691:b0:b64:6776:1ee2 with SMTP id a640c23a62f3a-b6473f42d78mr4014852866b.52.1761563043587; Mon, 27 Oct 2025 04:04:03 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 26/35] target/sparc: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:33 +0000 Message-ID: <20251027110344.2289945-27-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::634; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x634.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: 1761563469876154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for SPARC (32bit and 64bit) targets. We treat any interrupt other than EXTINT and IVEC as exceptions as they appear to be synchroneous events. Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- target/sparc/int32_helper.c | 7 +++++++ target/sparc/int64_helper.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/target/sparc/int32_helper.c b/target/sparc/int32_helper.c index fdcaa0a578b..b29f693a6bf 100644 --- a/target/sparc/int32_helper.c +++ b/target/sparc/int32_helper.c @@ -24,6 +24,7 @@ #include "accel/tcg/cpu-ldst.h" #include "exec/log.h" #include "system/runstate.h" +#include "qemu/plugin.h" =20 static const char * const excp_names[0x80] =3D { [TT_TFAULT] =3D "Instruction Access Fault", @@ -174,4 +175,10 @@ void sparc_cpu_do_interrupt(CPUState *cs) env->qemu_irq_ack(env, intno); } #endif + + if (intno =3D=3D TT_EXTINT) { + qemu_plugin_vcpu_interrupt_cb(cs, env->regwptr[9]); + } else { + qemu_plugin_vcpu_exception_cb(cs, env->regwptr[9]); + } } diff --git a/target/sparc/int64_helper.c b/target/sparc/int64_helper.c index 96ef81c26cd..60ab0478fc6 100644 --- a/target/sparc/int64_helper.c +++ b/target/sparc/int64_helper.c @@ -24,6 +24,7 @@ #include "exec/helper-proto.h" #include "exec/log.h" #include "trace.h" +#include "qemu/plugin.h" =20 #define DEBUG_PCALL =20 @@ -256,6 +257,15 @@ void sparc_cpu_do_interrupt(CPUState *cs) } env->npc =3D env->pc + 4; cs->exception_index =3D -1; + + switch (intno) { + case TT_EXTINT: + case TT_IVEC: + qemu_plugin_vcpu_interrupt_cb(cs, tsptr->tpc); + break; + default: + qemu_plugin_vcpu_exception_cb(cs, tsptr->tpc); + } } =20 trap_state *cpu_tsptr(CPUSPARCState* env) --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563828; cv=none; d=zohomail.com; s=zohoarc; b=ILO/qRXHcMt6c7l9KPU3o63JWgDU2kvl7vxKuxsyRN7ovtSMCVhYN8QA3topsxivgiWLV5Savt2DssZSWd79EMeOMqky4Og1/zbSk8CxbyQCevCsVe0v9yDXRdRCM23emsvn+7mG1LqWg3wcefTkpad45w0xC5FrDRckCiHtZZw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563828; 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=GGapUoTaewrM/kono1/xvH1foLM0vdOPsMqSeCNHNKo=; b=H+e8Mw3EHn6VY/e2XyBhx0+4g+pNrmxaLwNBIFRnSru+Be4z6PcAWQ+rTiyqWyONfyXQUSnulXltNyIUXVf/c/fjNoTDsp8BIOMMPHNkQLG0CK+WEEBiQdubxQu2B6Mp8+OskqYyw5BBQI+85h5ks2nQd5OOsjM+kMe/X/onQVY= 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 1761563828289309.41055607281464; Mon, 27 Oct 2025 04:17:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9n-0006iT-Df; Mon, 27 Oct 2025 07:13:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL9d-0006YL-Rm for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:49 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9D-0007dr-Au for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:49 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b6d78062424so843554466b.1 for ; Mon, 27 Oct 2025 04:12:19 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6db2b010d9sm87578966b.43.2025.10.27.04.12.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A2BCA5F909; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563538; x=1762168338; 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=GGapUoTaewrM/kono1/xvH1foLM0vdOPsMqSeCNHNKo=; b=TPCnbBCw+kIl9OKanfgeySBuGrIOk05JF4J9dLOG/QEUv8A+CAsGD0YyXOR324ou7j ArSgi0Qfq6kAQxmzjZshsuZdkjTPg1PvKabFsqvA5Ie4k2UST/wu4tcz6BQF5hppWDfE iTx3r+h0rGIrFY0Bwip8YymWXy4JRKLfzlYJl6KOB7tLQq58FkNzM6mluwQpjjiedBKA 77TtnMJArEO6degYPA7P3MrYpEUsLurHWtwaHMGYfFqvEPOvq8+i8oUDsx+/dBkn9mdJ UeO3PjYjW/l6mXbG/YSnnzQn9gvIas//U+iNrhX0R75kUBWhYKoTxXEXtjxbTehV10Bj r1cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563538; x=1762168338; 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=GGapUoTaewrM/kono1/xvH1foLM0vdOPsMqSeCNHNKo=; b=ZAm33+wbYqcvRLylCCoOP27Oqp7WqQ9UIeTs3GJWtzLJ1jehOC/y+HFHTSpNtMQk48 baRLTWon2Hg24ANcI++2jFq9Hr+1dtVlcOy/oCnMljxghECh+AIMqAdMct+Xe+Ur1e5g IYQ5/1A07fevg3zjiOuk9LzJjjRRXTR7yjrQtXjwHFWr05fa5B4/VlTDTxlx10H/fQxC wo1Q61JNlJ59zwIppST9iRmmFAyC28mlLafDBQOk5TcoO/UFFyL1k5cAlRHynPbz0oTF vlM5yzvqJCk5aPyLLHMboFpEvt9RLPSdF3FopOOdsF5TNDAuc1juC1Dm+wDpKS40eBlh dK8w== X-Gm-Message-State: AOJu0Yx32K/jhI75v7F2HHUSBamPbgkwtxaBcZCcQpfA/ENtWWgCuwXT H/hFHWkoDyrK2pZBWBZVOdPb8WI+y2HSoSIFx0DGKaAKWVbxCO2kEertsQZZJq7EpeY= X-Gm-Gg: ASbGncvLqagBcO6q6IXdLb2Il/YsCYgbehoypQBj/GRP4DDSJPU2Ba/1vjTWvcFl7Ay +bM9pQSy1AqpTyB6MHetQ/zk/BuVsbIb5Gp84Sk9Y5AdpR5LeWdWdypC66HcEpNAaF5WLEZIkuV 5fxozG5cGiHdVWKKnzZQ0apHOT+fWF6G/UdT6pkGads/RZ94gDeMOno9Fuzq5OYW28emstHYDev 0ZyTf4PPIRKZQOhn3a6AYxxMCIX1SX1mN8Mf6rNmyCffCR93I3Jv+P92LrbFGWg6qEkxUTuZjXg 3XJDeGdV6/kafrZxcO+vFIsjkwmTTBu60rOg2YdcR5p+4oHm2yYrT96HsHWU5evMCZet1FM6rgX 51dRNL0rGRJLNymbquHv1Ta3acfLKOQS1NEwDBw7nmU/MwfRiQIztrVmMwR/1xlH8AMEO20VuTP sWIQpK109/oOA= X-Google-Smtp-Source: AGHT+IGtBMpHIebheyONrWsxP0glj3ZoIlLecwrjIGlCGS2qBmkZj9gRmSWXNpNrJHhHYenJu4IrlA== X-Received: by 2002:a17:907:1b0c:b0:b6d:2f32:844a with SMTP id a640c23a62f3a-b6d2f328766mr2021446366b.22.1761563537679; Mon, 27 Oct 2025 04:12:17 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 27/35] target/tricore: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:34 +0000 Message-ID: <20251027110344.2289945-28-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::631; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x631.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: 1761563830661154100 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places an exception hook for TriCore targets. Interrupts are not implemented for this target and it has no host calls. Reviewed-by: Bastian Koppelmann Reviewed-by: Richard Henderson Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/tricore/op_helper.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/tricore/op_helper.c b/target/tricore/op_helper.c index 610f148a237..2c8281a67e0 100644 --- a/target/tricore/op_helper.c +++ b/target/tricore/op_helper.c @@ -19,6 +19,7 @@ #include "qemu/host-utils.h" #include "exec/helper-proto.h" #include "accel/tcg/cpu-ldst.h" +#include "qemu/plugin.h" #include /* for crc32 */ =20 =20 @@ -29,8 +30,11 @@ void raise_exception_sync_internal(CPUTriCoreState *env,= uint32_t class, int tin uintptr_t pc, uint32_t fcd_pc) { CPUState *cs =3D env_cpu(env); + uint64_t last_pc; + /* in case we come from a helper-call we need to restore the PC */ cpu_restore_state(cs, pc); + last_pc =3D env->PC; =20 /* Tin is loaded into d[15] */ env->gpr_d[15] =3D tin; @@ -90,6 +94,7 @@ void raise_exception_sync_internal(CPUTriCoreState *env, = uint32_t class, int tin /* Update PC using the trap vector table */ env->PC =3D env->BTV | (class << 5); =20 + qemu_plugin_vcpu_exception_cb(cs, last_pc); cpu_loop_exit(cs); } =20 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563240; cv=none; d=zohomail.com; s=zohoarc; b=j3pelspGjDIC1tHhqZ1RJvnhIkANXcp6RT+/ho4Ugn7IEadV1az4t8eqwZdUqas5xTGKJLFMw4EwolHtwkJwmUxhY42Q6X04gDJTUTfd3rcKRsCRilJDi9ypTrWOJydtk5TOaHMVs7zr7e2ahqPzElbGud3HlbddSwNImwZGhw4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563240; 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=67CkZCuN3cp9w2dJxnK8m/N1W6WVM4gtmx6Huv90J+s=; b=fF6WLGqHoHf5wf/RNLhGpLy3YxReUIO4Tj3r3kZ738MdEsO8pp+WVjNeHbDhaDVWwF5o3TpxdVnvSZz6Mrm/3gN7Mchz7FdMaMpTkF/S1ZP5aaZMmJ8/9Xiw8Qiq7968gyKCsXn1u7xn2ziAWi+S6IWrhqWJAlbOdmDWfZrbhWU= 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 1761563240861638.1782025606411; Mon, 27 Oct 2025 04:07:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2A-0001GR-6y; Mon, 27 Oct 2025 07:05: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 1vDL26-0001CJ-19 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:02 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1V-0005iG-BO for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:01 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-b50645ecfbbso944162866b.1 for ; Mon, 27 Oct 2025 04:04:05 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d85369697sm757975966b.26.2025.10.27.04.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id BD79360F82; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563042; x=1762167842; 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=67CkZCuN3cp9w2dJxnK8m/N1W6WVM4gtmx6Huv90J+s=; b=gmvpzK1uGmljiKgapt1i9oSAA7nescFn9+c9lKqBpYUBAzUOok8MGdGRa1CjKbCOqw ahwUUqU5Qr8l+6gN6xo2wp1z72q0q2px3E3iG53LBuqXg+fZZkfwXN4J0IXOW8nBzaWS sYp+jIiTuA4OpxtWqZnFxrYU8ee3rH1BeTZI+Rfyw8Twy1AypFAE+zB5y5WcSQxEIP3/ eQnaoIg0rAX/3IoozilZiEE6DgyT6WIfk8mafwP2t5DeJLARcW9Z9Jfs9VatjP2ztZCw ihE081alPpzSGQIi0ewvYUHULhHvBc7yuZ46jkmjWdrW61vYLf8E7wAGnJ+RDruDpebk KJWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563042; x=1762167842; 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=67CkZCuN3cp9w2dJxnK8m/N1W6WVM4gtmx6Huv90J+s=; b=JMKsgb0M+zBhQ2QY91Y2+tmE5DP+MGGvAd24MwTwHXBP5ko8OSOYPfJzEHt5C6vT5C k3K0/5lM2enlQYvQKgIRocls6NKkVYCj5y9XCpweZGqmqWEumwEiwm93+69/dvEKOMYe pJTOrWM6L77BrGyb/DQWVrvtDIOfsWtDcnnIbdaxc6A+RzCoXXJ00iiUcgC6S45O2vdt 6Y0bfdSkhJ5DXSAGgt+urM6s588adaSXXvP/ZVWX0edVHU0PND37puHZeOtmtGwJY0w3 jMWetQhVwV5uxjqYvfTjFjWJIFdR+Sh4BZ8MD0EhaBrHoHxJr5jHyQLIK/p87OpJtVkV goKA== X-Gm-Message-State: AOJu0Ywg8WVIYcLRKABO0Rw5GIFD/A8HoroXMRsMhM2rel7lwc8qw6Rw sRnG06fimmoqiRRW9txU4Ve9vw0tCAFinsd6PXvMJE5oKbtnLxEt0VOH1bYetfW5mCc= X-Gm-Gg: ASbGncslo8wfOF641BdyEosWuyOUmT50OXr5y59dY1bFjMnShDpUEdeTupnXrCK9P1c Qvcz9oZuMd43kXzuGZJCZgx/38W/ro21Sh/q2e8cYArQuw4KUV1sCh9EJ345HLS7f7OI7S9/Gax rPGFWckyb1Gzlalnucoa680l3V1mCssw2JyX4gMFufnW0YAle9XyEBsaJXowF7iWl+TC9/0Lsd7 WYiC1HN9x8kDw/kNVMm5mAayvgsNmFIOWFp+IyLQHcnvbHUebABgk373dZh0Ty1a5nhv6j3rDMh WqCZWTTiFt9cmYst3sfd4WoY6Hu3u4mFB+HHKMK22AdDbmfqC93qiLT9F0s3bluC6SXI/whsZ+O Y2j0Zb6z8DEw7Mu9ItAMN7GC0YsgGXVzUYWiRX+OkY8A/kbenG8ZRN6L5rKeCjb3WNfs4gPky8U 3GQajA8UVDUpXlBEmAXPtHDA== X-Google-Smtp-Source: AGHT+IFAymNmJTdejyHUdyfAt8q8b+EN6fltsBo84Abf5ft1cxc9OuxCZfv2BkJqjWbVt1OZ6HI0Ww== X-Received: by 2002:a17:906:fe4c:b0:b55:c30d:c9fc with SMTP id a640c23a62f3a-b6472b628a4mr4160361366b.11.1761563042192; Mon, 27 Oct 2025 04:04:02 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 28/35] target/xtensa: call plugin trap callbacks Date: Mon, 27 Oct 2025 11:03:35 +0000 Message-ID: <20251027110344.2289945-29-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62e; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62e.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: 1761563245154158500 From: Julian Ganz We recently introduced API for registering callbacks for trap related events as well as the corresponding hook functions. Due to differences between architectures, the latter need to be called from target specific code. This change places hooks for xtensa targets. Reviewed-by: Max Filippov Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- target/xtensa/exc_helper.c | 6 ++++++ target/xtensa/xtensa-semi.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/target/xtensa/exc_helper.c b/target/xtensa/exc_helper.c index b611c9bf97c..fdc522698dc 100644 --- a/target/xtensa/exc_helper.c +++ b/target/xtensa/exc_helper.c @@ -32,6 +32,7 @@ #include "exec/helper-proto.h" #include "qemu/host-utils.h" #include "qemu/atomic.h" +#include "qemu/plugin.h" =20 void HELPER(exception)(CPUXtensaState *env, uint32_t excp) { @@ -207,6 +208,8 @@ void xtensa_cpu_do_interrupt(CPUState *cs) CPUXtensaState *env =3D cpu_env(cs); =20 if (cs->exception_index =3D=3D EXC_IRQ) { + uint64_t last_pc =3D env->pc; + qemu_log_mask(CPU_LOG_INT, "%s(EXC_IRQ) level =3D %d, cintlevel =3D %d, " "pc =3D %08x, a0 =3D %08x, ps =3D %08x, " @@ -218,6 +221,7 @@ void xtensa_cpu_do_interrupt(CPUState *cs) env->sregs[INTSET], env->sregs[INTENABLE], env->sregs[CCOUNT]); handle_interrupt(env); + qemu_plugin_vcpu_interrupt_cb(cs, last_pc); } =20 switch (cs->exception_index) { @@ -238,9 +242,11 @@ void xtensa_cpu_do_interrupt(CPUState *cs) env->sregs[CCOUNT]); if (env->config->exception_vector[cs->exception_index]) { uint32_t vector; + uint64_t last_pc =3D env->pc; =20 vector =3D env->config->exception_vector[cs->exception_index]; env->pc =3D relocated_vector(env, vector); + qemu_plugin_vcpu_exception_cb(cs, last_pc); } else { qemu_log_mask(CPU_LOG_INT, "%s(pc =3D %08x) bad exception_index: %d\n", diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c index 431c263dc57..9d9c6254a30 100644 --- a/target/xtensa/xtensa-semi.c +++ b/target/xtensa/xtensa-semi.c @@ -35,6 +35,7 @@ #include "system/memory.h" #include "qapi/error.h" #include "qemu/log.h" +#include "qemu/plugin.h" =20 enum { TARGET_SYS_exit =3D 1, @@ -197,6 +198,7 @@ void HELPER(simcall)(CPUXtensaState *env) CPUState *cs =3D env_cpu(env); AddressSpace *as =3D cs->as; uint32_t *regs =3D env->regs; + uint64_t last_pc =3D env->pc; =20 switch (regs[2]) { case TARGET_SYS_exit: @@ -433,4 +435,5 @@ void HELPER(simcall)(CPUXtensaState *env) regs[3] =3D TARGET_ENOSYS; break; } + qemu_plugin_vcpu_hostcall_cb(cs, last_pc); } --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563591; cv=none; d=zohomail.com; s=zohoarc; b=lMqxPzbOO6O7ow0umu2niveAS/Vygx13ZHaqSV6SJzQFXB3AUUI35ycYpEKct1yjLWwW2Jt1MO+J1qezawMEdkIW5/0r2StTR41Au8XN4Jpj/F0COMfEbflhX9jV63+gHxbDK6xT09ZGEBKGpNXVexhglE8pV1jq7sLx7dlJ/1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563591; 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=TVYLXahecZ91ldK6eSOqRfu0FtwDFgFtl25J9v2pyFo=; b=a3NRqvctWggekNXYeCubNuW3pb1ivtPIyHHWwyz5fb2OpfyZIdaWR60YfbejAozHj1x47EJvci1QPGElmf/356AlodO12sGNDAMdDtkYo5HjxOFsPCgf2vS7JfDx/QWQR7luqFOnHfpHk2WA5vcDKawVo2UOr1u9umgENcteo28= 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 1761563591811599.6521883710916; Mon, 27 Oct 2025 04:13:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2V-0001nC-OY; Mon, 27 Oct 2025 07:05: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 1vDL2T-0001kO-EK for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:25 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1a-0005ih-KS for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:25 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b6d345d7ff7so848562166b.1 for ; Mon, 27 Oct 2025 04:04:04 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853c5bd8sm724170466b.38.2025.10.27.04.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D472961208; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563043; x=1762167843; 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=TVYLXahecZ91ldK6eSOqRfu0FtwDFgFtl25J9v2pyFo=; b=NX7IAhghAQ02nj5RPLQxanHZMCzbahI9oT1eAk4tYcdKwtdiEPl25EcBRohbX0Vuni O1GAyd73/J5ZiYsEdIcB8kD1jnlOX5F/a/4rZvTvReqQRuLOkb6YqllYe+5ltvf/gf5u 193RQ0auSVOCxpeTf6WHApiwb3iCg1Lucr0lC9THJbdFKhpxMI7UL3ARyLZlPSuZb99y z0fqOWaeJWoh+9uUZ9HwYOBWaHlyrIT9nZH8wzAMGViP13MLigPZ4NRc5onO0mDGkmIl Nqu9ZygUre38h4nCeaMebQTr1cqON1L+sAa7pnRK8vk3Pej/50scIo1HQPvt+WVyMxZf VcSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563043; x=1762167843; 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=TVYLXahecZ91ldK6eSOqRfu0FtwDFgFtl25J9v2pyFo=; b=Pgcad0jn4var/eloV1I/evYes73ev+CceUPrc8zjCqh6ul3G8pYCo11/Rg6bLeEYho jR37t+d1qg8vlecGnkc8Dw3etKj8GC20xh/p4AdofYv2Cq7F9HwCDvcf+pBsq5Vz41k5 HmAB7ixVjFmX4peoS7CA7Jx06ZOrlwv+C+prFEvBv2XZ21lUSmNGLolwiOt5SlDTSX0o 7rum6vDiAlKvf8CpaYTyDk3d+4tJtcOJMS5aybE6DnXJjeUqEZ2gITcj/Q9kM9waBGZ1 OFSTBXBPvG+SjA6ogc984TilF1TtxNGzfhwqY0R72/bge6S/eU4AlF7Dnu7KzxHSPTWT JgXw== X-Gm-Message-State: AOJu0YzYqKEdk1QLdqPZKieYbaOs9bJjhrrOgLIzwbGVomD220PN2ItS lWlmosKIps5NqnRZ9vNmHa1mxaELneldS1mR3p+HZ9j+ZP+eQBX+Fd8O6HPgxHIkFCs= X-Gm-Gg: ASbGncuU8hqKM+x4Jye0FMsQLNXTbzfjVGR3t6uZzq9J0USBDVuG+hDzQ4knfO8/nJ+ Q2Ui35Msa1m8Pylps3fulF7C8BVpTH3BHYiw+snLLB+R3FDDuxCHJm0PU5ngLky42qMlt6Oui+K ug1OFEKnT6LkvQ1krEF3meo+ryDCiBAHUTEoWOcmoEQfp5ykoec6qLUorwWvPZp59haoQS1NYVJ gijO7A4o1ygIWbU2I9/n+IMNFhGpjSzkgscxkppKhgATeveUVhHmHJLkX1UwpKvF3oVVnj5LRQh /aI3qkUk8wPSvug+SqiINEqIbvcYws/aeSEwxplLmxH9zhAmYe3xGhoX8Z0fXhtO/o/sMPNI1Sq zNgBOHpuL6AzXOQUdz2u77fxkvtjIl3KZDZlO+L3jWLIMVa2aptFTv2vJAaEOYZ5wpAZzBr96yN 75 X-Google-Smtp-Source: AGHT+IFNaacWyHgjOXtQQYb4QARRkJee3KyWx4SvORGK2ZnffWipQ/16R8whe8zBRui/M9y0rmDu6A== X-Received: by 2002:a17:907:6090:b0:b6d:529f:9702 with SMTP id a640c23a62f3a-b6d6bb1a7fbmr1317949066b.12.1761563042869; Mon, 27 Oct 2025 04:04:02 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 29/35] tests: add plugin asserting correctness of discon event's to_pc Date: Mon, 27 Oct 2025 11:03:36 +0000 Message-ID: <20251027110344.2289945-30-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::631; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x631.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: 1761563593809154100 From: Julian Ganz We recently introduced plugin API for the registration of callbacks for discontinuity events, specifically for interrupts, exceptions and host call events. The callback receives various bits of information, including the VCPU index and PCs. This change introduces a test plugin asserting the correctness of that behaviour in cases where this is possible with reasonable effort. Reviewed-by: Pierrick Bouvier Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- tests/tcg/plugins/discons.c | 221 ++++++++++++++++++++++++++++++++++ tests/tcg/plugins/meson.build | 2 +- 2 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 tests/tcg/plugins/discons.c diff --git a/tests/tcg/plugins/discons.c b/tests/tcg/plugins/discons.c new file mode 100644 index 00000000000..2e0e664e823 --- /dev/null +++ b/tests/tcg/plugins/discons.c @@ -0,0 +1,221 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2025, Julian Ganz + * + * This plugin exercises the discontinuity plugin API and asserts some + * of its behaviour regarding reported program counters. + */ +#include + +#include + +QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEMU_PLUGIN_VERSION; + +struct cpu_state { + uint64_t last_pc; + uint64_t from_pc; + uint64_t next_pc; + uint64_t has_from; + bool has_next; + enum qemu_plugin_discon_type next_type; +}; + +struct insn_data { + uint64_t addr; + uint64_t next_pc; + bool next_valid; +}; + +static struct qemu_plugin_scoreboard *states; + +static qemu_plugin_u64 last_pc; +static qemu_plugin_u64 from_pc; +static qemu_plugin_u64 has_from; + +static bool abort_on_mismatch; +static bool trace_all_insns; + +static bool addr_eq(uint64_t a, uint64_t b) +{ + if (a =3D=3D b) { + return true; + } + + uint64_t a_hw; + uint64_t b_hw; + if (!qemu_plugin_translate_vaddr(a, &a_hw) || + !qemu_plugin_translate_vaddr(b, &b_hw)) + { + return false; + } + + return a_hw =3D=3D b_hw; +} + +static void report_mismatch(const char *pc_name, unsigned int vcpu_index, + enum qemu_plugin_discon_type type, uint64_t la= st, + uint64_t expected, uint64_t encountered) +{ + gchar *report; + const char *discon_type_name =3D "unknown"; + + if (addr_eq(expected, encountered)) { + return; + } + + switch (type) { + case QEMU_PLUGIN_DISCON_INTERRUPT: + discon_type_name =3D "interrupt"; + break; + case QEMU_PLUGIN_DISCON_EXCEPTION: + discon_type_name =3D "exception"; + break; + case QEMU_PLUGIN_DISCON_HOSTCALL: + discon_type_name =3D "hostcall"; + break; + default: + break; + } + + report =3D g_strdup_printf("Discon %s PC mismatch on VCPU %d\n" + "Expected: %"PRIx64"\nEncountered: %" + PRIx64"\nExecuted Last: %"PRIx64 + "\nEvent type: %s\n", + pc_name, vcpu_index, expected, encountered, l= ast, + discon_type_name); + if (abort_on_mismatch) { + /* + * The qemu log infrastructure may lose messages when aborting. Us= ing + * fputs directly ensures the final report is visible to developer= s. + */ + fputs(report, stderr); + g_abort(); + } else { + qemu_plugin_outs(report); + } + g_free(report); +} + +static void vcpu_discon(qemu_plugin_id_t id, unsigned int vcpu_index, + enum qemu_plugin_discon_type type, uint64_t from_p= c, + uint64_t to_pc) +{ + struct cpu_state *state =3D qemu_plugin_scoreboard_find(states, vcpu_i= ndex); + + if (type =3D=3D QEMU_PLUGIN_DISCON_EXCEPTION && + addr_eq(state->last_pc, from_pc)) + { + /* + * For some types of exceptions, insn_exec will be called for the + * instruction that caused the exception. This is valid behaviour = and + * does not need to be reported. + */ + } else if (state->has_next) { + /* + * We may encounter discontinuity chains without any instructions + * being executed in between. + */ + report_mismatch("source", vcpu_index, type, state->last_pc, + state->next_pc, from_pc); + } else if (state->has_from) { + report_mismatch("source", vcpu_index, type, state->last_pc, + state->from_pc, from_pc); + } + + state->has_from =3D false; + + state->next_pc =3D to_pc; + state->next_type =3D type; + state->has_next =3D true; +} + +static void insn_exec(unsigned int vcpu_index, void *userdata) +{ + struct cpu_state *state =3D qemu_plugin_scoreboard_find(states, vcpu_i= ndex); + + if (state->has_next) { + report_mismatch("target", vcpu_index, state->next_type, state->las= t_pc, + state->next_pc, state->last_pc); + state->has_next =3D false; + } + + if (trace_all_insns) { + g_autoptr(GString) report =3D g_string_new(NULL); + g_string_append_printf(report, "Exec insn at %"PRIx64" on VCPU %d\= n", + state->last_pc, vcpu_index); + qemu_plugin_outs(report->str); + } +} + +static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb) +{ + size_t n_insns =3D qemu_plugin_tb_n_insns(tb); + for (size_t i =3D 0; i < n_insns; i++) { + struct qemu_plugin_insn *insn =3D qemu_plugin_tb_get_insn(tb, i); + uint64_t pc =3D qemu_plugin_insn_vaddr(insn); + uint64_t next_pc =3D pc + qemu_plugin_insn_size(insn); + uint64_t has_next =3D (i + 1) < n_insns; + + qemu_plugin_register_vcpu_insn_exec_inline_per_vcpu(insn, + QEMU_PLUGIN_IN= LINE_STORE_U64, + last_pc, pc); + qemu_plugin_register_vcpu_insn_exec_inline_per_vcpu(insn, + QEMU_PLUGIN_IN= LINE_STORE_U64, + from_pc, next_= pc); + qemu_plugin_register_vcpu_insn_exec_inline_per_vcpu(insn, + QEMU_PLUGIN_IN= LINE_STORE_U64, + has_from, has_= next); + qemu_plugin_register_vcpu_insn_exec_cb(insn, insn_exec, + QEMU_PLUGIN_CB_NO_REGS, NUL= L); + } +} + +QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id, + const qemu_info_t *info, + int argc, char **argv) +{ + if (!info->system_emulation) { + qemu_plugin_outs("Testing of the disontinuity plugin API is only" + " possible in system emulation mode."); + return 0; + } + + /* Set defaults */ + abort_on_mismatch =3D true; + trace_all_insns =3D false; + + for (int i =3D 0; i < argc; i++) { + char *opt =3D argv[i]; + g_auto(GStrv) tokens =3D g_strsplit(opt, "=3D", 2); + if (g_strcmp0(tokens[0], "abort") =3D=3D 0) { + if (!qemu_plugin_bool_parse(tokens[0], tokens[1], + &abort_on_mismatch)) { + fprintf(stderr, "boolean argument parsing failed: %s\n", o= pt); + return -1; + } + } else if (g_strcmp0(tokens[0], "trace-all") =3D=3D 0) { + if (!qemu_plugin_bool_parse(tokens[0], tokens[1], + &trace_all_insns)) { + fprintf(stderr, "boolean argument parsing failed: %s\n", o= pt); + return -1; + } + } else { + fprintf(stderr, "option parsing failed: %s\n", opt); + return -1; + } + } + + states =3D qemu_plugin_scoreboard_new(sizeof(struct cpu_state)); + last_pc =3D qemu_plugin_scoreboard_u64_in_struct(states, struct cpu_st= ate, + last_pc); + from_pc =3D qemu_plugin_scoreboard_u64_in_struct(states, struct cpu_st= ate, + from_pc); + has_from =3D qemu_plugin_scoreboard_u64_in_struct(states, struct cpu_s= tate, + has_from); + + qemu_plugin_register_vcpu_discon_cb(id, QEMU_PLUGIN_DISCON_ALL, + vcpu_discon); + qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans); + + return 0; +} diff --git a/tests/tcg/plugins/meson.build b/tests/tcg/plugins/meson.build index 61a007d9e74..561584159eb 100644 --- a/tests/tcg/plugins/meson.build +++ b/tests/tcg/plugins/meson.build @@ -1,6 +1,6 @@ t =3D [] if get_option('plugins') - foreach i : ['bb', 'empty', 'inline', 'insn', 'mem', 'reset', 'syscall',= 'patch'] + foreach i : ['bb', 'discons', 'empty', 'inline', 'insn', 'mem', 'reset',= 'syscall', 'patch'] if host_os =3D=3D 'windows' t +=3D shared_module(i, files(i + '.c') + '../../../contrib/plugins/= win32_linker.c', include_directories: '../../../include/qemu', --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563582; cv=none; d=zohomail.com; s=zohoarc; b=T77gGyoWnNV8Zo1Jz24wIH1F63EXWJLlpKjfuwD/9TpEIxoCFOhCI0frJKnBA22k/SqSErmMZZl9Np0j+b0rAj/e8MQvBg/LF5EhaWCXRL1MohL105xzU9maf25Ep3Ms/yR3VqK1J/E2bWtPAn+8u+dNDWUqIlSCKb+YRngiLSo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563582; 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=j5vD4GkqTlF8FRvajozZALqJDlWOq07fN98aFxxtZgc=; b=ZK033B80JmgfG4+KhzQX8srLhF4kT9BgXXCK+WF13uvUl/tIcYeWpj/m2aPryxgL382KpuXTHapbZjG+exYDKTJ1z5MXfMFHkN2uw1ZGgfN8ZGiCrGUcAB5FFZupgijq9MFyqc55izyVcJgiW83r0D1T1VxQfeHmqQb1LzuppxE= 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 1761563582778418.8411440032162; Mon, 27 Oct 2025 04:13:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL2K-0001ZQ-PS; Mon, 27 Oct 2025 07:05: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 1vDL2G-0001SX-Sa for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:13 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1Z-0005ex-R9 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:05:11 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-b6d2f5c0e8eso926751766b.3 for ; Mon, 27 Oct 2025 04:03:55 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8541fb2esm728692266b.59.2025.10.27.04.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EDD2061502; Mon, 27 Oct 2025 11:03:46 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563034; x=1762167834; 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=j5vD4GkqTlF8FRvajozZALqJDlWOq07fN98aFxxtZgc=; b=X8OEjG6RB6VrNi8530mbItN501+DxzcaAS0G4HGhYy6RwQ8s0wO7Y0QU2f+kFPXmyr lu8AvX/vSCrUKItZ7grsUTgyig0Mh07nqLBOFabxqTd6CNp+r1011re3JP+YiXo3XMhR nrCmugYe4XXPhUYbQ7ZhYZNCrbNBPDyyCPPyFYI7ms/1yaE0qV+CXhCzdZ1iimkrokLH BM+D5RTgT4An7tslO2BJmnIqKJGArkjAnC2UozYOWFja3AEaeu4/vuPQi8FBr9COgqM9 IHpIfskMjnIGfBZhxb4956Ko4J6rtyex9yxhr24GN3NR+MYGBm0B4MBFJfaEZNO7eH8e gt/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563034; x=1762167834; 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=j5vD4GkqTlF8FRvajozZALqJDlWOq07fN98aFxxtZgc=; b=p2TZ244Gs/w22KhnLqSRYncrE5tJjVMt/0HVy3KnLYUskcILVVyjNN+OxtoVXhzM1b 1c5ZjdE3ig5OLZ6oCjcG8x44miew7AqWquGfDYzEYJ1axJlDKGXQoMfh40zKow1jbeSz WfeuK3xIXosbHGcOSZkSaD8jD9C/4Rted3LtzS9CXInQMTdo/Q1dj1N0mDBoO2v5ebgo VgOBsD+x7wpmQ6WneB2MdDT7ni8NZbdKz5AuFXcQ5v+uz8qzqjIR0a5Kf1ktYZhYWu+v 7sls+6npvApKiFnUjqGkH6Ejlj6O7d4+5UvBX4/JWlw2XuqOtBAoHNVmoJQrcZGJQ+li TBcA== X-Gm-Message-State: AOJu0YzbkWNUExomGUDL9b+p/bzDCpcRnqmBE8p4rl7ffqp28S4VUqgO cXbDi+pgJA9xL0VGRfr3bZKOhgxTYIMGxYlZTT1i7rRDlSWSs5vGsOGRrrH6U+INfLs= X-Gm-Gg: ASbGncutYGwSfYn3wNYACfMCHZ4MMVT5L3IYuW53XqvCHwbWev0ISkVazuXzLG21Fjb UOZ9prcE7riK9GQioM8eUGFLo+rviUHWemtORHjUflHrok6vdSFEW+SLKmt04t6RVb05gkiYwtw pNHPFep1fYJDcg2mvMJhrIhFttA9T1rsvJ3KUCIOQl9acnVLPIAEsa1OfrcGAxdnZHxAqwfznyX zmr42wpiNGFFf+7e2G7fOeM0UAaSM/wCrjGB8CnlsUJLtKEbsOpX3DctRMyin13zz8SFAbRIMIo p1KqIMt8iXmUeTmFC0LdBxLTkFHTqdLCA93/cHwqrdop+uTKTxtweOHpyvzYWL8AEW2D+FWPvry Hwb/qSikkasvl+zm6B8cMhs4ZsToUQgDtTxCXfUiuCD0Auih8TzNNeWKepuY/WDlB09TBZP0YAS QiNH/NNUwhUP4= X-Google-Smtp-Source: AGHT+IGRoCM8z0OckSwUEsiuPM8tj+gJRpyVjgRDBkyGR5ywxYyqMoWnrS4niHghCRH2WyFRnHheag== X-Received: by 2002:a17:907:2d9e:b0:b3a:7af8:c4a2 with SMTP id a640c23a62f3a-b6d51aefdb1mr1605117466b.10.1761563034209; Mon, 27 Oct 2025 04:03:54 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 30/35] tests: add test for double-traps on rv64 Date: Mon, 27 Oct 2025 11:03:37 +0000 Message-ID: <20251027110344.2289945-31-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::636; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x636.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: 1761563588802158500 From: Julian Ganz We do have a number of test-case for various architectures exercising their interrupt/exception logic. However, for the recently introduced trap API we also want to exercise the logic for double traps on at least one architecture. Reviewed-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- tests/tcg/riscv64/Makefile.softmmu-target | 6 ++ tests/tcg/riscv64/doubletrap.S | 73 +++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 tests/tcg/riscv64/doubletrap.S diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 3ca595335dd..d9c0036eb4b 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -24,5 +24,11 @@ EXTRA_RUNS +=3D run-test-mepc-masking run-test-mepc-masking: test-mepc-masking $(call run-test, $<, $(QEMU) $(QEMU_OPTS)$<) =20 +EXTRA_RUNS +=3D run-plugin-doubletrap +run-plugin-doubletrap: doubletrap + $(call run-test, $<, \ + $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ + $(QEMU_OPTS)$<) + # We don't currently support the multiarch system tests undefine MULTIARCH_TESTS diff --git a/tests/tcg/riscv64/doubletrap.S b/tests/tcg/riscv64/doubletrap.S new file mode 100644 index 00000000000..b61089c9c1c --- /dev/null +++ b/tests/tcg/riscv64/doubletrap.S @@ -0,0 +1,73 @@ + .option norvc + + .text + .global _start +_start: + # Set up vectored interrupts + lla t0, trap + add t0, t0, 1 + csrw mtvec, t0 + + # Enable sw interrupts + csrrsi zero, mie, 0x8 + csrrsi zero, mstatus, 0x8 + + # Engage the double trap: we trigger an machine-level software + # interrupt, which will trap to an illegal instruction + lui t1, 0x02000 + li t0, 1 + sw t0, 0(t1) + + # If we still not went out via the software interrupt route after a + # short while, we failed the test. + lui t0, 0x1 +0: + addi t0, t0, -1 + bnez t0, 0b + j fail + +trap: + j illegal_insn # Exceptions + j fail # Supervisor software interrupt + j fail + .insn i CUSTOM_0, 0, x0, x0, 0 # Machine software interrupt + j fail + j fail # Supervisor timer interrupt + j fail + j fail # Machine timer interrupt + j fail + j fail # Supervisor external interrupt + j fail + j fail # Machine external interrupt + j fail + j fail # Counter overflow interrupt + j fail + j fail + +illegal_insn: + # Check whether we really got an illegal instruction + csrr t0, mcause + li t1, 2 + bne t0, t1, fail + li a0, 0 + j _exit +fail: + li a0, 1 +_exit: + lla a1, semiargs + li t0, 0x20026 # ADP_Stopped_ApplicationExit + sd t0, 0(a1) + sd a0, 8(a1) + li a0, 0x20 # TARGET_SYS_EXIT_EXTENDED + + # Semihosting call sequence + .balign 16 + slli zero, zero, 0x1f + ebreak + srai zero, zero, 0x7 + j . + + .data + .balign 16 +semiargs: + .space 16 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563385; cv=none; d=zohomail.com; s=zohoarc; b=BU12mOTa9Vss+DrvEj2pyCT7fgQ0vBxrpv2keaLGsOhn1B9Zqj8ck3phYVcJ+S0FllgqEE1F140nN9tmZ0PHwNjy1eWu3WOWXfSNaf8Vdqt4Wb4kTQpV3cIkA0vr/dOjxOOUitoMxIK0fuPTUvjmuuWmfB0C966RsdFlqVPd+WU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563385; 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=UQ3rv8bxHo1Z+FZ1pDBdGd57of56T+KuUG/sJxnyepk=; b=XuUHLf4huZ2/ygCWR6ighXWxngdr+6/rwQRbyfNrvmaX+xLoqLWz5rOtmf5IruCObfSHVWufBj4+4RStZ/S7MUwcJDHDmxgHjB4mFfAtmfk/wWw4cjH9iJOaB+CS/qEv1WCRMdE6zx/ZQaSyPQVs7Sn/hkKnrfhTSOOlzaIA+1w= 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 176156338538253.73776132952173; Mon, 27 Oct 2025 04:09:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL1x-0000zF-6f; Mon, 27 Oct 2025 07:04:53 -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 1vDL1n-0000pL-RH for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:48 -0400 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL1Q-0005i0-4S for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:04:43 -0400 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-b6d855ca585so469894466b.0 for ; Mon, 27 Oct 2025 04:04:02 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8535974asm716499266b.25.2025.10.27.04.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:03:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 1268D6150B; Mon, 27 Oct 2025 11:03:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563041; x=1762167841; 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=UQ3rv8bxHo1Z+FZ1pDBdGd57of56T+KuUG/sJxnyepk=; b=E8QbNApzRX87R78v1piAbPnvtoTxUKUGfY8RstoqmhbHAMq7zG4Y7GWcK5BXww0wBV u2m1G7AMGjM+Qd+TWeYyFDNHLyK9r63fH5ia3NoLkxpFs60ugkHqcy9Eh4Z74tcGtjdw 06qClOnqQMXIbvxN7qr599xGW8DP5N6x0ftSTJV+oMmTeUfWc74XjdOaf5+uwWFsSJln NXKqTanJ8MnCABoIQpY043+dZD1JRc/qPtO2NiU+dccz3P5xvGKoNTmiWyOM8IGrnSp4 KqZb4OMfMNb2PZfT9MPThVMaObS2eUU06XXZCIwoeTKSs6cDw+SVhxa3hvQgUCEnkDm/ q++A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563041; x=1762167841; 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=UQ3rv8bxHo1Z+FZ1pDBdGd57of56T+KuUG/sJxnyepk=; b=LUslNz28Izs+2aLON45oGxPb+//FYXsFZAtBENajWWXWHar2zMwKGOrf4ux/egNcP+ iE8hP1n62sn7aXsxvtN8TPhZkznrC6MKZo+4PEpVpdvOhwFrAR+uEFKUtQWms+N20ifB 6GeizwRZtsYXqmO4+QGyxPJikOEHurFFAdNyhN2C8QkWdxXKl+/VMdKi8dlBauIMBh8N 0wG2/Z6OkWRrW6/8s4Otu88nGPqzir+Lgkzj/BA97jQY6X9p+XnQVnjn/FhHxIdpVecY v+YW59Qz0SxV+gnl4mIJyiYXzjXTCA4qQcLqcOsGkcj0TSo64GC8vSHUaw2uI7OIOwAm xQ2A== X-Gm-Message-State: AOJu0YwYhw2LvetXN6ShsHAzwSliD1vZg2mQTbFgOGRp6+qTa1hO+Xvs OwNjH5o6YaOcVBfxlikT6i918P/3OgMYohlcaWQrxlMTqvIauMtt7DHKTjOO4fwjiEg= X-Gm-Gg: ASbGncvHw6DDRceDN9ayCrgh9Dwc33sYhEeFwRsoadOudKLRMw88HYByYz5GA4AyI8f z2LUggm0VrXKhoT/nxGwxmO29t9R6V29uOtwjsq7uj2HDHixaWSAS2HuRqMwrt1dYIk8B0kuUy4 h5A/GucQ1wJjAkZXLbUtFIWlo5kTEpiPE9+AuaJHzBdquLl18sSD9TOxzvsGJw14XI3+dD2qB6G wdv28Oudh+T1ifAgcCZLARwezdoCn2mdTeEzIeG9Y2jsumZ/N+pGGN+yqYonrpd3VlgW4Ci45mL 1QvmgbmfkR8VRJIbz8sS5qQOtZFvyx+v1k/+XXPQWtyEokrCmitgohfgecyTvKh0KoE+scyipnh MqhLWkss/oqgqFAB+J7mTT7q1FzY215ri8wCNhdYa/vtCXtsS0Q06qsgpppM7/PIoVh2cJ48tAi s+ X-Google-Smtp-Source: AGHT+IF46Qy8yzQvt49lqS+UxN4daAAklNmAku3KZC2fFz2V0BgNH+izSW10LphrAJD0r0NqE/Josg== X-Received: by 2002:a17:907:d1e:b0:b3e:8252:cd53 with SMTP id a640c23a62f3a-b64725705e5mr4937210966b.27.1761563041013; Mon, 27 Oct 2025 04:04:01 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Julian Ganz Subject: [PATCH 31/35] tests: add test with interrupted memory accesses on rv64 Date: Mon, 27 Oct 2025 11:03:38 +0000 Message-ID: <20251027110344.2289945-32-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::635; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x635.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: 1761563388436158500 From: Julian Ganz This test aims at catching API misbehaviour w.r.t. the interaction between interrupts and memory accesses, such as the bug fixed in 27f347e6a1d269c533633c812321cabb249eada8 (accel/tcg: also suppress asynchronous IRQs for cpu_io_recompile) Because the condition for triggering misbehaviour may not be deterministic and the cross-section between memory accesses and interrupt handlers may be small, we have to place our trust in large numbers. Instead of guessing/trying an arbitrary, fixed loop-bound, we decided to loop for a fixed amount of real-time. This avoids the test running into a time-out on slower machines while enabling a high number of possible interactions on faster machines. The test program sends a single '.' per 1000000 loads/stores over the serial. This output is not captured, but may be used by developers to gauge the number of possible interactions. Reviewed-by: Daniel Henrique Barboza Signed-off-by: Julian Ganz Signed-off-by: Alex Benn=C3=A9e --- tests/tcg/riscv64/Makefile.softmmu-target | 6 ++ tests/tcg/riscv64/interruptedmemory.S | 97 +++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 tests/tcg/riscv64/interruptedmemory.S diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index d9c0036eb4b..eb1ce6504a0 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -30,5 +30,11 @@ run-plugin-doubletrap: doubletrap $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ $(QEMU_OPTS)$<) =20 +EXTRA_RUNS +=3D run-plugin-interruptedmemory +run-plugin-interruptedmemory: interruptedmemory + $(call run-test, $<, \ + $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ + $(QEMU_OPTS)$<) + # We don't currently support the multiarch system tests undefine MULTIARCH_TESTS diff --git a/tests/tcg/riscv64/interruptedmemory.S b/tests/tcg/riscv64/inte= rruptedmemory.S new file mode 100644 index 00000000000..cd9073ee314 --- /dev/null +++ b/tests/tcg/riscv64/interruptedmemory.S @@ -0,0 +1,97 @@ + .option norvc + + .text + .global _start +_start: + # Set up trap vector + lla t0, trap + csrw mtvec, t0 + + # Set up timer + lui t1, 0x02004 + sd zero, 0(t1) # MTIMECMP0 + + # Enable timer interrupts + li t0, 0x80 + csrrs zero, mie, t0 + csrrsi zero, mstatus, 0x8 + + # Set up UART + lui t1, 0x10000 + li a0, 0x80 # DLAB=3D1 + sb a0, 3(t1) + li a0, 1 # Full speed + sw a0, 0(t1) + li a0, 0x03 # 8N1, DLAB=3D0 + sb a0, 3(t1) + + # Run test for around 60s + call rtc_get + li t0, 30 + slli t0, t0, 30 # Approx. 10e9 ns + add t0, t0, a0 +0: + # Tight loop with memory accesses + li a1, 1000000 + la a2, semiargs +1: + ld a0, 0(a2) + sd a0, 0(a2) + addi a1, a1, -1 + bnez a1, 1b + + li a0, '.' + call send_byte + call rtc_get + bltu a0, t0, 0b + + li a0, '\n' + call send_byte + + # Exit + li a0, 0 + lla a1, semiargs + li t0, 0x20026 # ADP_Stopped_ApplicationExit + sd t0, 0(a1) + sd a0, 8(a1) + li a0, 0x20 # TARGET_SYS_EXIT_EXTENDED + + # Semihosting call sequence + .balign 16 + slli zero, zero, 0x1f + ebreak + srai zero, zero, 0x7 + + j . + +rtc_get: + # Get current time from the goldfish RTC + lui t3, 0x0101 + lw a0, 0(t3) + lw t3, 4(t3) + slli t3, t3, 32 + add a0, a0, t3 + ret + +send_byte: + # Send a single byte over the serial + lui t3, 0x10000 + lb a1, 5(t3) + andi a1, a1, 0x20 + beqz a1, send_byte + sb a0, 0(t3) + ret + + .balign 4 +trap: + lui t5, 0x0200c + ld t6, -0x8(t5) # MTIME + addi t6, t6, 100 + lui t5, 0x02004 + sd t6, 0(t5) # MTIMECMP + mret + + .data + .balign 16 +semiargs: + .space 16 --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563730; cv=none; d=zohomail.com; s=zohoarc; b=jcm8gqLZoPVV+wKbho8dREJfc9aiIKn+M9BVy+5u5bo8dmhHIONOho40OE0s90RTFEwgKa1sUEu++SJwMEcgg9u1SJo3Kj4ike94xhHwUcsaOyFPZux5N5GUR5LtpBUgI8pYAygH0FoD7R3jZXWFdOsQlYqLpyg24Gwp6I1kOmI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563730; 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=3K5oRo7LWMzZl+QpfA7sUsVfS53Gw1PvvtIAKjntjao=; b=HOC5o2+zVKIhzY50TZAB5CvR7m9lDnzl9zMpgtali6VJkdfU+1vggzncNLQKHaA+Fpm/cjfg/zWz33ywCMMpmnPZ8/fvsg2ai0Nb/V57d3++fBgkE8Haqf50Njumj4uYQCRQKTchGbVku9Q19730vdAXs4P51XrGOjk5Ylsrb8g= 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 1761563730233225.0845482172374; Mon, 27 Oct 2025 04:15:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9V-00068T-U9; Mon, 27 Oct 2025 07:12: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 1vDL9I-0005fu-UU for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:29 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL98-0007aV-H2 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:28 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63c12ff0c5eso8919387a12.0 for ; Mon, 27 Oct 2025 04:12:13 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63e7ef95cb9sm6162656a12.17.2025.10.27.04.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 2C36161528; Mon, 27 Oct 2025 11:03:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563530; x=1762168330; 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=3K5oRo7LWMzZl+QpfA7sUsVfS53Gw1PvvtIAKjntjao=; b=gXgWuVMU/FI2ra3vVJZPW5fa5VnBGpIDFbMV/o191w87/CZ4MObZHSSpHmPBRCAKDo uA2MINhFLbIa+g6hUs3qFC8g85f9QBhDZqQEU0PO9G3IBMqDY/xL6kwcOLXsIAlFDGCj qHe5frxXa7Q+HHqdyfGTtloMBNOKOeELhRxbJmylO/lNirFtk3C7q+uXXn6SOPwRyoB5 jWKdpoMQ5DWiACPKcLd1AAINNzPzYlnnOMZEHniCEmK3Rak6qGILODiOfbZ3whYik40t hAAZr2mjNO9D9InGATr1ENUeLiyAfmj1CvKuK4ph8o5YwPgpj+MbyGS4DGcGSBOtAgSy CVOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563530; x=1762168330; 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=3K5oRo7LWMzZl+QpfA7sUsVfS53Gw1PvvtIAKjntjao=; b=DWYWhoR+gjyKDC78JZBweEEkbBuReVNBKA1zE1eMDewRnJK84wvEEQ1MswhL47cm0Y UpvU1RwIh+hUo/yKp2CPp+wsLnQOP5JRINOlX67PZ4RvU7/GaqpdTFY/wI/aIZtyGToe GX1DrHNza7I8FvylwEJn9BQv3GmYRdrr93ntcSOZ7f143lk0lioQ14nYGx+tmvcXfQKD FRS/ZXqfpajQaFwV0Udv7SXopEu/E6MiVz++fEGCaxeFD0+fCBiYyBszwEvcGRqu1Mpm z+QKt7QMfl5CfR2Acn4hQy0Zs+zGRWDuZl8LCBvhphV5gLIL+yTierk7O8gkzywfpTjI oXMQ== X-Gm-Message-State: AOJu0YwCzOjATEi5IYOCt7NyS/QraGKGH/2wFDWj7wmaJzTcSDY9QufC 2oiu7GaA//Vp5zTS2C3Jk0W1aK+QU86hPUHJfqp4BS4JDj+jXDhnMFqGael+bxPDoW4= X-Gm-Gg: ASbGncuYwjxSAaLY142l3yQzznSNIny59AKRQY+B6hKPiVCm5/borQZ3buugZeGfIre M/Xj5ewyHMyeaCYL4gAszqb5GR/g1/iTxPQR0ASUoYiIKB8aAWDVY5ZfYbBa59D4Gwixbvb67ag Qgyj52aVq6UnF9xNE48lwPXVnkKE0bIBQP+VWHwmH621lOkVkQd8ljAkYWkqZem/0PMW7j8Fd9R V2UAIt8dCyJcanPVXaV49YUMAEuuurJ4lCMqtWdoOc9Ksuok0iAcG/nlSWi1b50JRxLXbW8BG1S o7kJAo07z6Ro07uTt2NBtdGPDzM3H1VlfQ0liZwRBN738YdfTPqCFz5NKrEm1Vi7+OqHPxWFSjk nGOUiK14T4eI2+XnqbKgu8668u39NKtV1CuMf9Mj55qFm0zj+zR/IixyZs61f7bGeqtDOXSuUlp FmREoH/IBt7Po= X-Google-Smtp-Source: AGHT+IGRNtHaeBs6dkf1tkgtMQn/OMS4FTT0K2dUS+olDng6buVSaegQ/gjnJk3ecwVpMDLXGGR0GQ== X-Received: by 2002:a05:6402:51cb:b0:62d:6601:a6cf with SMTP id 4fb4d7f45d1cf-63e5eb18e5cmr10018586a12.9.1761563530082; Mon, 27 Oct 2025 04:12:10 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 32/35] plugins/core: add missing QEMU_DISABLE_CFI annotations Date: Mon, 27 Oct 2025 11:03:39 +0000 Message-ID: <20251027110344.2289945-33-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.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: 1761563730589158500 Most of the memory callbacks come directly from the generated code however we have do have a a direct from C callback for the slow-path and memory helpers. There is also a reset callback that calls out to plugins. Like the other plugin points we need to disable CFI as we are making function calls to dynamically linked libraries. Fixes: https://gitlab.com/qemu-project/qemu/-/issues/3175 Reported-by: Peter Maydell Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Pierrick Bouvier --- plugins/core.c | 1 + plugins/loader.c | 1 + 2 files changed, 2 insertions(+) diff --git a/plugins/core.c b/plugins/core.c index 35a252d2729..8f8bc7219c2 100644 --- a/plugins/core.c +++ b/plugins/core.c @@ -668,6 +668,7 @@ void exec_inline_op(enum plugin_dyn_cb_type type, } } =20 +QEMU_DISABLE_CFI void qemu_plugin_vcpu_mem_cb(CPUState *cpu, uint64_t vaddr, uint64_t value_low, uint64_t value_high, diff --git a/plugins/loader.c b/plugins/loader.c index ba10ebac993..0dbe7bea263 100644 --- a/plugins/loader.c +++ b/plugins/loader.c @@ -318,6 +318,7 @@ struct qemu_plugin_reset_data { bool reset; }; =20 +QEMU_DISABLE_CFI static void plugin_reset_destroy__locked(struct qemu_plugin_reset_data *da= ta) { struct qemu_plugin_ctx *ctx =3D data->ctx; --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563929; cv=none; d=zohomail.com; s=zohoarc; b=ClK7t9Zd/zO+yN7Fs3z/fozJtmlX9wM6qcIVTEXc5EYN9CkBhGw83VCokggfvkRqu7sFzHQ0lHMdpCN/uitYTXZckqnsnNA6cyAQQwAbI6QkXZK33KFY5m4gEjSfSlqogGa+W2uo7oInc4yWKG6lp8thPJTK7zCwsj0kolznGU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563929; 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=4PhvPHHz2nKzNx0dR+rkbmZq1ESoRDt6FUBPfkcoyms=; b=JtOamUAAqTwosAxomiVMke/GxAAvTg9VparI7NLw3QbnVXlf9uQ03lHEXiDHCX71c30VZMNHxkoHc/cVV2m9QAVPTGfPo1GKR+kQwZp6K/UeXUh5z8XceS2qieJWmUUsplBWBzeIhQYAbfsCpVZBfA5dbra0Lg9fp+3/eJDb7IA= 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 1761563928941776.2974805941008; Mon, 27 Oct 2025 04:18:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9Z-0006Mh-UM; Mon, 27 Oct 2025 07:12: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 1vDL9Q-0005s1-Fk for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:36 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL9A-0007cZ-0X for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:36 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b6d855ca585so471685266b.0 for ; Mon, 27 Oct 2025 04:12:16 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8548ed8fsm737084866b.73.2025.10.27.04.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 460455F929; Mon, 27 Oct 2025 11:03:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563535; x=1762168335; 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=4PhvPHHz2nKzNx0dR+rkbmZq1ESoRDt6FUBPfkcoyms=; b=wFIIH1LW/SN5gWuu1FNeYKW0lOBFUVQhuL+8AFprkZHWzsPCicgd4XOJWmBWwq9VcT F4l8oaXV3gwoD/4nHhy+3GYL8XUbsgNjLY/kdYWDFUDboUjRiMiOo6stAhQgVuUCCfB4 3nh2GGN/m7UxtG8bp5zt5np9UM3N6eCTs1CnDbS8x4nAgYfw3RNepcfSI7gvnAoOaNeS 9ASBa0yfNQguM6adc52tbMAsok+T8qmx+zm0O5lsBddDqaXY9Le0YRg8fK1rH5hgxV3s Oq5qgDmmeXyL1xZG7eKD9mAFKXORHyErHK4k0GHw34b/lMhVa2jRck+Xn/TmOielkQTp 4MgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563535; x=1762168335; 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=4PhvPHHz2nKzNx0dR+rkbmZq1ESoRDt6FUBPfkcoyms=; b=Cb04qQpTFY0c9ufPzTIC0iXdEeLzzP/+ABWYA/fOBbgvMTZD/7Knb2g0XsRCcJsQRG 6w1wz1dZldomUNOBpGIqn1GsoO4p45ED/8E2qYs2DZESUDaS/zn83QNYiPJOje62S0xn 67qzgcQnb4W30xNaSmBpHu4a9WDYPmJXDuvMeJlMDQtb7Eyp2FlZgcCOuFkRGdBOq52X j5lzqYxVUPziXcBgX0l0EIBYdVB/13SKe8q5jlRav3vFVCgBhUjZdbYgLxKhhGUvIq5E 8b1D/P2O/kEupL+OBykbm6RlA04GxGIFQM4eHqGJXqbr6+hSQA6fglH8xth5ifPF6WNQ 8oaw== X-Gm-Message-State: AOJu0YwaOUgCUkhXxwGRY96/gwl3PVeWhKyn1t6JvsFatNVYzlVm4yjk rSd942vqxeL7DIlX7uV711tA4r/peFmLO4IRBWHSqppv0lj9rhUoqnjFwdLrsOJO3QU= X-Gm-Gg: ASbGncsSaq9uOnFUCNcJfD3Iu7Hh7VSXSVq7c8/nTX83H9nZjN05upYShAfqkJ/rc5v 0+yizNIy8XY7PWHYVhXCYOX/cP+lzYZodHtSfXJyqbRL8GD/xJ/Hq2NUfa/HBQCroh5ZoaRRzWv chbRuSVJMtVOkXlpNFAs9AeGYGAOroekXDYjOUL8Juu9YuhqPxbDAfzzAWmB61tlSR1kCSbkXPW WhZNIzRv+BifVPayP1iSIfZd2TyxDDYRpeL8dWDJzmoZgNS9w1pD17j+DgzJR5X+vysac0YpcKL wY30aAXir/uRkRzwP0VnjCrUxjzudJICu0OFcWKWN6hHjtIyeOUVOBQGL9fBLwScqF+zl1NCCOT Fqyb5m+FF8EIpI0wkZyqzzLr+yKRF0rPUBBT1uKaQxr2LjUIuDyp0SQj7mBIxJiuiZFWtYfeeqd 9x X-Google-Smtp-Source: AGHT+IFvvCvIty1DfR5lRQdjx9oxrgbu4HcCbWQum7FpsPzWGCkS4/ZxOKXh/Bm3P5OVv9Aw1Mskyg== X-Received: by 2002:a17:907:3e0c:b0:b6d:7e04:7a24 with SMTP id a640c23a62f3a-b6d7e047d4cmr934588966b.36.1761563535106; Mon, 27 Oct 2025 04:12:15 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo Subject: [PATCH 33/35] configs: drop SBSA_REF from minimal specification Date: Mon, 27 Oct 2025 11:03:40 +0000 Message-ID: <20251027110344.2289945-34-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62a; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62a.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: 1761563931154158500 The whole point of SBSA_REF is for testing firmware which by definition requires TCG. This means the configuration of: --disable-tcg --with-devices-aarch64=3Dminimal makes no sense (and indeed is broken for the ubuntu-24.04-aarch64-notcg) test. Drop it from minimal and remove the allow_failure from the test case. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alex Benn=C3=A9e --- configs/devices/aarch64-softmmu/minimal.mak | 1 - .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml | 2 -- 2 files changed, 3 deletions(-) diff --git a/configs/devices/aarch64-softmmu/minimal.mak b/configs/devices/= aarch64-softmmu/minimal.mak index 0ebc1dca561..3c8582e12cc 100644 --- a/configs/devices/aarch64-softmmu/minimal.mak +++ b/configs/devices/aarch64-softmmu/minimal.mak @@ -6,4 +6,3 @@ # =20 CONFIG_ARM_VIRT=3Dy -CONFIG_SBSA_REF=3Dy diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml b/.gitlab= -ci.d/custom-runners/ubuntu-24.04-aarch64.yml index 46db9ae0138..ee13587d99e 100644 --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml @@ -107,7 +107,5 @@ ubuntu-24.04-aarch64-notcg: rules: - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' when: manual - allow_failure: true - if: "$AARCH64_RUNNER_AVAILABLE" when: manual - allow_failure: true --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563941; cv=none; d=zohomail.com; s=zohoarc; b=UqFp8s6NDa7f4Oc91xdYIUvt1G0/ueH+1wCeSMGWIYy/Mtzak7PQpc0hPhBYMT5bewfEhasnmNHhKYxdp9U/pPqlp9k8NqznsOxHVdi/gHtjlcMoDtCXQdHlkPhuAM4KZ7RDFF/QGVcUFG+WnaqyUcD+RpN5yGOEdwx7+6PrPZ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563941; 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=Ebp/epSF7muaQbMsubBHfpMjof/a62SHlqNtbg8Z0UI=; b=XWS6GuWfGacpJsxTfeAqxuelrMluTW3dbvWvJS1NzXO6K/aIFG6nIsRSaxo2syaFAXM0MyNm5eI/W/FuMLSFLNbiLfGAystQ1F1xI6OEEotP+ZWJft9FuaJU3q4ZUGUFeIwbNjczTDIkfOZlfAhj0ozoxbHwxzFxr32butbczcg= 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 1761563941350145.12612429488797; Mon, 27 Oct 2025 04:19:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9Y-0006GF-RH; Mon, 27 Oct 2025 07:12: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 1vDL9L-0005ia-KB for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:31 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL98-0007aN-J5 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:30 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-b6d83bf1077so494845166b.3 for ; Mon, 27 Oct 2025 04:12:13 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d853fc258sm721557266b.53.2025.10.27.04.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:08 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 5C8A86152D; Mon, 27 Oct 2025 11:03:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563530; x=1762168330; 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=Ebp/epSF7muaQbMsubBHfpMjof/a62SHlqNtbg8Z0UI=; b=c8mudxhtE0Ys1g7ClB3SWybxMtTyTmm7O7MRpoJ7fo+U9sU3Afk0NU+xF+py3+9yK7 qd9OitsDVcDlW0u1KvLyDErj98bBpxD/uHZNnsZ/FqpGiGO2l/ZjaBirCMhr9PmjoCGh gqJI43Zta0Eun3DtKDPkuJAyJ+j1ezmtOJlHH5nACpHNCsoPYGK+JanQi+Gghc0Yh5XY E0eyaDrhU9Xa9UBw4GHG/ROpeZ5C9t32nEvUWlx5eRQers2Ql3N3XKhpgq+jhC8HBTyh AO+KlGyum2/p2xzNnOHQCKlzPFpbiOqnJ/UdSEtEHLYrUfkQeAzj/BKye48+EOC3ydpI vvYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563530; x=1762168330; 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=Ebp/epSF7muaQbMsubBHfpMjof/a62SHlqNtbg8Z0UI=; b=sVziBU8eYJnu4nZbDiXzLrxrY7vxIJT1mNykPBSDREYjwUJODO09/vnojjQ+2jiHDR TaW7vapd/r7OsUHubxDc6DuU5k0enFrLq6rqk+mAEiPF44ZDCOUN0f9WsMCjxTd6hEZo nZ1VRd3jduxJPKwRO3xabNMcawLIIQ+CzNDLKBEGddTGp4NcgEArmSrHdXJ4++sysO6D DEZHIWlEwanAM8cFAgAOC14mbtMa5MtusgSWMS+1+ELGoqDGVbzQf4TDm3mSIlLzO++U i5V2Q50EFInMpZDR0Cd7OLICQvhE88/HamS5alt9EakZSSBS1fkOWGvce4zBcSoV7X9b w7ag== X-Gm-Message-State: AOJu0YzsZSLVLF6CbpzyF547ATraHKBtSpFqIg547wxIg6T2xyIXjar/ 9M3D3TKRrrsQwMQwC2G4zz2p6k+S02+oR5ojnwfpBgLQ3N6WGT2MMbGg11pQbJ9GUKc= X-Gm-Gg: ASbGncvCuCyuWu2ZNzkN8bE2NzqpMZHpkfH2S5F++94PN/b3qo0nH5be1PEZkVbgBup YItLxzsinXbDQBz9ZkWASvAc5JWf+ur/NpG7O1PTi6q9KJR+pgdeFPiTBBFSCGouuq2J7MiHvEn X3YABEaPqFut7HD03GgiJT7x/2B7w008YIEDTruXmbNZ8WdTfQeKylF9tTqR4hSkT9ZezVd6Qp2 FqBBNbuOIo2XFx8sNEzDXndrLap62hgFE9L+d4XdxKWrhx6MDPzG7UcKlWbJD7B55zfRMkKyJZM Okj0B7BqDBXpsOf6DYCWd9ab0t75OX5zOgEWsSMIqrkAmmslSQRqqPZAWETKBast4fQV/qg9PuD cb8D2KQVfuv+qPr5blYN2g2y/BFyg5+NbItxq3j2WorKHLECheuqtWzOg6EwmxiD3GABWMhdlGr eR X-Google-Smtp-Source: AGHT+IHw+fFt1vxI3afdl5Mm0RuD/0R4AOwToR0nUpX3DiGL1ZjBpMF+xhKh6S1HJdvyALHqhPmlYg== X-Received: by 2002:a17:906:fe4d:b0:b3c:e14c:e24 with SMTP id a640c23a62f3a-b647195b339mr4091529366b.13.1761563529688; Mon, 27 Oct 2025 04:12:09 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Sean Anderson Subject: [PATCH 34/35] gdbstub: Fix %s formatting Date: Mon, 27 Oct 2025 11:03:41 +0000 Message-ID: <20251027110344.2289945-35-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::62e; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62e.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: 1761563949881154100 From: Sean Anderson The format string for %s has two format characters. This causes it to emit strings like "466f5bd8/6x" instead of "466f5bd8/6". GDB detects this and returns EIO, causing all open File I/O calls to fail. Fixes: 0820a075af ("gdbstub: Adjust gdb_do_syscall to only use uint32_t and= uint64_t") Signed-off-by: Sean Anderson Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e --- gdbstub/syscalls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbstub/syscalls.c b/gdbstub/syscalls.c index e855df21aba..d8bb90cc1c7 100644 --- a/gdbstub/syscalls.c +++ b/gdbstub/syscalls.c @@ -127,7 +127,7 @@ void gdb_do_syscall(gdb_syscall_complete_cb cb, const c= har *fmt, ...) case 's': i64 =3D va_arg(va, uint64_t); i32 =3D va_arg(va, uint32_t); - p +=3D snprintf(p, p_end - p, "%" PRIx64 "/%x" PRIx32, i64= , i32); + p +=3D snprintf(p, p_end - p, "%" PRIx64 "/%" PRIx32, i64,= i32); break; default: bad_format: --=20 2.47.3 From nobody Fri Nov 14 18:16:53 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=1761563761; cv=none; d=zohomail.com; s=zohoarc; b=oHeKtlHnXitGMs/61p+lTXkH0tWcauujhLWuARXWY3SZQzXXFFWv7FxIM+wEadBPeMoVKp9v9oUgUXmCW7ee9wHRrGKSxqlaoCpn6acRNTH7Y5mkdlPEGwRuVYsr+v6/jShCWVdIHzVxLkuB+5n5F6LJ+Tb7k0r5Cnu9C3EvoLM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761563761; 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=OP5xRq/2+HQuKT/1mrxcUI8zA2gE9pSdxS9XYDeOM4Q=; b=Xs/1mrO90MIR45kg6mD/iotViwlm9a4R6ssbuUxvezAOrgwLR7TwQ+cnZQksm7Y15bB4Lk/cK+hL/mJx131eyUdu8JMchrk5VHNY8VWwwY3wYN2Dvi97v/3lPF9msFvzWldNAwH6rMvROmsywMEnK+rDQfAwmWPIGYyxxHVYGUs= 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 1761563761295358.356773076291; Mon, 27 Oct 2025 04:16:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDL9f-0006ar-Kj; Mon, 27 Oct 2025 07:12:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDL9X-0006Aq-5D for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:43 -0400 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vDL99-0007bw-W8 for qemu-devel@nongnu.org; Mon, 27 Oct 2025 07:12:42 -0400 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-b6d6c11f39aso616708166b.2 for ; Mon, 27 Oct 2025 04:12:16 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b6d8541e99fsm728060866b.61.2025.10.27.04.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Oct 2025 04:12:12 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7247B61534; Mon, 27 Oct 2025 11:03:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761563534; x=1762168334; 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=OP5xRq/2+HQuKT/1mrxcUI8zA2gE9pSdxS9XYDeOM4Q=; b=Vq4IhoB3ssYO5rGQHt0zbCHxfC6kIzLo18Us1c/JPBymcOl5jx9f0hrQNndg7i0B/s 3agt2nZ6E+Wef4wB4n6hSOGnS/GGfTuMUpvMsK+4onX8DrC8GZ2W0Ig9rNQpO7rpZPjh 7wSaGtKke0bY0S3Mfds1ecXVs6qTZMyPMowZYPPVyWfp4NkuAKmLOK47Q01GrASIDPSJ roQ+bbGyAsSW/LnYq4mqGOZHVpecKprs8gJp+k8riHxeJ7VIhrbuuW9XadoHn0/vYrrt ZBSVL3n2W3YcNwgEJWe1Xm9JyJBCaQtuaP/z5X8+By5Fh3z3INMqPPa3zhEe+r1oq+2E 12uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761563534; x=1762168334; 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=OP5xRq/2+HQuKT/1mrxcUI8zA2gE9pSdxS9XYDeOM4Q=; b=QrlEeA5NW680TPkH0Qjb0f4galzPHe3OwxCMbBHPQafwgKRjuajOv7shdb4puYNe0a oJoAvHXbzoBNYWo92vgWznFjTw7bcjLBmSPqNJ+zBdC8vBBJHiXY58AwWG6gq1d6TFl/ SCo31rFhMnejM8e/1x4SaWASB71eDa3AQdqbeg0ep4dRv4TV/mIsGUz/PzBe20DPsxKD 1Cqihscn+yAmyTtDjoJqne6XNygi/NY4h7mpvF8gAKGbeG3N4vHJXadIqX6nOXrjfqRH qEurfroAj1rf/yh7QwapOAY5/BwEkwS+vR7NYFgUM1l3zBPlT/i7R/fvVGoylKpF7BO8 YqTA== X-Gm-Message-State: AOJu0Yyq9jSH2rQw4HsXE7z6hQ1GswWa3lRTB2ujbKDTen6xtLjD2qux MIX10EZiUfZetiwwRuUFruZ8N8U8gac3mxZGORxMOtdmQI642/GLIW5ga2otV/OLBzw= X-Gm-Gg: ASbGncvgjZemHT0RI3A/W/KwinPT94iWYkMGUVXUQ4pwmibCxeOz7MuHv33IGoU+E0r g1Q34NS0R8mYBJiVRU3QooSCUrhnlOSV2vUVAcL20ex7ViB4Mxde5JvGDlKFnP+dh/JCDD8PnC/ 8niK75FxyNp5daqBTLqKO6URmmAxLIkoM7niJjZcIZV8x9b7Zt69QH0hRePgjgZVnhLIjR1g0ad PJzjTzg5bSAApCesQfwQDJ/svK8T9h5SRsI2D4jB9Oev9gK7ag1wov7J/RIBN7GC0jRDQuW8n6y sh4zWQdhKq0fPSgke0/+Z7OsNn80R2R+uYdF6IBwVY2INnaVMFHqZBd9Hte7k8XAA/CbyP/hy4T AF2qzMjaMJ0cyOllXHVav/vWglGSvp7UpuuZfUvtuGCUOx7L8recM31Y9rNY6kGewdds5qnrT83 gZ X-Google-Smtp-Source: AGHT+IFf1e5BUD3bGIAW80hEOc4A/ZMLN+6c91S7j0DbPYjB69Ht/8CPBBkQ+pHOyAdD1COvmtiQuw== X-Received: by 2002:a17:907:7f07:b0:b3f:9e3d:daa4 with SMTP id a640c23a62f3a-b6d51c50982mr1328725066b.65.1761563533351; Mon, 27 Oct 2025 04:12:13 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Liu Zhiwei , Alexandre Iooss , Chinmay Rath , qemu-arm@nongnu.org, Peter Maydell , Nicholas Piggin , Ilya Leoshkevich , David Hildenbrand , qemu-ppc@nongnu.org, Paolo Bonzini , qemu-s390x@nongnu.org, Pierrick Bouvier , Bastian Koppelmann , Helge Deller , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stafford Horne , Mahmoud Mandour , Artyom Tarasenko , Eduardo Habkost , Palmer Dabbelt , Alistair Francis , Laurent Vivier , Weiwei Li , Daniel Henrique Barboza , Mark Cave-Ayland , Yoshinori Sato , "Edgar E. Iglesias" , Aurelien Jarno , Richard Henderson , Thomas Huth , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Michael Rolnik , Song Gao , qemu-riscv@nongnu.org, Aleksandar Rikalo , Sean Anderson Subject: [PATCH 35/35] semihosting: Fix GDB File-I/O FLEN Date: Mon, 27 Oct 2025 11:03:42 +0000 Message-ID: <20251027110344.2289945-36-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251027110344.2289945-1-alex.bennee@linaro.org> References: <20251027110344.2289945-1-alex.bennee@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::635; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x635.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: 1761563765028158500 From: Sean Anderson fstat returns 0 on success and -1 on error. Since we have already checked for error, ret must be zero. Therefore, any call to fstat on a non-empty file will return -1/EOVERFLOW. Restore the original logic that just did a byteswap. I don't really know what the intention of the fixed commit was. Fixes: a6300ed6b7 ("semihosting: Split out semihost_sys_flen") Signed-off-by: Sean Anderson Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e --- semihosting/arm-compat-semi.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 61001267965..c5a07cb947b 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -316,10 +316,7 @@ common_semi_flen_fstat_cb(CPUState *cs, uint64_t ret, = int err) &size, 8, 0)) { ret =3D -1, err =3D EFAULT; } else { - size =3D be64_to_cpu(size); - if (ret !=3D size) { - ret =3D -1, err =3D EOVERFLOW; - } + ret =3D be64_to_cpu(size); } } common_semi_cb(cs, ret, err); --=20 2.47.3