Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2226466/?format=api
{ "id": 2226466, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2226466/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260422125250.1303100-1-alex.bennee@linaro.org/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260422125250.1303100-1-alex.bennee@linaro.org>", "date": "2026-04-22T12:52:17", "name": "[v3,00/32] target/arm: fully model WFxT instructions for A-profile", "submitter": { "id": 39532, "url": "http://patchwork.ozlabs.org/api/1.1/people/39532/?format=api", "name": "Alex Bennée", "email": "alex.bennee@linaro.org" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260422125250.1303100-1-alex.bennee@linaro.org/mbox/", "series": [ { "id": 501008, "url": "http://patchwork.ozlabs.org/api/1.1/series/501008/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501008", "date": "2026-04-22T12:52:20", "name": "target/arm: fully model WFxT instructions for A-profile", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/501008/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2226466/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=BJcCFO4c;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0zj026dFz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 22:55:16 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wFX4d-0005wf-Qq; Wed, 22 Apr 2026 08:52:59 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wFX4b-0005uE-MJ\n for qemu-devel@nongnu.org; Wed, 22 Apr 2026 08:52:57 -0400", "from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wFX4Y-0005RM-Rh\n for qemu-devel@nongnu.org; Wed, 22 Apr 2026 08:52:57 -0400", "by mail-wr1-x42c.google.com with SMTP id\n ffacd0b85a97d-43d7e23defbso3445790f8f.0\n for <qemu-devel@nongnu.org>; Wed, 22 Apr 2026 05:52:54 -0700 (PDT)", "from draig.lan ([185.124.0.195]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43fe4cb1405sm45127565f8f.4.2026.04.22.05.52.51\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 22 Apr 2026 05:52:51 -0700 (PDT)", "from draig.lan (localhost [IPv6:::1])\n by draig.lan (Postfix) with ESMTP id EE4F35F93F;\n Wed, 22 Apr 2026 13:52:50 +0100 (BST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776862373; x=1777467173; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=ktzBmtKkhkyE1Vd0Grjue/ltXPVNaT34cCAvQG/xXlU=;\n b=BJcCFO4csYvBkXLdHyLZPb176nfTBmMra+vD3NcJHSz04Nnks+lxGlfCaJmHAinhFs\n 48lg4fxYv5P+e6LtSEtR8sGLpXKQ7ZwGu7/R/zXsbIcVAfQ+FC6d6QzGQbd2YXfIS779\n iwmoRG2b+cN9emAouy2boZuTrqHDKZJbluy/K5pNW2nUFlF4YwXPt2EmLp05BmS3exrl\n 5nCOPiYlnV3rB864oEl8kb/RajmUPuZWleEUf6j6LC+A9dJgLszzLlyJ1SgQM5u/vCv9\n ueFaS8TwakEy5Zz0NH+M6OQZPjvDMD+73ozxCZyY+JouyeJjCObegRSN+kuoDYDSBSQS\n UFTg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776862373; x=1777467173;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=ktzBmtKkhkyE1Vd0Grjue/ltXPVNaT34cCAvQG/xXlU=;\n b=OvyxZWnuvUBkSKAu6IdJXZ+FC5poI2yti3t03mWiLJRIYxDzLhnmGAOMnJGvIRdGgu\n BcOO1DYhmA7+YFSQbHxGJtZA+amVxlAO5xSBc1hNYRWU6BmJBCEFWe4QwExVLsoA4Hcw\n Zshi3obfr4BrlMeUQyuGapU0F0BCjL9syvtDEnPFFBQVoIZIpKZzDMuxxYv+3skHTQ30\n 9vVAPo6p2+JLwUDA+zlr1v8Spv3m0VB7gcT18Bz6HICmPFuRhLL+DQGjewLZQ3G5lbwx\n 9am7plEkcUWR7liOB58R+Fosvz4cho0dCt/ncV2kZWN+C4j0vDugZJ5hpPywUYgKnTOS\n Md9g==", "X-Gm-Message-State": "AOJu0YzGndkRVvl3YsBOj74fQSBBqjAjgJjDpV5G/Jtfj1wmMT7OzA4I\n 13jYvkvbGsYRvr5AKTUDuurEkgdA9csDMBO61dZCbhlvVRBm8Q7Nq1HSHXT66X0D9sM=", "X-Gm-Gg": "AeBDiesx+Y4KW0jCwKYdtHvyVZELOxkca4Ca0MLeiRas8732aH+VN/bjanBjT7dSYL6\n kFmIPeEdBbJL3nfK0ddiaN197ZN63LjWxqi9d+ptNlQMr77w4P7YzP4Ly7ZqNHVAh+5yhTXy2je\n en+W0h5e/1wXyzLEXVA8+IQxcegHJwOuxDMxTwJ4hB/eAi2qyljRbKf9+Y4lbxkSkJQMi91Emjs\n hxNaV5+AT4a2GCZuLQ1ALroKbyyz1mpma6KVuX0SqGje9M9/fYc4NzWtYbKnAxM0vt8/fIqRqsL\n f1ZU7ev8rE4W3qFkd09X3IvuBMLwPhNDamvl0rWibliWYETIYVS5sYA1B0thFvXW9aTONalJtaF\n PsVxibXLZ9i3XEh7fL/07Xaq7q15rcXMKvr2mxiPseYpRTvqWydyta+0LQVC5tOkIwj0qbeOEOb\n 7tWnwQ/SCEHxj7M63xA2phYXAx2KT3hrpCCA==", "X-Received": "by 2002:a5d:4b81:0:b0:43f:e721:76ca with SMTP id\n ffacd0b85a97d-43fe7217864mr20097852f8f.45.1776862372992;\n Wed, 22 Apr 2026 05:52:52 -0700 (PDT)", "From": "=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>", "To": "qemu-devel@nongnu.org", "Cc": "Pedro Barbuda <pbarbuda@microsoft.com>, Alexander Graf <agraf@csgraf.de>,\n Peter Maydell <peter.maydell@linaro.org>,\n Paolo Bonzini <pbonzini@redhat.com>,\n Mohamed Mediouni <mohamed@unpredictable.fr>, kvm@vger.kernel.org,\n qemu-arm@nongnu.org, =?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>", "Subject": "[PATCH v3 00/32] target/arm: fully model WFxT instructions for\n A-profile", "Date": "Wed, 22 Apr 2026 13:52:17 +0100", "Message-ID": "<20260422125250.1303100-1-alex.bennee@linaro.org>", "X-Mailer": "git-send-email 2.47.3", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2a00:1450:4864:20::42c;\n envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.google.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "This series fully models the behaviour of WFxT instructions. We\nalready had support for WFE for M-profile but we left off A-profile as\nit has more potential sources of wake-ups. The main one is the event\nstream which includes events from significant bits of the timer\nticking over.\n\nThe series starts with some refactoring of the syndrome register\nhelpers to use registerfields. We then expand the WFIT trap handling\nto report the register used. We then implement the event stream events\nfor SEV, global monitor and the timer related ones before enabling WFE\nfor A-profile and then finally WFET.\n\nNote on AI usage. As an experiment I previously posted an RFC series\nwith the help of Gemini. This series however is a ground up\nre-implementation which takes some different approaches on modelling\nthe event stream. In particular rather than running multiple timers we\nuse the same wxft timer and just compute if the timeout or timer event\nwill come first.\n\nv2\n - I've kept the tests separate, see:\n\n Message-ID: <20260417164328.1009132-1-alex.bennee@linaro.org>\n Date: Fri, 17 Apr 2026 17:43:20 +0100\n Subject: [PATCH 0/7] tests/tcg: more capabilities for aarch64-softmmu tests\n From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>\n\n - tweaks to global monitor behaviour\n - STLR/STL will also trigger events to avoid deadlocks\n - see under the --- in the patches for details\n\nv3\n - fixed the WFE exception handling\n\nAlex.\n\nAlex Bennée (32):\n target/arm: migrate basic syndrome helpers to registerfields\n target/arm: migrate system/cp trap syndromes to registerfields\n target/arm: migrate FP/SIMD trap syndromes to registerfields\n target/arm: migrate eret trap syndromes to registerfields\n target/arm: migrate SME trap syndromes to registerfields\n target/arm: migrate PAC trap syndromes to registerfields\n target/arm: migrate BTI trap syndromes to registerfields\n target/arm: migrate BXJ trap syndromes to registerfields\n target/arm: migrate Granule Protection traps to registerfields\n target/arm: migrate fault syndromes to registerfields\n target/arm: migrate debug syndromes to registerfields\n target/arm: migrate wfx syndromes to registerfields\n target/arm: migrate gcs syndromes to registerfields\n target/arm: migrate memory op syndromes to registerfields\n target/arm: migrate check_hcr_el2_trap to use syndrome helper\n target/arm: use syndrome helpers in arm_cpu_do_interrupt_aarch32_hyp\n target/arm: use syndrome helpers to set SAME_EL EC bit\n target/arm: make whpx use syndrome helpers for decode\n target/arm: make hvf use syndrome helpers for decode\n target/arm: use syndrome helpers in merge_syn_data_abort\n target/arm: use syndrome helpers to query VNCR bit\n target/arm: remove old syndrome defines\n target/arm: report register in WFIT syndromes\n target/arm: teach arm_cpu_has_work about halting reasons\n target/arm: redefine event stream fields\n target/arm: ensure aarch64 DISAS_WFE will exit\n target/arm: implements SEV/SEVL for all modes\n target/arm: hoist event broadcast code into a helper\n target/arm: implement global monitor events\n target/arm: enable event stream on WFE instructions\n target/arm: handle the WFE trap case\n target/arm: implement WFET\n\n target/arm/cpu.h | 27 ++\n target/arm/internals.h | 31 +-\n target/arm/syndrome.h | 595 +++++++++++++++++++++++++++------\n target/arm/tcg/helper-defs.h | 5 +-\n target/arm/tcg/translate.h | 32 ++\n target/arm/tcg/a32.decode | 5 +-\n target/arm/tcg/a64.decode | 5 +-\n target/arm/tcg/t16.decode | 4 +-\n target/arm/tcg/t32.decode | 4 +-\n target/arm/arm-powerctl.c | 4 +-\n target/arm/cpu.c | 53 ++-\n target/arm/helper.c | 12 +-\n target/arm/hvf/hvf.c | 14 +-\n target/arm/kvm.c | 5 +-\n target/arm/machine.c | 2 +-\n target/arm/tcg/debug.c | 2 +-\n target/arm/tcg/op_helper.c | 231 +++++++++++--\n target/arm/tcg/tlb_helper.c | 6 +-\n target/arm/tcg/translate-a64.c | 60 +++-\n target/arm/tcg/translate.c | 35 +-\n target/arm/tcg/vfp_helper.c | 5 +-\n target/arm/whpx/whpx-all.c | 13 +-\n 22 files changed, 946 insertions(+), 204 deletions(-)" }