{"id":2225443,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2225443/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260421051346.41106-2-richard.henderson@linaro.org/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.2/projects/14/?format=json","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":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421051346.41106-2-richard.henderson@linaro.org>","list_archive_url":null,"date":"2026-04-21T05:13:10","name":"[01/37] target/arm: Implement ID_AA64ISAR3","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"f7993da9151e635fc674b63039442f2848834f1b","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/1.2/people/72104/?format=json","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260421051346.41106-2-richard.henderson@linaro.org/mbox/","series":[{"id":500729,"url":"http://patchwork.ozlabs.org/api/1.2/series/500729/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500729","date":"2026-04-21T05:13:11","name":"target/arm: Implement FEAT_FAMINMAX, FEAT_FPMR, FEAT_FP8","version":1,"mbox":"http://patchwork.ozlabs.org/series/500729/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2225443/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2225443/checks/","tags":{},"related":[],"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=GKDtbsnw;\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 4g09Y31rbgz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 15:15:35 +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 1wF3Rj-00082P-Jh; Tue, 21 Apr 2026 01:14:53 -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 <richard.henderson@linaro.org>)\n id 1wF3Qt-0007us-4G\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 01:14:01 -0400","from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wF3Qr-0006Js-8m\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 01:13:58 -0400","by mail-pg1-x52d.google.com with SMTP id\n 41be03b00d2f7-c7358a7a8d1so2316794a12.3\n for <qemu-devel@nongnu.org>; Mon, 20 Apr 2026 22:13:55 -0700 (PDT)","from stoup.. ([180.233.125.15]) by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b5fab0cddfsm174631715ad.49.2026.04.20.22.13.52\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 20 Apr 2026 22:13:54 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776748435; x=1777353235; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=/xapIpLETptineJX0lgqdbGa1HlQeIgwkY2ZGyDukvI=;\n b=GKDtbsnwWXBUyez5l22quUYvHv3igKtOzh8KfEUZ4TqyxzisBUoy/7QPlPP5MsI5Ec\n Ls8CCRuGdw7oJsErc8ghmp9tnvAz/HQewK9ycLoKLHg3PEND2Ki0QxlGEOnZJl7aFVFe\n 8K2XzWv4PvvzIPhPzBcl0h0MARChBcnC7OZ6DwJxrtHcARNwXkk/rfsTzI7gGBsyOCsN\n e/PL8ToVYmVjD2PQKWclJNE7qXHPb68AP1yVFNkqmf+e7/wo/gLl1rFIxyd0gBTdeELR\n 7gFBLNGS1TRrtsGsfjON26Oc4RokzuHHV2lWm8QhmMuu0kZt6jf3roaUKRHs1bZcJoGp\n PEDQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776748435; x=1777353235;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=/xapIpLETptineJX0lgqdbGa1HlQeIgwkY2ZGyDukvI=;\n b=RqlOLf7aM3lBjS9MwqtPtbQrjafG7oRINS86Mfffu+8p6ed8GwI7WbH5GYwWkCT6pL\n 4J0dHAncwW82E4CNhcbNLR5MG2wFRoYC7sL5OB+mjOypAr9p06DX6rR0dcYzAWkKnxjn\n z4dWQku7QvC5Mcid+Jl60SBzPJw+8IV7UtABqgsO9Z3QX5lUHXMjBcBjI8xiezYRkeAp\n quAEKrxzEpdR8hXaIdJA8sfpvZKRpVjGUAoqQmmw2WthSXE4Ws96+96wbjcnsBaq9HoB\n NEk3Bdbii8RTmqKFfl1mfQZ4oZ8xa6HAUADxiP27WXJGmJoTwq+Y1oSFJ3gDc+M37R6D\n PsfQ==","X-Gm-Message-State":"AOJu0YzBYI6233rBqHyHn+pdJWEibuvUZqpcARTg+DszCDm+9dEQW8J6\n +rOhuUO1BIwmoniKlfRP2A6UMgnnATHZWjwd+I1ckSl8WY/DTe5N/JdnhRdDGvkXOuxLCRQURJb\n 0NKKa8HE=","X-Gm-Gg":"AeBDietXDcAAir23SOf0mh9rgFdVK3VyuUcqyiU45F+5CK+i9J4BVjwJbxltA3NFxFP\n UcY/K6zFPY6fgEYb0Mapfp4BZ/Iwh2m0Ox+eGEQRQI4LcRdznt/E0YH4u6OR58nE9+2d+xfMfs9\n EsqczExvZB0uRG+n/oylxuostEFM3xtelvddNA5CYOjoDl8/rYM5w/RXxrQ4KVuAhUGaaNFzwBv\n 8QRz1vCAEnW7Zf7+goaUs+Z5OLNNfquWDrunB66M3bdZrWDPcTrRDCBjEYxxbT1Zce7hdrPG9Xz\n D1fIpfv1o1VZeTCZ4OM1Ladt5gKOkqf4IVrP+5pCuKmhY9NpVE9H+m1JC++BsFEJ3Gk6qnRax2p\n fK4000fkyEBDlH6oU8svWUpHGn4NdN1uS1fa+JHqa2zI8fTUGuV86O/A556R0l7v+eq+em8OmTc\n 4PJAKNi69SR0+eGxnAJAvTHOFLBvNWl+GyoJLnfdgL","X-Received":"by 2002:a17:902:988d:b0:2b2:6cab:30fe with SMTP id\n d9443c01a7336-2b5f9fca466mr131495985ad.29.1776748434622;\n Mon, 20 Apr 2026 22:13:54 -0700 (PDT)","From":"Richard Henderson <richard.henderson@linaro.org>","To":"qemu-devel@nongnu.org","Cc":"qemu-arm@nongnu.org","Subject":"[PATCH 01/37] target/arm: Implement ID_AA64ISAR3","Date":"Tue, 21 Apr 2026 15:13:10 +1000","Message-ID":"<20260421051346.41106-2-richard.henderson@linaro.org>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20260421051346.41106-1-richard.henderson@linaro.org>","References":"<20260421051346.41106-1-richard.henderson@linaro.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::52d;\n envelope-from=richard.henderson@linaro.org; helo=mail-pg1-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,\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=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":"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":"Signed-off-by: Richard Henderson <richard.henderson@linaro.org>\n---\n target/arm/cpu-features.h    | 9 +++++++++\n target/arm/helper.c          | 8 ++++++--\n target/arm/cpu-sysregs.h.inc | 1 +\n 3 files changed, 16 insertions(+), 2 deletions(-)","diff":"diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h\nindex b683c9551a..b165fe0b1a 100644\n--- a/target/arm/cpu-features.h\n+++ b/target/arm/cpu-features.h\n@@ -244,6 +244,15 @@ FIELD(ID_AA64ISAR2, CSSC, 52, 4)\n FIELD(ID_AA64ISAR2, LUT, 56, 4)\n FIELD(ID_AA64ISAR2, ATS1A, 60, 4)\n \n+FIELD(ID_AA64ISAR3, CPA, 0, 4)\n+FIELD(ID_AA64ISAR3, FAMINMAX, 4, 4)\n+FIELD(ID_AA64ISAR3, TLBIW, 8, 4)\n+FIELD(ID_AA64ISAR3, PACM, 12, 4)\n+FIELD(ID_AA64ISAR3, LSFE, 16, 4)\n+FIELD(ID_AA64ISAR3, OCCMO, 20, 4)\n+FIELD(ID_AA64ISAR3, LSUI, 24, 4)\n+FIELD(ID_AA64ISAR3, FPRCVT, 28, 4)\n+\n FIELD(ID_AA64PFR0, EL0, 0, 4)\n FIELD(ID_AA64PFR0, EL1, 4, 4)\n FIELD(ID_AA64PFR0, EL2, 8, 4)\ndiff --git a/target/arm/helper.c b/target/arm/helper.c\nindex 7389f2988c..08285b69a7 100644\n--- a/target/arm/helper.c\n+++ b/target/arm/helper.c\n@@ -6552,11 +6552,11 @@ void register_cp_regs_for_features(ARMCPU *cpu)\n               .access = PL1_R, .type = ARM_CP_CONST,\n               .accessfn = access_tid3,\n               .resetvalue = GET_IDREG(isar, ID_AA64ISAR2)},\n-            { .name = \"ID_AA64ISAR3_EL1_RESERVED\", .state = ARM_CP_STATE_AA64,\n+            { .name = \"ID_AA64ISAR3_EL1\", .state = ARM_CP_STATE_AA64,\n               .opc0 = 3, .opc1 = 0, .crn = 0, .crm = 6, .opc2 = 3,\n               .access = PL1_R, .type = ARM_CP_CONST,\n               .accessfn = access_tid3,\n-              .resetvalue = 0 },\n+              .resetvalue = GET_IDREG(isar, ID_AA64ISAR3) },\n             { .name = \"ID_AA64ISAR4_EL1_RESERVED\", .state = ARM_CP_STATE_AA64,\n               .opc0 = 3, .opc1 = 0, .crn = 0, .crm = 6, .opc2 = 4,\n               .access = PL1_R, .type = ARM_CP_CONST,\n@@ -6785,6 +6785,10 @@ void register_cp_regs_for_features(ARMCPU *cpu)\n                                R_ID_AA64ISAR2_BC_MASK |\n                                R_ID_AA64ISAR2_RPRFM_MASK |\n                                R_ID_AA64ISAR2_CSSC_MASK },\n+            { .name = \"ID_AA64ISAR3_EL1\",\n+              .exported_bits = R_ID_AA64ISAR3_FAMINMAX_MASK |\n+                               R_ID_AA64ISAR3_LSFE_MASK |\n+                               R_ID_AA64ISAR3_FPRCVT_MASK },\n             { .name = \"ID_AA64ISAR*_EL1_RESERVED\",\n               .is_glob = true },\n         };\ndiff --git a/target/arm/cpu-sysregs.h.inc b/target/arm/cpu-sysregs.h.inc\nindex 3d1ed40f04..b99579f773 100644\n--- a/target/arm/cpu-sysregs.h.inc\n+++ b/target/arm/cpu-sysregs.h.inc\n@@ -10,6 +10,7 @@ DEF(ID_AA64AFR1_EL1, 3, 0, 0, 5, 5)\n DEF(ID_AA64ISAR0_EL1, 3, 0, 0, 6, 0)\n DEF(ID_AA64ISAR1_EL1, 3, 0, 0, 6, 1)\n DEF(ID_AA64ISAR2_EL1, 3, 0, 0, 6, 2)\n+DEF(ID_AA64ISAR3_EL1, 3, 0, 0, 6, 3)\n DEF(ID_AA64MMFR0_EL1, 3, 0, 0, 7, 0)\n DEF(ID_AA64MMFR1_EL1, 3, 0, 0, 7, 1)\n DEF(ID_AA64MMFR2_EL1, 3, 0, 0, 7, 2)\n","prefixes":["01/37"]}