From patchwork Thu Oct 20 22:35:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 616809 Delivered-To: patch@linaro.org Received: by 2002:a17:522:c983:b0:460:3032:e3c4 with SMTP id kr3csp578209pvb; Thu, 20 Oct 2022 15:52:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7bAxoduNpmd66N6FmrNHzjrY6VKwa+s7uAYk1e1kPNniL4B6ItOBSnJGBZeYASkfNhSn+u X-Received: by 2002:a05:622a:607:b0:39c:e9b9:c043 with SMTP id z7-20020a05622a060700b0039ce9b9c043mr13690263qta.300.1666306326075; Thu, 20 Oct 2022 15:52:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666306326; cv=none; d=google.com; s=arc-20160816; b=0L9oVSU7kLCbBXt7JJp9dFS/80ZQJncGdx2T9lvZkpAiALEkk03e7BSgpVgE03wJbQ s/CnbwBJYcB+ej2fsE1yK/AiT4LMqOyLXuBZk7YmwAMLm0EfaPlb9ker7s+MspndWBIk CuYmpHDqOwncUm3Ez+aN5XIqXBaOkdcbqbjyIulaiQbSl32w7Qex1RjX9yex3inQLKF6 BrFQK7vV7M1EPDPQpehnUjm4sAi16AF0xYpr1sjCDamhZV2hkbOP/oy/nMgQMYBIY+7M gwaX4KDuVlm7AVS+DEjuygcIPjWOeKEahD3/7OVjLlUZCkMtpFkn82+13MuB7fj14AOR KWnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=0Uj3TKeNhrdwNRMuPPy9S8hZ09c8NnmiwVQNH1E06JU=; b=qqFmHIl20O1hB2Bvstf5xEaW6WHXy73Or/6Er7UxDuUdezvJCW2FvoQ0vOtnU9g8iS XQikwfHMyA9TtCx4xPiD41DJAKsh1kpQR91C6hmCLcI5Q/bhYikWvVmBMahYu9qvptF7 XUpSNsbGn6WmdljV0Dy9VMKNQ4PaDzu+6VYJ69k5LX9pQSFBoVmXTsJeLwbOZHxNUMTH 2Lh5CJckh3TmtaiQoUD1+X+p5DB8kagr0teFAndnn+LyfQWNCd9M5Gy7Wtx2P+8wsf9+ 234G0LeP0l3TGo2jCgH8RGOQ+ee2rnmtUUowYeSyuFKVnvcMff48FtrkKFYgz/XPcSNw SiQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JhLbK3WN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id o12-20020ac841cc000000b0039cba529765si10519600qtm.208.2022.10.20.15.52.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Oct 2022 15:52:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JhLbK3WN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oleOT-00064u-04 for patch@linaro.org; Thu, 20 Oct 2022 18:52:05 -0400 Received: from [::1] (helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ole9X-0006HL-3s for patch@linaro.org; Thu, 20 Oct 2022 18:36: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 1ole9P-0006By-0a for qemu-devel@nongnu.org; Thu, 20 Oct 2022 18:36:32 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ole9N-0000y7-Cq for qemu-devel@nongnu.org; Thu, 20 Oct 2022 18:36:30 -0400 Received: by mail-pf1-x42b.google.com with SMTP id i3so846426pfk.9 for ; Thu, 20 Oct 2022 15:36:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0Uj3TKeNhrdwNRMuPPy9S8hZ09c8NnmiwVQNH1E06JU=; b=JhLbK3WNFoRrJii59yJ6ytA0N0iZjaPu9ZhocGYtvu2HNkUU3+zutBCCY9+xW9vUTV oNLTj7NlOO1j9C3NWK+O3pUSs0A/TOZ0V3sGqnHs9UH4clkbHL+xAD6HFX4XUfzL5Ee5 p/k4jjNnPh6tYVxObGyuIZCRKyNPcPH8yLzoCturR/XzdoTrOA0jGdgT2SDq+gYRuJoO Ile7UX21yF4Sk2lP4TcjNFFB2DaHzHlPuxhwKY9JAIPrEZoTgiZYMXk8ekHb/TOYyHWX a6EOOBW2HPmnnLzQpNOdGgYUJrB4Utv2a8GvcS3PDckjqEYppFnRJ8z5VUmE51V21KA1 Obew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0Uj3TKeNhrdwNRMuPPy9S8hZ09c8NnmiwVQNH1E06JU=; b=IGObJXDmW1H6wZCbBuZIVMBY4TV76vRUwNldiA7cEe6InSvttFA0zHTREFAtSKUHjo J7mEc5v6ogo9HmKAHbgt3hwyiX4nAKuYM0gPEpPyZtpeIMw+T1XS6UqN+diO6dgvDZM+ qYhGWR3lI+OVODktCOR9C6F8BsVM9pIlZFBwgKBxs9dFEI3G+5DYVvpotJhdcsXTsgMJ FV+OkNAwzOYNfPsvMjAtJpoAjfiOUzgSDhz4Yq2c35OjsxA+EJS7Q66uwoHfDjztP5Yy NcoeoQGpTK0LIwUri2+WBb2Cv8PcheNiCcik5PUg7HW4El+vPTPLGeE5zIej1FtrJ0cP /azw== X-Gm-Message-State: ACrzQf1+LsLHn8YsBJ8YecMND6obDR1AIefeCM4y513o4i+vObiFUZhB JY0PeFO9jeojlsjKDhrKlzHSwkHuerREzBK3 X-Received: by 2002:a63:1508:0:b0:438:eb90:52d1 with SMTP id v8-20020a631508000000b00438eb9052d1mr13911763pgl.252.1666305385538; Thu, 20 Oct 2022 15:36:25 -0700 (PDT) Received: from localhost.localdomain ([149.135.10.35]) by smtp.gmail.com with ESMTPSA id r10-20020aa7988a000000b0054cd16c9f6bsm13753841pfl.200.2022.10.20.15.36.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Oct 2022 15:36:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH v5 00/14] target/arm: Implement FEAT_HAFDBS Date: Fri, 21 Oct 2022 08:35:34 +1000 Message-Id: <20221020223548.2310496-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Changes for v5: * Rebase, including 12 patches. * Add regime_is_stage2, which I should have done ages ago. * Reorg attribute extraction/merging vs descriptor modifications. Patches lacking review: 01-target-arm-Introduce-regime_is_stage2.patch (new) 02-target-arm-Add-ptw_idx-to-S1Translate.patch 11-target-arm-Tidy-merging-of-attributes-from-descri.patch 13-target-arm-Implement-FEAT_HAFDBS-dirty-bit-portio.patch r~ Richard Henderson (14): target/arm: Introduce regime_is_stage2 target/arm: Add ptw_idx to S1Translate target/arm: Add isar predicates for FEAT_HAFDBS target/arm: Extract HA and HD in aa64_va_parameters target/arm: Move S1_ptw_translate outside arm_ld[lq]_ptw target/arm: Add ARMFault_UnsuppAtomicUpdate target/arm: Remove loop from get_phys_addr_lpae target/arm: Fix fault reporting in get_phys_addr_lpae target/arm: Don't shift attrs in get_phys_addr_lpae target/arm: Consider GP an attribute in get_phys_addr_lpae target/arm: Tidy merging of attributes from descriptor and table target/arm: Implement FEAT_HAFDBS, access flag portion target/arm: Implement FEAT_HAFDBS, dirty bit portion target/arm: Use the max page size in a 2-stage ptw docs/system/arm/emulation.rst | 1 + target/arm/cpu.h | 10 + target/arm/internals.h | 11 + target/arm/cpu64.c | 1 + target/arm/helper.c | 22 +- target/arm/ptw.c | 505 +++++++++++++++++++++++----------- 6 files changed, 380 insertions(+), 170 deletions(-)