Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2231087/?format=api
{ "id": 2231087, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2231087/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260430104434.1482407-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": "<20260430104434.1482407-1-alex.bennee@linaro.org>", "date": "2026-04-30T10:44:27", "name": "[v4,0/7] 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/20260430104434.1482407-1-alex.bennee@linaro.org/mbox/", "series": [ { "id": 502271, "url": "http://patchwork.ozlabs.org/api/1.1/series/502271/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502271", "date": "2026-04-30T10:44:31", "name": "target/arm: fully model WFxT instructions for A-profile", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/502271/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2231087/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=NO/zv52G;\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 4g5rSv5GmZz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 20:46:39 +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 1wIOt3-0008KA-JD; Thu, 30 Apr 2026 06:44:54 -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 1wIOsy-0008Gf-90\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 06:44:49 -0400", "from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e])\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 1wIOsu-0005K2-6y\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 06:44:47 -0400", "by mail-wr1-x42e.google.com with SMTP id\n ffacd0b85a97d-449e96a8a80so88758f8f.3\n for <qemu-devel@nongnu.org>; Thu, 30 Apr 2026 03:44:38 -0700 (PDT)", "from draig.lan ([185.124.0.195]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-449c576d0a2sm1716971f8f.31.2026.04.30.03.44.35\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 30 Apr 2026 03:44:35 -0700 (PDT)", "from draig.lan (localhost [IPv6:::1])\n by draig.lan (Postfix) with ESMTP id BF26E5F810;\n Thu, 30 Apr 2026 11:44:34 +0100 (BST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777545877; x=1778150677; 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=uQCxK/7ijLL/t42TsiFPAMhWhZ6B9omgDsTqwxgSxOA=;\n b=NO/zv52GjCHnQ2fvgUOYOlAWJ9eRkP9d1G17dLUZ+RdGujyFCHAxmMwwuZWUjipWJT\n KrwfuoGvU6T2R2TCd7h8fjgAKgscK7O7xqf+I0IojdumyJcqRyigfBkmx904nl41/cUX\n pVDx1IPdIg1bFcZYXwhFd6xrfgWBWfzpj7viqMblJNRtbBz2z6qpUel/kKUslEK72W35\n scX+X1etHCPoGwZ8EZSD+ODQsyZOABjAIXGseXLBc0WB0uMnS5l+p4CyP/npvey3Bwzp\n DzuwSA3VmGksLrCE61kHz+8MdyauMsCWtDUSOWOaCuJsRFVkUT4QyZpBIEw1YYoj0Mg5\n hQgg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777545877; x=1778150677;\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=uQCxK/7ijLL/t42TsiFPAMhWhZ6B9omgDsTqwxgSxOA=;\n b=gwXFbZ6FTjhTG0F4rNlKIAVS38UKHVaFXQLmNQLfbFcM74JGfqSkO0BdQOWUpr/G3i\n NnTZG9SO7C5kW1wTgotTW5lI3gfTvTAL3Fy8sbC3czi750JnmCzZr7tp3E2ZfThvEu7t\n YdNsTZCwSbsLDhttmoSFI5iRNSk3EN9tLm9y6WQ9i1PidGlH/9yZyEbm6nWIjugdUcUV\n Db5RKittQwstabtYUiLW58nHBJBOfPWyAOt3QpkEzCtMUrgnVyrDEDbJj5K6RLL3gTzb\n rYhgXkCJ6GOEZx0NGuwcA7JtJPV2m3XIjCb9BNk27CBPVRyJ9iLjYVbw1/6dF6GfokiA\n o40Q==", "X-Gm-Message-State": "AOJu0YzDvfahNJfHIen+qkyGxFP/9MChvLhC//Mg9nHqcoN7wlAvtUzm\n GMkSYJA3u1QjDlN89eLreQBYfSMs96DzrZf2h6sCKbT6bSBzUVNgRcuy8xwDLJp4u18=", "X-Gm-Gg": "AeBDievYl+TzTlg9hVK7u5Fq3/k3c6fvz9qTGquImEjMzlaoYEL9xu4tTLId0XWSuIp\n XRPDLNcbrvakWXGeyWzSzu3CNQojWoUGGQsDzXDNgwpYGC39z6NWka5yRHRDPxmxEWoe1kaNyBJ\n RU2nmcCWPL/1jVsXKczAmqz3xwn0mqxsXDuS9GrGlgt1xs47TkyioDuvOvuYNKYBYcpOXUIsxrC\n dpxFn5T9Ikkzd2rEbGmOeFCMmvx/G3hED51Vl371fEeXDEy7GppZPGrSavRJlxIKLwpcumwHcTj\n izYw3LNV+oILjV9WQwFvSi5vMnBVPZqmoSLVx/lcucGHSlk1P+zLqLjgbGZc1Z4n+zQYr5ISf2r\n VPKFtRHzDmJq87nSbl33ST0xrNYUJC5wo9oqt/6S67ww5GgeLr6j/1VQVugeyXNFaeO2kOyI7W3\n aLQZRSooA28S5BipuJ7itJhDZl0vUHx8b+Kg==", "X-Received": "by 2002:a05:6000:2303:b0:43d:7940:f143 with SMTP id\n ffacd0b85a97d-4493d7f8a6dmr3627316f8f.1.1777545877332;\n Thu, 30 Apr 2026 03:44:37 -0700 (PDT)", "From": "=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>", "To": "qemu-devel@nongnu.org", "Cc": "Mohamed Mediouni <mohamed@unpredictable.fr>, qemu-arm@nongnu.org,\n Pedro Barbuda <pbarbuda@microsoft.com>,\n Peter Maydell <peter.maydell@linaro.org>,\n Paolo Bonzini <pbonzini@redhat.com>, kvm@vger.kernel.org,\n Alexander Graf <agraf@csgraf.de>,\n =?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>", "Subject": "[PATCH v4 0/7] target/arm: fully model WFxT instructions for\n A-profile", "Date": "Thu, 30 Apr 2026 11:44:27 +0100", "Message-ID": "<20260430104434.1482407-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::42e;\n envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.google.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\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 refactoring from the previous iterations of the patch have now\nbeen merged.\n\nI've dropped trying to fully model the global monitor in favour of\ntaking advantage of the architectural flexibility to have an IMPDEF\nevent wake up for any reason. We treat the setting of exclusive_addr\nas such a reason because it indicates the current vCPU is in a ldstx\nexclusive region and we don't want the guest to deadlock. This does mean\nthe system won't sleep on WFE enabled locks but people shouldn't be\nrelying on QEMU to model real world sleep patterns anyway given the\nefficiency of emulation compared to real HW.\n\nThe following patches still need review:\n\n target/arm: implement WFET\n target/arm: handle the WFE trap case\n target/arm: enable event stream on WFE instructions\n target/arm: implements SEV/SEVL for all modes\n target/arm: teach arm_cpu_has_work about halting reasons\n\nv4\n - precursor refactor patches now merged\n - dropped global monitor emulation\n - addressed other comments\n - tested with check-tcg and kvm-unit-test wfx tests\n\nv3\n - fixed the WFE exception handling\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\nAlex.\n\nAlex Bennée (7):\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: 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 | 16 +++\n target/arm/internals.h | 22 ++-\n target/arm/tcg/helper-defs.h | 3 +-\n target/arm/tcg/translate.h | 18 +++\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 | 8 +-\n target/arm/kvm.c | 5 +-\n target/arm/machine.c | 2 +-\n target/arm/tcg/op_helper.c | 254 ++++++++++++++++++++++++++++++---\n target/arm/tcg/translate-a64.c | 64 +++++----\n target/arm/tcg/translate.c | 31 ++--\n 16 files changed, 395 insertions(+), 103 deletions(-)" }