From patchwork Thu Nov 16 11:26:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 80016 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A2CD03858C42 for ; Thu, 16 Nov 2023 11:27:28 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2075.outbound.protection.outlook.com [40.107.247.75]) by sourceware.org (Postfix) with ESMTPS id EF2043858D20 for ; Thu, 16 Nov 2023 11:27:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EF2043858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EF2043858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.247.75 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134031; cv=pass; b=Dz4kgj0iFg9iquJcSOHvo0QbBozn+DE+s3oZBhFQO2LOYlp855g/Ir5hBj6woO9qA2Y1WDF5GBIg5jMRcbqhVDUIsdaVkK4Nu0bZXAJbZWaxIciOmVS1x3TTk7XsAXtoZB9mzrKGTpOVq+RsFt58t9SD/BI+fAMI2Q96w+Bk29w= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134031; c=relaxed/simple; bh=mXSQArvCbfy8qdtxJTHSVnrMUfR2kyTtA2OnW4FMl+c=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version:From: Subject:To; b=WSGxnz4moG677sK+Nyy7rJefFUJzHb+63hPek8w4PlC47/cRproFo9+8eq9k88nmP8pPd4G8BaYaYTuf2DrIPw377I6vWBEA6uvJSqYzcv6TiEFFcNJvQdi41b2VNsjWKb/ZnKrViye5JX9/YcyQFHIRBEe/VRX3p/WAjEB3zt8= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ZwX6rOgfcP8FJJWhfF/RvTuVIp2FTb+088VC8rcLCdEWmAKNUATRKiKfJSb7kTobwV00qqfPqfY/dH27OZuaelLSGcuGSBpu1PANM5SiO/wYHjjeHoqSJHFd/b49IjFi5uZOHFFmwbDfwEuNpkfWE/7WE3KKHTcupxbhKJis/QHni3c1XoATAWopzB5pdpEOZdGVRefeuaeiRqN8yG4FbyYU+KbzMsyWikWhh1RKQRbyRa6WO2wRPDJXH0lFgdXctU392XNxz6Soqmz/2N8WXk+sbq1qJ0Om9nmZLWKek0OwWYG4y4/klkUvLz0coHai1P5d4kJAiGQD/+nStVuYYA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mXSQArvCbfy8qdtxJTHSVnrMUfR2kyTtA2OnW4FMl+c=; b=kHhleUfOcSYOWK78Pl7x32txeLMe8HqlnC0pBNgGMLrnwazdb8UjL2scfpt50MNryZkzLWKxxseuKFfl1mg9vp8G5UMgkSBfqAJl91WCp34Y9e9z0yKyNfWu5yKewuzW+kv+iwopAiET1b5VUVSSGMb5uMHt731nB+dGnaG2Dm5sme829hu9gzfswjXNIMAhjJc4/vaMSKcE5chj00NgUqJwHp8a3FhZVVucQ4PsqkjqYvFev91MQONTo3Kdl0fWfIkIjB6ieSyO48/B50Be1OEsMdznleE4TYRHwXvJ7CU33fXWRcEFQBvRkgeZ7SFsdqMyR3sVJjEzN6EdQICeIg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mXSQArvCbfy8qdtxJTHSVnrMUfR2kyTtA2OnW4FMl+c=; b=LDj5Z6qiLI1k1tXv4Kv6P4mkrp1S+z6KuKWr7JOW342Vzsx4qodniAhVNxNtU83qqxoryRDqG6/TF+HrnI/HdxXHZiBGe3sLj4C5uH3pEXOPmg6NPYvGgbDDiMp/k3skzkfeS5dSymetxv8ZxXCtbx3jnveUZn5WPRJeNti5icI= Received: from AM6PR10CA0003.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::16) by PA4PR08MB6160.eurprd08.prod.outlook.com (2603:10a6:102:e5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Thu, 16 Nov 2023 11:27:05 +0000 Received: from AM1PEPF000252E1.eurprd07.prod.outlook.com (2603:10a6:209:89:cafe::4b) by AM6PR10CA0003.outlook.office365.com (2603:10a6:209:89::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:27:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM1PEPF000252E1.mail.protection.outlook.com (10.167.16.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:27:05 +0000 Received: ("Tessian outbound 7671e7ddc218:v228"); Thu, 16 Nov 2023 11:27:05 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 941d5c486684e9b9 X-CR-MTA-TID: 64aa7808 Received: from 16f60f49553f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A0A9C0CB-51A1-4C5D-8651-0A80CAD2E2C7.1; Thu, 16 Nov 2023 11:26:58 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 16f60f49553f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 16 Nov 2023 11:26:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RrXxofadD85Hy7yvNF8ebJk0uu55a79TF8wanDtCBZiJJcwdbs6A6sRbTNOWcSVUS/U6VuWZTGz0p6f1npCySqAQYPeTraCCeKXQ/1b0VNJ0ocC/D+5b9yE9HLiZqyDOeFPpvEP6B7u5XN+TISPz2I6L2eI+xi4CL7l+hajL62dc7CXCoO+wt4jS0t79k09felyoBQR3PiclQr/3/5Bjf1sjPHegCzbweT+qE1m/o46TgYTsyU5I9tiBWcqhwlDCjDMdoPCAu/iu765SdGguek3dp6vQDzIhO/KvNjuiaWeZvqCcbj8jhHr8AIJLjR7L13ZwZOid7JGFGUgLRZx6Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mXSQArvCbfy8qdtxJTHSVnrMUfR2kyTtA2OnW4FMl+c=; b=ndzA80JLyBMb2kDI7TgGhPWGrG+YzpZR5eFUrA7s2to9GttyaosJ2XQHmloHlc9QoyuLD9ES0aZoVC8+Z94cDiuUDQbGzAWXa00npTgS/nqWsFA85Njbnuio9ZHrzDzmo4/cjeltUTy3j4aKulm17Uc1NQp/oKB/+s7AosRhOpZNS898L7g1zp5eR2YRWZMnt5UWNRyVZmCe84nBRS9kcZOOYVfsNg3hwGYSnmUoOcZuu+Rp6ifeLFEIcJdNY56IEe+moeFElQpHsVuZzIYinwKkYWZvbWh4XmIYceiyJ7wMfJTXwMfp08n3sEkHF2HSTOQn/aQJK/TXnqU+zuV3bA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mXSQArvCbfy8qdtxJTHSVnrMUfR2kyTtA2OnW4FMl+c=; b=LDj5Z6qiLI1k1tXv4Kv6P4mkrp1S+z6KuKWr7JOW342Vzsx4qodniAhVNxNtU83qqxoryRDqG6/TF+HrnI/HdxXHZiBGe3sLj4C5uH3pEXOPmg6NPYvGgbDDiMp/k3skzkfeS5dSymetxv8ZxXCtbx3jnveUZn5WPRJeNti5icI= Received: from AS8PR04CA0023.eurprd04.prod.outlook.com (2603:10a6:20b:310::28) by GV1PR08MB8377.eurprd08.prod.outlook.com (2603:10a6:150:a6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov 2023 11:26:55 +0000 Received: from AMS0EPF000001A8.eurprd05.prod.outlook.com (2603:10a6:20b:310:cafe::ff) by AS8PR04CA0023.outlook.office365.com (2603:10a6:20b:310::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18 via Frontend Transport; Thu, 16 Nov 2023 11:26:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF000001A8.mail.protection.outlook.com (10.167.16.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:26:55 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:26:54 +0000 Received: from [10.57.70.166] (10.57.70.166) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Thu, 16 Nov 2023 11:26:54 +0000 Message-ID: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> Date: Thu, 16 Nov 2023 11:26:54 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Content-Language: en-US From: Srinath Parvathaneni Subject: [PATCH 1/5][BINUTILS] aarch64: Add SLC target for PRFM instruction. To: CC: Richard Earnshaw , X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A8:EE_|GV1PR08MB8377:EE_|AM1PEPF000252E1:EE_|PA4PR08MB6160:EE_ X-MS-Office365-Filtering-Correlation-Id: 6fdd4364-81c1-4bcd-0a9f-08dbe696f685 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ApXs0dEYiZw4pkTb8v1dRUW86J8BCgY23YfiKqBguJRg1Kri/X5qRh+8Zdl3Z2wmmCJVZqiDVpu4+PiiO6FsLpJkAdB5ETopzifPlfTOTf6/iFXZgDLkCWKw6GX4PKfQ+TzwFFS6K0EDen3/HRpZCGFXgLWJXbigSuKYGYmeQXb8TN1eNna+ychl+3UCcaThZiJele/Ez5fPXhMPr0MLcE4oxeKOVL3roWcUzgZ7q1C8vGYEW9/uspVURDvRVsZJCQnp3rlyCBWbex6qqmgAGILbWlZ3xNWqfWtL4PweBVQx6D4zP7wGW/e/OFgDPo5nn4EJXvxh0qr5UyBZk7nBr9ISQSuOrQ5PyOHVMObDI9Clf5egE1CuuY5wH3ja3KJf9vSg2cmvDXi6s7HRp4Qifr6aKndaOczVu/fG+G/THidU0Q3z7hVNqsaoby/hN3zV0iqEI1p8OKvRTtmZW4zEdEdNUfKC3AFuskpAk0yU8VqS3JcDgzQscBt19eol/ic9aU/rzf2ggvfZLWlcSEUeE6FYpJXIAGOHIruXL8BlizfkVWnUlXXGXLIlRWTtxqYrI6Hz74cz9cjjxGXYWsj0oxqua4sqQx0PNGB8rUV4vfqkCN3EQzR6HTtRj2h8egTh5ZP2fc3ys1as1lcyS+zu5Y7TwO44a6mR3gHEGW7tM3fIH/EGzyttIs0DA49yV07HEh/AYl8JiFEsTqCOzgvqV8vmOcR11Y54W4gG/PbSK1krxLfxQtIGbCKFxSiw0Wzpe0k4cU8zvqJ8mi3CDN5t+VNc3SzAfUZaa9gbRPH752XXGONeFxESLs921culsau3niyil/c/lwmiv8h4cBEQTQ== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(82310400011)(36840700001)(46966006)(40470700004)(235185007)(54906003)(2906002)(8676002)(40460700003)(4326008)(16576012)(8936002)(6916009)(70586007)(31696002)(86362001)(5660300002)(316002)(44832011)(564344004)(70206006)(41300700001)(36756003)(31686004)(40480700001)(478600001)(2616005)(36860700001)(356005)(33964004)(47076005)(26005)(336012)(426003)(81166007)(82740400003)(3940600001)(43740500002)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8377 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252E1.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 40b6c3d3-6f93-448d-b80f-08dbe696f077 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WExsPBj3MfXHePN4ZvmAHzmJc1rh81RWQ0Y73Okv7stZFcX1o2KHYnOP+PzLjY+X6c6HETVZvroHcls2n08PPliFvuhBwNrO98Jpd7r46Q/JFwg7eHa+hIJM/Wtr3G16mSHpSDee0rdAo6mZ1REsGMCK+FpFroNRZIdJmeRFOo0oZ+am3QIuGCcxoB5xOTnFcnt3P/hX9MrAcB5JGJBcloNvkArAebGHdnsCjN/vtozBOagdHFEigWP5sBq7t0eUvLlw3pvAWG+w131eu2py8ERW0AcBQvKW38S2owFWzbOE4G/B5aND20KTWrIJKiTJkIyenR8loNyGXpbDwrBqYdAHUFH/KAwbwhpYzbTPzNeCk1zXD7nIBEOkU/VlxVcZb8V3asljjR35bsZIiOu3DlaDe13xS4yUezdJt8BWHVnMUujn8AYwUnobiygqlvlg5l1MblQL00nZF2HWk4JcJ0OfSPcCj1YX/oXjzQ8HkQqF3X4Y+A40aQtU1hOM0mLYimKTjOemGzK+Jv6NNstrdWabC+gMYdVGKE2UXskKIb7XiliU4IpIrtVRjOFJrHwPbLUHfagj4TzuIspGkUMBstSh+Z2cej3HKMZsS2+AjaHZvKCEvWA3Yq/DkcthyWTAfj/PQXAp2tOIqR/kAmY3BkTZib/VLEYnfXNIRqSaWcCUYOYagRLKpsnGWzNMnvYGZFlktHY1NdFMaEl83Svng4WqLq6C5MMntWf/B97Sqbsob3qysfQwWdyS2gi3Ol6/z043+/SMirWPJQXN1e4E1OY4CpgnkSC1SgcH+X95g9eve/Km128Xa1F48GYdf7OR X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(136003)(396003)(376002)(39860400002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(82310400011)(36840700001)(40470700004)(46966006)(16576012)(316002)(54906003)(6916009)(36756003)(70206006)(70586007)(26005)(107886003)(336012)(426003)(2616005)(478600001)(40460700003)(33964004)(564344004)(31696002)(235185007)(36860700001)(86362001)(5660300002)(47076005)(82740400003)(81166007)(31686004)(2906002)(40480700001)(8936002)(41300700001)(44832011)(8676002)(4326008)(3940600001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 11:27:05.7829 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6fdd4364-81c1-4bcd-0a9f-08dbe696f685 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000252E1.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6160 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Hi, This patch adds support for FEAT_PRFMSLC feature which enables SLC target for PRFM instructions. Regression testing for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d index bb1a94cb0204b953ba204365c075493622d24c16..dbb7c0a96ffbe7043865f29dd04cab6807388dd0 100644 --- a/gas/testsuite/gas/aarch64/system.d +++ b/gas/testsuite/gas/aarch64/system.d @@ -240,16 +240,16 @@ Disassembly of section \.text: .*: f8af6be5 prfm pldl3strm, \[sp, x15\] .*: f8be58e5 prfm pldl3strm, \[x7, w30, uxtw #3\] .*: f9800c65 prfm pldl3strm, \[x3, #24\] -.*: d8000006 prfm #0x06, 0 +.*: d8000006 prfm pldslckeep, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6be6 prfm #0x06, \[sp, x15\] -.*: f8be58e6 prfm #0x06, \[x7, w30, uxtw #3\] -.*: f9800c66 prfm #0x06, \[x3, #24\] -.*: d8000007 prfm #0x07, 0 +.*: f8af6be6 prfm pldslckeep, \[sp, x15\] +.*: f8be58e6 prfm pldslckeep, \[x7, w30, uxtw #3\] +.*: f9800c66 prfm pldslckeep, \[x3, #24\] +.*: d8000007 prfm pldslcstrm, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6be7 prfm #0x07, \[sp, x15\] -.*: f8be58e7 prfm #0x07, \[x7, w30, uxtw #3\] -.*: f9800c67 prfm #0x07, \[x3, #24\] +.*: f8af6be7 prfm pldslcstrm, \[sp, x15\] +.*: f8be58e7 prfm pldslcstrm, \[x7, w30, uxtw #3\] +.*: f9800c67 prfm pldslcstrm, \[x3, #24\] .*: d8000008 prfm plil1keep, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 .*: f8af6be8 prfm plil1keep, \[sp, x15\] @@ -280,16 +280,16 @@ Disassembly of section \.text: .*: f8af6bed prfm plil3strm, \[sp, x15\] .*: f8be58ed prfm plil3strm, \[x7, w30, uxtw #3\] .*: f9800c6d prfm plil3strm, \[x3, #24\] -.*: d800000e prfm #0x0e, 0 +.*: d800000e prfm plislckeep, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6bee prfm #0x0e, \[sp, x15\] -.*: f8be58ee prfm #0x0e, \[x7, w30, uxtw #3\] -.*: f9800c6e prfm #0x0e, \[x3, #24\] -.*: d800000f prfm #0x0f, 0 +.*: f8af6bee prfm plislckeep, \[sp, x15\] +.*: f8be58ee prfm plislckeep, \[x7, w30, uxtw #3\] +.*: f9800c6e prfm plislckeep, \[x3, #24\] +.*: d800000f prfm plislcstrm, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6bef prfm #0x0f, \[sp, x15\] -.*: f8be58ef prfm #0x0f, \[x7, w30, uxtw #3\] -.*: f9800c6f prfm #0x0f, \[x3, #24\] +.*: f8af6bef prfm plislcstrm, \[sp, x15\] +.*: f8be58ef prfm plislcstrm, \[x7, w30, uxtw #3\] +.*: f9800c6f prfm plislcstrm, \[x3, #24\] .*: d8000010 prfm pstl1keep, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 .*: f8af6bf0 prfm pstl1keep, \[sp, x15\] @@ -320,16 +320,16 @@ Disassembly of section \.text: .*: f8af6bf5 prfm pstl3strm, \[sp, x15\] .*: f8be58f5 prfm pstl3strm, \[x7, w30, uxtw #3\] .*: f9800c75 prfm pstl3strm, \[x3, #24\] -.*: d8000016 prfm #0x16, 0 +.*: d8000016 prfm pstslckeep, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6bf6 prfm #0x16, \[sp, x15\] -.*: f8be58f6 prfm #0x16, \[x7, w30, uxtw #3\] -.*: f9800c76 prfm #0x16, \[x3, #24\] -.*: d8000017 prfm #0x17, 0 +.*: f8af6bf6 prfm pstslckeep, \[sp, x15\] +.*: f8be58f6 prfm pstslckeep, \[x7, w30, uxtw #3\] +.*: f9800c76 prfm pstslckeep, \[x3, #24\] +.*: d8000017 prfm pstslcstrm, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f8af6bf7 prfm #0x17, \[sp, x15\] -.*: f8be58f7 prfm #0x17, \[x7, w30, uxtw #3\] -.*: f9800c77 prfm #0x17, \[x3, #24\] +.*: f8af6bf7 prfm pstslcstrm, \[sp, x15\] +.*: f8be58f7 prfm pstslcstrm, \[x7, w30, uxtw #3\] +.*: f9800c77 prfm pstslcstrm, \[x3, #24\] .*: d8000018 prfm #0x18, 0 .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 .*: f9800c78 prfm #0x18, \[x3, #24\] @@ -360,17 +360,23 @@ Disassembly of section \.text: .*: f9800c63 prfm pldl2strm, \[x3, #24\] .*: f9800c64 prfm pldl3keep, \[x3, #24\] .*: f9800c65 prfm pldl3strm, \[x3, #24\] +.*: f9800c66 prfm pldslckeep, \[x3, #24\] +.*: f9800c67 prfm pldslcstrm, \[x3, #24\] .*: f9800c68 prfm plil1keep, \[x3, #24\] .*: f9800c69 prfm plil1strm, \[x3, #24\] .*: f9800c6a prfm plil2keep, \[x3, #24\] .*: f9800c6b prfm plil2strm, \[x3, #24\] .*: f9800c6c prfm plil3keep, \[x3, #24\] .*: f9800c6d prfm plil3strm, \[x3, #24\] +.*: f9800c6e prfm plislckeep, \[x3, #24\] +.*: f9800c6f prfm plislcstrm, \[x3, #24\] .*: f9800c70 prfm pstl1keep, \[x3, #24\] .*: f9800c71 prfm pstl1strm, \[x3, #24\] .*: f9800c72 prfm pstl2keep, \[x3, #24\] .*: f9800c73 prfm pstl2strm, \[x3, #24\] .*: f9800c74 prfm pstl3keep, \[x3, #24\] .*: f9800c75 prfm pstl3strm, \[x3, #24\] -.*: f8a04817 prfm #0x17, \[x0, w0, uxtw\] +.*: f9800c76 prfm pstslckeep, \[x3, #24\] +.*: f9800c77 prfm pstslcstrm, \[x3, #24\] +.*: f8a04817 prfm pstslcstrm, \[x0, w0, uxtw\] .*: f8a04818 rprfm pldkeep, x0, \[x0\] diff --git a/gas/testsuite/gas/aarch64/system.s b/gas/testsuite/gas/aarch64/system.s index 48e7bfeb10398190ee26338c7e83f363ba4a4bd8..9457b392f785f89af7cbf7aa81c36de9de94ad80 100644 --- a/gas/testsuite/gas/aarch64/system.s +++ b/gas/testsuite/gas/aarch64/system.s @@ -87,7 +87,7 @@ // .irp op, pld, pli, pst - .irp l, l1, l2, l3 + .irp l, l1, l2, l3, slc .irp t, keep, strm prfm \op\l\t, [x3, #24] .endr diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 5a0f0e9f52e31e8a0823e544122f4e65c2541570..80816d633661eb5a39e0da28c1cd5d4c87df308f 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -575,24 +575,24 @@ const struct aarch64_name_value_pair aarch64_prfops[32] = { "pldl2strm", B(0, 2, 1) }, { "pldl3keep", B(0, 3, 0) }, { "pldl3strm", B(0, 3, 1) }, - { NULL, 0x06 }, - { NULL, 0x07 }, + { "pldslckeep", B(0, 4, 0) }, + { "pldslcstrm", B(0, 4, 1) }, { "plil1keep", B(1, 1, 0) }, { "plil1strm", B(1, 1, 1) }, { "plil2keep", B(1, 2, 0) }, { "plil2strm", B(1, 2, 1) }, { "plil3keep", B(1, 3, 0) }, { "plil3strm", B(1, 3, 1) }, - { NULL, 0x0e }, - { NULL, 0x0f }, + { "plislckeep", B(1, 4, 0) }, + { "plislcstrm", B(1, 4, 1) }, { "pstl1keep", B(2, 1, 0) }, { "pstl1strm", B(2, 1, 1) }, { "pstl2keep", B(2, 2, 0) }, { "pstl2strm", B(2, 2, 1) }, { "pstl3keep", B(2, 3, 0) }, { "pstl3strm", B(2, 3, 1) }, - { NULL, 0x16 }, - { NULL, 0x17 }, + { "pstslckeep", B(2, 4, 0) }, + { "pstslcstrm", B(2, 4, 1) }, { NULL, 0x18 }, { NULL, 0x19 }, { NULL, 0x1a }, From patchwork Thu Nov 16 11:28:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 80017 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AFEE53858D32 for ; Thu, 16 Nov 2023 11:28:57 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2089.outbound.protection.outlook.com [40.107.14.89]) by sourceware.org (Postfix) with ESMTPS id E4AB83858D32 for ; Thu, 16 Nov 2023 11:28:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E4AB83858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E4AB83858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.14.89 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134121; cv=pass; b=WZ3SrHCBfde3V9Dd4qY9bqI3C0hFCKxE+iJjoXnN/ThkV0s1bSkHdFsOByIjXiwMl2NviPFFA65JQm7iraGMuFVxdranUXN8jV7po+HYUWJrBhpuZhcpcoUEJD6fh8XZXXs/3XHtP9NpBaxoA/QEn2gGbAjGUSBYWH2quW38KuA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134121; c=relaxed/simple; bh=muB3M5gqCMMZ4ad3hQpNe3P8Fs7MPNaVuN37rYTVZys=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:From:To; b=l9zlI6k144vdkCsZ7nQy5l1WLyuH+sxHwbCl53yQ0AHxDT5bGzk8ApZOIVLtos0pxEIo1g6Dh5wy/d0mYvtvPE4ssnbJ+PAPCvE3rnVbV5zBixY16b5jjrpll1wh2zdsTsSkPk6TuLg7sgBbvSpuYE8LVCfFz3ZSVil3VWVub+A= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=e9plkuSRskCisEvwezZnl3sNLEwJIy3Q+AsV+U4v6fjkmU2ghgkzI75l790na38JSLVDdX8C2zk/qRM3cZRP/lQzXBUnjWyEkCV8skPj4BD6vp6Nh3hmQzyTNFR3nRMhc7P5EPEuSyucxSKQ5y44JfmZ52cNDEFG7HY3gm6KGt9yAICtId2iqywyUKvm2ENNrLWnQ9DVrnKNoLjLENdMQ+LI2GeugLOkxtUtOAb7jaF7Cj6IMKFxKZw3jkPf3g05CHrCqjX08Bo+M0kS5UfOw0PrpMOtnZqoZ4i75Pu54hs8+PrV4JVKzyFAeJpdErVo3prscmFT5i/ODDKtJYIaZQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=muB3M5gqCMMZ4ad3hQpNe3P8Fs7MPNaVuN37rYTVZys=; b=gYZSev4pLhlS84rDOzxFCmHZIovi/3owT4yO897ElvAPMQTxdeogC0K0YSoPhbQ8V8dqLAbYjWBN3bZvhZ9V2wmntnbjUiHW0aiPiIhiHgSiI5UJrrL0yv9p9xygzAsSyB7wfksDlKZ5MWMplIA8vi+s8TpFzVaTDAK6JA+Fc5ToL5ee25QgIswQ0n5AOwsHN3Zd10giR+kVAEuiV1T+9nt0kHsC6vECh+SEptTcd2pn59Kfgqg8HumIVttkVD2q/3Ml5RLdYLRO1XIxoJVfRfgVifPRnWX3TAj5eF7qVzhRyKo7gPutcJejnWayrEHr2lfuvpEjRvLO7H+Ri02c0w== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=muB3M5gqCMMZ4ad3hQpNe3P8Fs7MPNaVuN37rYTVZys=; b=e821StWEMEVjgXG5wcXomPDyaMh9Er7PQQORDd2cPOCGdDoqe0xQWbYAn6eCxB8ns8XkYELQTb2Z1kBByYCZIV88VjV/ucoJ5vpP0hHmOflJGe5qR1CZfPar6A2Ej7W4GU6tIFtuoP+RDnvUzzrM45lR9Q4sXOcupv3fX1LePjk= Received: from AM6PR10CA0107.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::48) by PAWPR08MB9054.eurprd08.prod.outlook.com (2603:10a6:102:342::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov 2023 11:28:36 +0000 Received: from AM1PEPF000252DD.eurprd07.prod.outlook.com (2603:10a6:209:8c:cafe::9a) by AM6PR10CA0107.outlook.office365.com (2603:10a6:209:8c::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19 via Frontend Transport; Thu, 16 Nov 2023 11:28:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM1PEPF000252DD.mail.protection.outlook.com (10.167.16.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:28:36 +0000 Received: ("Tessian outbound 20615a7e7970:v228"); Thu, 16 Nov 2023 11:28:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4da6c6b22f880057 X-CR-MTA-TID: 64aa7808 Received: from bbee705d3f75.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 055B2708-DCB8-4BA0-946B-982B07992681.1; Thu, 16 Nov 2023 11:28:29 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bbee705d3f75.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 16 Nov 2023 11:28:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dV9QDoodewNiRliRtUDaKlP8JTRpkz9WY9x2RuzxrmOj6PnoF4Lc9RcZIPaimAPsfboqWvsRF65vcaRLBJRCMscKyGHHpvK1r54UTZc/Bd9gzmTpIoFP3RFNEcdFS8VCA23jJUJuajaT3fQJq7yqK0utuaH8hHm7MRG82NyFD4U8fotf1P9i8ZcGqA64PfKPj1yo+F0HYRgYaFaISNjxRbSUOXXuEMWBXPh8L5YmOLq9KS64JSzhG2bE4D/GUbrM/TFjFtE1d8tmu7R+OZnSeoyDEU07YcmITL1GDLbp0sxtr43bA5VeUTSh1wn1Yhdi2tBYZH1x/1kmWZpbncTBNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=muB3M5gqCMMZ4ad3hQpNe3P8Fs7MPNaVuN37rYTVZys=; b=Kw7ESSrDMz1hvZa0Koc8ZXAcqFAtisKo8SXgobIVd5jnlifTgr2ismpwzkRE52XIfa3omsAPzoRp4SdvEsdsM4QNxnPLtPawIza+BgfP6oufuzm7Z3+14R6wKXhyPOCXx1eT6HQb3Dh3Jy+qjNQJ6eA5dMy2cavDhe5Mcr8ksy7wyu0QmS/mS5CE2Akp7/0fBFej7tdat0qyP7NQOFhtFxJ1gybID1DJk+BAhltdwVsK/aE02iQ7AOex9hWBpnTCxqenWN4pWvPRIDlBujvmLKBbIiKrhaVzl6lJL/yWogS29ePIDCtrb2pF//w+Lj0aIWHkecUISNf9J8OsicVegw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=muB3M5gqCMMZ4ad3hQpNe3P8Fs7MPNaVuN37rYTVZys=; b=e821StWEMEVjgXG5wcXomPDyaMh9Er7PQQORDd2cPOCGdDoqe0xQWbYAn6eCxB8ns8XkYELQTb2Z1kBByYCZIV88VjV/ucoJ5vpP0hHmOflJGe5qR1CZfPar6A2Ej7W4GU6tIFtuoP+RDnvUzzrM45lR9Q4sXOcupv3fX1LePjk= Received: from AM6P192CA0029.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::42) by AS8PR08MB9623.eurprd08.prod.outlook.com (2603:10a6:20b:618::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Thu, 16 Nov 2023 11:28:26 +0000 Received: from AMS0EPF000001A9.eurprd05.prod.outlook.com (2603:10a6:209:83:cafe::ea) by AM6P192CA0029.outlook.office365.com (2603:10a6:209:83::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:28:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF000001A9.mail.protection.outlook.com (10.167.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:28:26 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:28:25 +0000 Received: from [10.57.70.166] (10.57.70.166) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Thu, 16 Nov 2023 11:28:25 +0000 Message-ID: <8dcf129a-88c8-198a-adbb-4da2e6403063@arm.com> Date: Thu, 16 Nov 2023 11:28:24 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 2/5][BINUTILS] aarch64: Add features to the Statistical Profiling Extension. Content-Language: en-US From: Srinath Parvathaneni To: CC: Richard Earnshaw , References: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> In-Reply-To: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A9:EE_|AS8PR08MB9623:EE_|AM1PEPF000252DD:EE_|PAWPR08MB9054:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ff30833-7cdc-4696-e01b-08dbe6972c7c X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: chAVEAI+0pLKbQg2sB/MASfmG4qwhYOvtu30ClEWeC4ez1NOUi0dXYq/lq9TPb6Jj3j4gdt70MZuIW44AxhNrkxdoWNCkEgBVrh7YyetUm23x5NQrsoZuL1KQoZd8Q3KCIXCgJE0yTNbnOMt4P6JMr2aTeu8O6pYwgfeZp3F/BoZNBNQS/lOGVR+9vXa+Yq/tMZZX28gp9W25KzbLX6ovrWI2G0hKihINxh+f7dFuJTsAE+zzns57OVl5pHQjYyLY4NjcDAyGlqTxwNYTYn7AGpHHQRJ85zuJEYfnK8jUHcSk9ia8VCt2KB0DscBvgKiQUXngottM5/sVlk5Ec8QaoR9hsWkXytUXjQOSMI6BKnZMkzMqqmtOWdIsoJ3GkrPmiJR9R39N7UjrpiPjg+tKXSjFKge5ZMfsMe5Ugix8TjH7BqRzxW/zcrQJcP8fUVxwZKpjDE6a7IEBGauKLVWrTFtmY95Hombdx4rhXqMMVRTjPn8AqUYgoEG6HyExBDpAoL0Azz7huwlExhbJdnFPnE/jd7c1z3tNNuq/xiflci9WVcR5zOwiMrjqNP97k7HMO6CfU4WzN4Z/G/sXrUhT4iqHeIXDW5LUvJ0G6KQ5yweNjuXqM++gOt0kFjEk9UTnBV+1pod8NXFAVa2TyFY3M1rqai6vfAx2dEr0FyYfycDt1J7IlVRX5M4+EQb2KsNuD6q3OfIxE/u5QuVT21xLguwWTDs03aWorz5wEFbDrjLXFMTQJ8UbDKKIrUAF0PupV3pFu9NzPS/tuI6KoFQbskif/1ccOIIKiOQPZMZKyhfPdeoV5RxAza0OdFOuzquzpxozBxZdR6YCLDv1PveNA== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(136003)(376002)(39860400002)(396003)(346002)(230922051799003)(451199024)(186009)(82310400011)(64100799003)(1800799009)(36840700001)(46966006)(40470700004)(70586007)(70206006)(41300700001)(316002)(16576012)(6916009)(54906003)(86362001)(5660300002)(235185007)(31696002)(2906002)(8676002)(40460700003)(4326008)(8936002)(44832011)(47076005)(81166007)(356005)(36860700001)(336012)(426003)(82740400003)(31686004)(40480700001)(478600001)(36756003)(26005)(2616005)(33964004)(3940600001)(36900700001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9623 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252DD.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 17d92726-02d5-4091-7fc1-08dbe69726a1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tdW4bRBrcR3rYDMuDg6nS2G9blbQgFVFj6KG+meSj/EDGkTHtliSW5e6BHk9zXP+Khnd/ibCejO3E+RQW0+cvvrMdvP/blnI08ueY6zQDODwIrpAn5XFqOhfC6eMg1dEYpwVWuc5O8qhmGmHutJe3X/nDBS+B9w3ES9EqAIy3NIDN+rXRezKNoQ8k0h9i+iqYYe91eoOxRWA/F3IpiK902P6EVviqb1Bk8/Rhctl8hw5Tht2zkIEHsQYBtxVCISNKH23mpo3Vuy7/7hEkMJ+4nuqCezcGGd99B6ro/1rQbo4pRTfRFCaYxAM5jo/VS2ML5ZV6aGya/F/A8Ximsz0ek3I96O3xl5swCINu5rKNc8US1JKDbpCZ1XgD19HXQE3tNFwx6q9j/cH3VlR/jMtBnNCb0rGcU3WWG/Fz3nB/nka9xs+5LBK/ClKhq3JkfZ9UhK3gwxW3C5NpdLKT7yGYH/UBf23oZZE5XFPs+HrrpZRI1ZKtfQN07VFCBM4htwGCy1Q0c+i92eSagEtewihq5YdkM1Ina6l5/jg/a873kUYa0ye6dfBB+4vsjs2f1O+APDu2NVj7HulHP4cVB21OZXguUKCO2f8IbHjJUDmqDY07UYhHNgFm2dVuYkm8kxrYyJGhVBdT6bxk+ObNe66uJj9mxxlfznxiJUpXfelrJnIeUcYYuxu+oDEieOvfeaaoT6++NNAmte5V1FBgnmUwx2xKIVj2BwzE4rf0X4yMXhPMyS1ybUQCUTuYNBE8kc6NddBG0VARd7r+zmHHSz9JYkoHiV9U74SULNMoG3MoJWlFonL1zTdcIgrVt+lepFJ X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(136003)(346002)(376002)(396003)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(82310400011)(64100799003)(36840700001)(40470700004)(46966006)(47076005)(82740400003)(81166007)(41300700001)(26005)(8676002)(4326008)(8936002)(31686004)(336012)(40480700001)(107886003)(426003)(36756003)(36860700001)(2616005)(33964004)(40460700003)(86362001)(478600001)(2906002)(31696002)(44832011)(16576012)(316002)(235185007)(6916009)(54906003)(70206006)(70586007)(5660300002)(3940600001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 11:28:36.3419 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7ff30833-7cdc-4696-e01b-08dbe6972c7c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000252DD.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9054 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Hi, This patch adds features to the Statistical Profiling Extension, identified as FEAT_SPEv1p4, FEAT_SPE_FDS, and FEAT_SPE_CRR, which are enabled by default from Armv9.4-A. Also adds support for system register "pmsdsfr_el1". Regression tested for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.d b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.d new file mode 100644 index 0000000000000000000000000000000000000000..2471b6b52c31183b0aef6f089fcc3ce22089ee98 --- /dev/null +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.d @@ -0,0 +1,3 @@ +#as: -march=armv8.8-a +#source: armv8_9-a-sysregs.s +#error_output: armv8_9-a-sysregs-bad.l diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l new file mode 100644 index 0000000000000000000000000000000000000000..48c55680aa07618cd1f0c165435533fe4dd31e41 --- /dev/null +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l @@ -0,0 +1,3 @@ +.*: Assembler messages: +.*: Error: selected processor does not support system register name 'pmsdsfr_el1' +.*: Error: selected processor does not support system register name 'pmsdsfr_el1' diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d new file mode 100644 index 0000000000000000000000000000000000000000..d4cb769fdf63aaa89ac4c410982cd20ac12bbd4d --- /dev/null +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d @@ -0,0 +1,10 @@ +#as: -march=armv8.9-a +#objdump: -dr + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d53c9a83 mrs x3, pmsdsfr_el1 +.*: d51c9a83 msr pmsdsfr_el1, x3 diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s new file mode 100644 index 0000000000000000000000000000000000000000..4200d7ce60ed21822731a836214bb44aeeea57ac --- /dev/null +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s @@ -0,0 +1,2 @@ + mrs x3, PMSDSFR_EL1 + msr PMSDSFR_EL1, x3 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 6be2885c78fbd5213220d22ce3218c39bb03916f..881a4211eabfad2cc4442efc78eb37c06d26973d 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -163,6 +163,12 @@ enum aarch64_feature_bit { AARCH64_FEATURE_CHK, /* Guarded Control Stack. */ AARCH64_FEATURE_GCS, + /* SPE Call Return branch records. */ + AARCH64_FEATURE_SPE_CRR, + /* SPE Filter by data source. */ + AARCH64_FEATURE_SPE_FDS, + /* Additional SPE events. */ + AARCH64_FEATURE_SPEv1p4, /* SME2. */ AARCH64_FEATURE_SME2, /* Translation Hardening Extension. */ @@ -224,7 +230,10 @@ enum aarch64_feature_bit { #define AARCH64_ARCH_V8_8A_FEATURES(X) (AARCH64_FEATBIT (X, V8_8A) \ | AARCH64_FEATBIT (X, MOPS) \ | AARCH64_FEATBIT (X, HBC)) -#define AARCH64_ARCH_V8_9A_FEATURES(X) (AARCH64_FEATBIT (X, V8_9A)) +#define AARCH64_ARCH_V8_9A_FEATURES(X) (AARCH64_FEATBIT (X, V8_9A) \ + | AARCH64_FEATBIT (X, SPEv1p4) \ + | AARCH64_FEATBIT (X, SPE_CRR) \ + | AARCH64_FEATBIT (X, SPE_FDS)) #define AARCH64_ARCH_V9A_FEATURES(X) (AARCH64_FEATBIT (X, V9A) \ | AARCH64_FEATBIT (X, F16) \ diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index 96bdadb0b0fe56f25ec2c210264900d6936db06b..aab2c7264cab0b4ca34ab8135194abd0126b7430 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -676,6 +676,7 @@ SYSREG ("pmscr_el1", CPENC (3,0,9,9,0), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) SYSREG ("pmscr_el12", CPENC (3,5,9,9,0), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) SYSREG ("pmscr_el2", CPENC (3,4,9,9,0), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) + SYSREG ("pmsdsfr_el1", CPENC (3,4,9,10,4), F_ARCHEXT, AARCH64_FEATURE (SPE_FDS)) SYSREG ("pmselr_el0", CPENC (3,3,9,12,5), 0, AARCH64_NO_FEATURES) SYSREG ("pmsevfr_el1", CPENC (3,0,9,9,5), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) SYSREG ("pmsfcr_el1", CPENC (3,0,9,9,4), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) From patchwork Thu Nov 16 11:31:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 80018 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 31984385841C for ; Thu, 16 Nov 2023 11:31:55 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2070.outbound.protection.outlook.com [40.107.6.70]) by sourceware.org (Postfix) with ESMTPS id 38A283858D32 for ; Thu, 16 Nov 2023 11:31:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 38A283858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 38A283858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.6.70 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134298; cv=pass; b=hkQ7U6OklPc+4ZajhHPxxZ08+t/fOIYKxoLYfksy6BKYhcGyHm82DOktbXtQaVc7lb9iDn/zWPYBLfMf5B6SDnv7Xqxhxpo1ZLeqxVX0p7QQS1RjO/gbMcY+NXDi0CWUxN0qk1MyON34dsGXYRYwQNyyXJOqOetitPifyRp19Bg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134298; c=relaxed/simple; bh=ZsqeKuQqQDODO4LbPWrxYbukJHT7Pmq0gjIBCsx6vIg=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:From:To; b=qDdsnf3aPm3PiJdTqeg3zNIlgKD2p2HqTpASnjbDpSOoOXKDMySCuBDxxyOyjEDPVvi/YB/m65gi+Zo5/yDuFygZ9p81atdGgDu1+jKRFFerIgzNKamo8OKk3ESb1SIUFxn7fXQsOZ9HYMvLsVbQASVUESNpKsOS77u6zyh+mHM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ECG2ZgI107KbCToX3rD5eomQu0swWS2APK/pQl8uwpPFeWhlCHAL+fiMBrzWULFr/nnpWuvLFcbEGEVSEVOcyNomny55DgfEtsmjfz1vAo2O/feO2P7ctR0l0ZPsRhNxhwv9Y8F+cT9jo+/4Xvj6flDzf1UzjAIizDCGNNwpWE2KMDlKClgXvF3JTqZROC9vc8ptm08FyNMqSBGlOTEkmy0pGZn2rl3vqyFu+JYKuUSSx2chFepm2NYu8tkw9dUcU41M/fPtyIc4fxRGM0HLvKbyFv2c8lVmVBZRZPXeYzqOJz6PchXWoIhYidgKLo75O4gBb0Y+gHPCOarq7kURVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NwM5a1BhkQDiwAqpufQlpGlPSmaJxgHVEMu/reWESc0=; b=YFqHOXRlOJ0MzG8eTPvcaIDLYkp6W6BvXcvFsw42QfKoSEHqD48/MDADbJrWtfoqwP4v0+6iHIDLqJ2nGcDs6A2b5FfdzQWLM5j75ypt7HgWQhBqToTqovk4xstfkoMC/on+iC4bBKLse/wxFd+9AmowJvWhHUb8Tl/CQppfZeIt+2+GNV7cf0NqZZHt7eW8zO8F6blxYNVz+QVbjzO8GWyvfFJW2xNW/TCEnZ0pP/iSUoC8VA3igUenDXcx8DUfGzS/2HFjkJttVj3THnNl+Ccpn7lus0/51fUDoCCp6lb40FmZ3CjMiwvdCwAYyy796AKJaQX7g8OV3KaRtfqSLA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NwM5a1BhkQDiwAqpufQlpGlPSmaJxgHVEMu/reWESc0=; b=bim4d/Q1bkjkmp9kycnuZVjdEKrDmwuUqz1Cm/LZut5WLsWytN6e/+NmuJMfi93s7fcxLZTzP5QZUUfP1c/7JIpb45tdDLOkt4+gmvD9cJjNUvN/tTPlRf2A4+zjOuTE74rNiOOWk6ffaXHfDhtkgN1tPBFnrTNpqgWXrrkWiRo= Received: from DB8P191CA0005.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::15) by GV1PR08MB8036.eurprd08.prod.outlook.com (2603:10a6:150:97::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Thu, 16 Nov 2023 11:31:29 +0000 Received: from DB5PEPF00014B90.eurprd02.prod.outlook.com (2603:10a6:10:130:cafe::14) by DB8P191CA0005.outlook.office365.com (2603:10a6:10:130::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:31:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5PEPF00014B90.mail.protection.outlook.com (10.167.8.228) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:31:29 +0000 Received: ("Tessian outbound 20615a7e7970:v228"); Thu, 16 Nov 2023 11:31:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8e8a07bf85e22168 X-CR-MTA-TID: 64aa7808 Received: from a3745f63a158.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 353B8C99-234B-4645-A857-41390FCF1BB9.1; Thu, 16 Nov 2023 11:31:23 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a3745f63a158.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 16 Nov 2023 11:31:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dYDbhD1y8Ts5UsoJurPRtLC6wKz4xe3arFhHkcM4QtqEfKP97AzmPwmdN5TCLXX6i3bWpeCjHm8fU6brfm1efTBbNvP/T+AY13JlMD7j0+Uyhw8HGSY9uE2xXTSzZeHwbR2gw9W9XoRIM4BfqFw6ZYb9iXZvn4T8RWYvGICa96kJYFf+ACrwIDMHV+MoquMEwXy3H33IPv7+YcDRyi3mo+Jei/iUdEZJwAMI2vYDXgkgxmo0DhK3rx9tnYfkLtpcfC90YfxqFyDZyeSZKBmPnyy/MvaVUrgkZoWm486E+vuf6v5GC2X2midLWR4fX6c/4yQvXLfXueuOWkaqI1oagw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NwM5a1BhkQDiwAqpufQlpGlPSmaJxgHVEMu/reWESc0=; b=hdV3sV8uujgB+g0CXcXbYDbpctS/GJXnBcNeSkvRH+mUMkXpHhvifxX9jel81WPXJiWv+ElMuWYa95rntwmIy2hKErGGAdZNeaLm54Q+xoAq8NfiPuQ77/OPjDffxZsbt1PkdZjr8K38MMz6lb5xe3tmyALacQYbCIvv6ZdidCsoRh4WMDoGdQYW/HBQnwl2IN4JjDLhP8cq5V/iqmfsxJDKYwuruxt4K2ydu9+98UqQvpxc7HlMAk00UhusaaZG19T2CTUzgPpc01+0FPXaZDwS7DSiU/AoHvyELkR0XqnYhIY9ci5ufoPZSjKApbQ6XXyfJnTgkHTSPSIPG7jdtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NwM5a1BhkQDiwAqpufQlpGlPSmaJxgHVEMu/reWESc0=; b=bim4d/Q1bkjkmp9kycnuZVjdEKrDmwuUqz1Cm/LZut5WLsWytN6e/+NmuJMfi93s7fcxLZTzP5QZUUfP1c/7JIpb45tdDLOkt4+gmvD9cJjNUvN/tTPlRf2A4+zjOuTE74rNiOOWk6ffaXHfDhtkgN1tPBFnrTNpqgWXrrkWiRo= Received: from AM6P192CA0033.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::46) by DB3PR08MB8795.eurprd08.prod.outlook.com (2603:10a6:10:432::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Thu, 16 Nov 2023 11:31:21 +0000 Received: from AMS0EPF000001A9.eurprd05.prod.outlook.com (2603:10a6:209:83:cafe::fb) by AM6P192CA0033.outlook.office365.com (2603:10a6:209:83::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19 via Frontend Transport; Thu, 16 Nov 2023 11:31:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF000001A9.mail.protection.outlook.com (10.167.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:31:21 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:31:20 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:31:20 +0000 Received: from [10.57.70.166] (10.57.70.166) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Thu, 16 Nov 2023 11:31:20 +0000 Message-ID: <122e823d-6989-4b1e-bfa1-ce8b9a6de2cc@arm.com> Date: Thu, 16 Nov 2023 11:31:19 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 3/5][BINUTILS] aarch64: Add support to new features in RAS extension. From: Srinath Parvathaneni To: CC: Richard Earnshaw , References: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> <8dcf129a-88c8-198a-adbb-4da2e6403063@arm.com> Content-Language: en-US In-Reply-To: <8dcf129a-88c8-198a-adbb-4da2e6403063@arm.com> X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A9:EE_|DB3PR08MB8795:EE_|DB5PEPF00014B90:EE_|GV1PR08MB8036:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c11b678-e429-47c8-3ad9-08dbe6979370 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: kvhBj0t3DbXUINq6hqqDrxSTSnQQMOY1P0VQ/UC0ZvFAdDtXN7jDHomNBF2Vk5B2Z6fTTcMKUQjCUWGUazFrDR1Sz+81InzGgFQjTaq5rR2VxAbHA7FblfWga2Nh3hJZYjaVOiy1cnrkF5zrWHFWZd58aGpUHigQXVrcxLy/RbuLMESw0CCwLWInwg8Px/bS0PkR6BNVbbhU6uCR/unr3M9SlgAjem49CI2CeS4KZMegTWq2biEDGB7DbtkSx72bGonEV/xFW/kSo/JQ/8c9EWtGHEK2mMldlI6PUy8ckjYqD9aWH04xzCxUYpLSHTxd5Kchy5f32GC6AK5X2KKCigQOk2QCv33vpti7aXG3mQ0kH7m/nbgIFw37T4HCFv9Wll6BlKnImspi2CWvdkE5M/ePd3CTkj0LL1wrJJaCM8j6Uo+sn+W7QoskFAgWw3rgA5yzOQUh+4/bfikDBIK1ydm3edQ3YY4KHg3DIXp+AVprOR/VTC/jAl3v4e4kN2mRZMVNwOX2nRPRmCPJMYM6dsHzS67YLSm9R8Y/ocd7/WnvZ/rYpsty7gZaANjFmRxwZ1ivppc6hdL560c4gylDaaZhhg9lZ4GAm95AtBSIvRrW6Vp84D1/ZPq0/3L7zgn2sWh+uUJbdDQBXJ7TO8urOp2qBKId7GamTmhKPacOGJkYMIIlXH9k5mBqig5tT27apzU7kxcxv1OD8piPCWGuCVL/1qz61o0yKh+fr1EI9GioryFLFEWPvzmAnoOSxOmRhvjIQv25kVlzrUZkz/qGs8ecleVC383pP7bAzNXUGsjGoWhVQzNHrEkGBrIB/h2d X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(39850400004)(136003)(346002)(396003)(376002)(230922051799003)(82310400011)(1800799009)(64100799003)(186009)(451199024)(36840700001)(46966006)(40480700001)(2906002)(36860700001)(41300700001)(316002)(54906003)(6916009)(16576012)(36756003)(8936002)(8676002)(4326008)(70206006)(70586007)(478600001)(47076005)(81166007)(235185007)(5660300002)(44832011)(86362001)(31686004)(31696002)(356005)(82740400003)(426003)(336012)(26005)(2616005)(33964004)(3940600001)(36900700001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8795 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B90.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e8b8763b-ee14-4d52-170e-08dbe6978ec3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ah1ZDZxQvYAzflc194STj9eY+7Jrx8aRf0ULbTDop+8wBCzmEsz2IRWlxq1P6+NXG8QNiOwbdl1eXYZ2Db+aqPJdxzeuXfL18eMQzS//WMoLJ458Qe4lnpZqN4+hYuDoKyHgVj8DX3Z/UVu7b7mEQjNwY5YU0f1BC9dnXFCzf2aWpUPvhG3jxenex3Hj7GDLjmqVJDQ1UGE5nbY23SY5K+OZqxxRTIhY/3aplPxRLRAfVJR/LlE9rFbZecddU7z6SggdlbFkgQbWKlHALmcLo90pmvj71O94ezaaQ1RAOdEO2/8fLiQ4txSmK7FrgLoDJiJjWPutJr/WS/5yjBQDZor19MAihE9U671xm0a+SZB5a2aotKRQ07kpEgvgpippMlopjsA4F3FtlpqL5FUQxp2L3kFPi/zGlFrRJ07G0doy5nbiyA9rDElFnw6XHPLbLJGn4Jw/MpBgq9/emcba0rnNZ5xHoWA+q6MXRwh8gNFU6L6FSzYlJiSzbLP723LFTvu7QHOOKDziIGXcIHZkYzc68+YaOTOcRfXFARp/bqOA1u06SecC+5ir8QZTlJB2NbvQG0rQKdXSLYaLsKnC/xGwhK+Ky0OA7xXJDg49E/wUFG1k0X9peU4YHtQchucK0zojAUYhA/wXJJLmZNTqaptXp3K/JVQ0AiKJquDZJ2wTaYjTach8YB9PAQNQ6itpFlmuBXxGBfHiImtNTMnC+Dd867cgv6heVRCIK5N/r9MlVQbEJu8gLFoGtPEnewIToRhVtrHpJ6KKC8F7pt+Ei615eObk0Q/LfEsRwiyqLHPdmxP/jpIkL25ONWvDMz90 X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(451199024)(1800799009)(82310400011)(186009)(64100799003)(40470700004)(46966006)(36840700001)(40460700003)(336012)(82740400003)(426003)(33964004)(26005)(2616005)(16576012)(107886003)(316002)(6916009)(54906003)(4326008)(70206006)(8676002)(70586007)(36756003)(8936002)(36860700001)(40480700001)(2906002)(41300700001)(44832011)(86362001)(235185007)(5660300002)(31696002)(31686004)(81166007)(47076005)(478600001)(3940600001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 11:31:29.0956 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4c11b678-e429-47c8-3ad9-08dbe6979370 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B90.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8036 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Hi, This patch also adds support for: 1. FEAT_RASv2 feature and "ERXGSR_EL1" system register. RASv2 feature is enabled by passing +rasv2 to -march (eg: -march=armv8-a+rasv2). 2. FEAT_SCTLR2 and following system registers. SCTLR2_EL1, SCTLR2_EL12, SCTLR2_EL2 and SCTLR2_EL3. 3. FEAT_FGT2 and following system registers. HDFGRTR2_EL2, HDFGWTR2_EL2, HFGRTR2_EL2, HFGWTR2_EL2 4. FEAT_PFAR and following system registers. PFAR_EL1, PFAR_EL2 and PFAR_EL12. FEAT_RASv2, FEAT_SCTLR2, FEAT_FGT2 and FEAT_PFAR features are by default enabled from Armv9.4-A architecture. This patch also adds support for two read only system registers id_aa64mmfr3_el1 and id_aa64mmfr4_el1, which are available from Armv8-A Architecture. Regression testing for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. diff --git a/gas/NEWS b/gas/NEWS index ddf48fca37bbc87b78a78d4162ba71e4391a3cff..9d0fb3b63d03b730ef8b33fea84d038aa0d3d15a 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,5 +1,8 @@ -*- text -*- +* Add support for Reliability, Availability and Serviceability extension v2 + (RASv2) for AArch64. + * Add support for 128-bit Atomic Instructions (LSE128) for AArch64. * Add support for Guarded Control Stack (GCS) for AArch64. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 70c0ed652a551ada46755a3ce96a704d050a9b44..5646de781d4502c0aa434368f0603c11ee456966 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10292,6 +10292,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"chk", AARCH64_FEATURE (CHK), AARCH64_NO_FEATURES}, {"gcs", AARCH64_FEATURE (GCS), AARCH64_NO_FEATURES}, {"the", AARCH64_FEATURE (THE), AARCH64_NO_FEATURES}, + {"rasv2", AARCH64_FEATURE (RASv2), AARCH64_FEATURE (RAS)}, {NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES}, }; diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index 81c18181831a530f8596b8838a6b1751d5852305..cbf06bf3ec6d1680c74aad3a1a9364721ae7ca34 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -267,7 +267,8 @@ automatically cause those extensions to be disabled. @tab Enable Translation Hardening extension. @item @code{lse128} @tab Armv9.4-A @tab No @tab Enable the 128-bit Atomic Instructions extension. This implies @code{lse}. - +@item @code{rasv2} @tab N/A @tab Armv9.4-A or later + @tab Enable the Reliability, Availability and Serviceability extension v2. @end multitable @node AArch64 Syntax diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l index 48c55680aa07618cd1f0c165435533fe4dd31e41..63397bcb162747c9fe77ebcf6f0066c286c6c620 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l @@ -1,3 +1,26 @@ .*: Assembler messages: .*: Error: selected processor does not support system register name 'pmsdsfr_el1' .*: Error: selected processor does not support system register name 'pmsdsfr_el1' +.*: Error: selected processor does not support system register name 'erxgsr_el1' +.*: Error: selected processor does not support system register name 'sctlr2_el1' +.*: Error: selected processor does not support system register name 'sctlr2_el12' +.*: Error: selected processor does not support system register name 'sctlr2_el2' +.*: Error: selected processor does not support system register name 'sctlr2_el3' +.*: Error: selected processor does not support system register name 'sctlr2_el1' +.*: Error: selected processor does not support system register name 'sctlr2_el12' +.*: Error: selected processor does not support system register name 'sctlr2_el2' +.*: Error: selected processor does not support system register name 'sctlr2_el3' +.*: Error: selected processor does not support system register name 'hdfgrtr2_el2' +.*: Error: selected processor does not support system register name 'hdfgwtr2_el2' +.*: Error: selected processor does not support system register name 'hfgrtr2_el2' +.*: Error: selected processor does not support system register name 'hfgwtr2_el2' +.*: Error: selected processor does not support system register name 'hdfgrtr2_el2' +.*: Error: selected processor does not support system register name 'hdfgwtr2_el2' +.*: Error: selected processor does not support system register name 'hfgrtr2_el2' +.*: Error: selected processor does not support system register name 'hfgwtr2_el2' +.*: Error: selected processor does not support system register name 'pfar_el1' +.*: Error: selected processor does not support system register name 'pfar_el2' +.*: Error: selected processor does not support system register name 'pfar_el12' +.*: Error: selected processor does not support system register name 'pfar_el1' +.*: Error: selected processor does not support system register name 'pfar_el2' +.*: Error: selected processor does not support system register name 'pfar_el12' diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d index d4cb769fdf63aaa89ac4c410982cd20ac12bbd4d..3b66e2bc57c1be243737679e2b85758bfe2af871 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d @@ -8,3 +8,26 @@ Disassembly of section \.text: 0+ <.*>: .*: d53c9a83 mrs x3, pmsdsfr_el1 .*: d51c9a83 msr pmsdsfr_el1, x3 +.*: d5385340 mrs x0, erxgsr_el1 +.*: d5181063 msr sctlr2_el1, x3 +.*: d51d1063 msr sctlr2_el12, x3 +.*: d51c1063 msr sctlr2_el2, x3 +.*: d51e1063 msr sctlr2_el3, x3 +.*: d5381063 mrs x3, sctlr2_el1 +.*: d53d1063 mrs x3, sctlr2_el12 +.*: d53c1063 mrs x3, sctlr2_el2 +.*: d53e1063 mrs x3, sctlr2_el3 +.*: d53c3103 mrs x3, hdfgrtr2_el2 +.*: d53c3123 mrs x3, hdfgwtr2_el2 +.*: d53c3143 mrs x3, hfgrtr2_el2 +.*: d53c3163 mrs x3, hfgwtr2_el2 +.*: d51c3103 msr hdfgrtr2_el2, x3 +.*: d51c3123 msr hdfgwtr2_el2, x3 +.*: d51c3143 msr hfgrtr2_el2, x3 +.*: d51c3163 msr hfgwtr2_el2, x3 +.*: d53860a0 mrs x0, pfar_el1 +.*: d53c60a0 mrs x0, pfar_el2 +.*: d53d60a0 mrs x0, pfar_el12 +.*: d51860a0 msr pfar_el1, x0 +.*: d51c60a0 msr pfar_el2, x0 +.*: d51d60a0 msr pfar_el12, x0 diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s index 4200d7ce60ed21822731a836214bb44aeeea57ac..9ad0a532acc1bd8714f89b193d1b41f57ffb80d2 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s @@ -1,2 +1,29 @@ mrs x3, PMSDSFR_EL1 msr PMSDSFR_EL1, x3 + + mrs x0, ERXGSR_EL1 + + msr SCTLR2_EL1, x3 + msr SCTLR2_EL12, x3 + msr SCTLR2_EL2, x3 + msr SCTLR2_EL3, x3 + mrs x3, SCTLR2_EL1 + mrs x3, SCTLR2_EL12 + mrs x3, SCTLR2_EL2 + mrs x3, SCTLR2_EL3 + + mrs x3, HDFGRTR2_EL2 + mrs x3, HDFGWTR2_EL2 + mrs x3, HFGRTR2_EL2 + mrs x3, HFGWTR2_EL2 + msr HDFGRTR2_EL2, x3 + msr HDFGWTR2_EL2, x3 + msr HFGRTR2_EL2, x3 + msr HFGWTR2_EL2, x3 + + mrs x0, PFAR_EL1 + mrs x0, PFAR_EL2 + mrs x0, PFAR_EL12 + msr PFAR_EL1, x0 + msr PFAR_EL2, x0 + msr PFAR_EL12, x0 diff --git a/gas/testsuite/gas/aarch64/sysreg-2.d b/gas/testsuite/gas/aarch64/sysreg-2.d index 097f27292739b810e7b6840d096e3fad9901f1cd..ac0a8621bfa88a21a2e0f7be69117357c9e16b06 100644 --- a/gas/testsuite/gas/aarch64/sysreg-2.d +++ b/gas/testsuite/gas/aarch64/sysreg-2.d @@ -7,10 +7,12 @@ Disassembly of section .text: 0+ <.*>: - [0-9a-f]+: d5380725 mrs x5, id_aa64mmfr1_el1 - [0-9a-f]+: d5380747 mrs x7, id_aa64mmfr2_el1 - [0-9a-f]+: d5385305 mrs x5, erridr_el1 - [0-9a-f]+: d5185327 msr errselr_el1, x7 +.*: d5380725 mrs x5, id_aa64mmfr1_el1 +.*: d5380747 mrs x7, id_aa64mmfr2_el1 +.*: d5380769 mrs x9, id_aa64mmfr3_el1 +.*: d538078b mrs x11, id_aa64mmfr4_el1 + [0-9a-f]+: d5385305 mrs x5, erridr_el1 + [0-9a-f]+: d5185327 msr errselr_el1, x7 [0-9a-f]+: d5385327 mrs x7, errselr_el1 [0-9a-f]+: d5385405 mrs x5, erxfr_el1 [0-9a-f]+: d5185425 msr erxctlr_el1, x5 diff --git a/gas/testsuite/gas/aarch64/sysreg-2.s b/gas/testsuite/gas/aarch64/sysreg-2.s index 57eb08f33521076314260b68f3e322280d9ff93b..ae2bb145e72a0786078fe60b0082dd09a618ce4d 100644 --- a/gas/testsuite/gas/aarch64/sysreg-2.s +++ b/gas/testsuite/gas/aarch64/sysreg-2.s @@ -13,6 +13,8 @@ rw_sys_reg sys_reg=id_aa64mmfr1_el1 xreg=x5 r=1 w=0 rw_sys_reg sys_reg=id_aa64mmfr2_el1 xreg=x7 r=1 w=0 + rw_sys_reg sys_reg=id_aa64mmfr3_el1 xreg=x9 r=1 w=0 + rw_sys_reg sys_reg=id_aa64mmfr4_el1 xreg=x11 r=1 w=0 /* RAS extension. */ diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 881a4211eabfad2cc4442efc78eb37c06d26973d..03ef907cac1c574516f1e1cc4d0537b33c803986 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -175,6 +175,14 @@ enum aarch64_feature_bit { AARCH64_FEATURE_THE, /* LSE128. */ AARCH64_FEATURE_LSE128, + /* ARMv8.9-A RAS Extensions. */ + AARCH64_FEATURE_RASv2, + /* System Control Register2. */ + AARCH64_FEATURE_SCTLR2, + /* Fine Grained Traps. */ + AARCH64_FEATURE_FGT2, + /* Physical Fault Address. */ + AARCH64_FEATURE_PFAR, AARCH64_NUM_FEATURES }; @@ -233,7 +241,11 @@ enum aarch64_feature_bit { #define AARCH64_ARCH_V8_9A_FEATURES(X) (AARCH64_FEATBIT (X, V8_9A) \ | AARCH64_FEATBIT (X, SPEv1p4) \ | AARCH64_FEATBIT (X, SPE_CRR) \ - | AARCH64_FEATBIT (X, SPE_FDS)) + | AARCH64_FEATBIT (X, SPE_FDS) \ + | AARCH64_FEATBIT (X, RASv2) \ + | AARCH64_FEATBIT (X, SCTLR2) \ + | AARCH64_FEATBIT (X, FGT2) \ + | AARCH64_FEATBIT (X, PFAR)) #define AARCH64_ARCH_V9A_FEATURES(X) (AARCH64_FEATBIT (X, V9A) \ | AARCH64_FEATBIT (X, F16) \ diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index aab2c7264cab0b4ca34ab8135194abd0126b7430..b51c5aa14598abe8628d6a1363b43d6604dc8fda 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -400,6 +400,7 @@ SYSREG ("erxaddr_el1", CPENC (3,0,5,4,3), F_ARCHEXT, AARCH64_FEATURE (RAS)) SYSREG ("erxctlr_el1", CPENC (3,0,5,4,1), F_ARCHEXT, AARCH64_FEATURE (RAS)) SYSREG ("erxfr_el1", CPENC (3,0,5,4,0), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (RAS)) + SYSREG ("erxgsr_el1", CPENC (3,0,5,3,2), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (RASv2)) SYSREG ("erxmisc0_el1", CPENC (3,0,5,5,0), F_ARCHEXT, AARCH64_FEATURE (RAS)) SYSREG ("erxmisc1_el1", CPENC (3,0,5,5,1), F_ARCHEXT, AARCH64_FEATURE (RAS)) SYSREG ("erxmisc2_el1", CPENC (3,0,5,5,2), F_ARCHEXT, AARCH64_FEATURE (RAS)) @@ -438,10 +439,14 @@ SYSREG ("hcr_el2", CPENC (3,4,1,1,0), 0, AARCH64_NO_FEATURES) SYSREG ("hcrx_el2", CPENC (3,4,1,2,2), F_ARCHEXT, AARCH64_FEATURE (V8_7A)) SYSREG ("hdfgrtr_el2", CPENC (3,4,3,1,4), F_ARCHEXT, AARCH64_FEATURE (V8_6A)) + SYSREG ("hdfgrtr2_el2", CPENC (3,4,3,1,0), F_ARCHEXT, AARCH64_FEATURE (FGT2)) SYSREG ("hdfgwtr_el2", CPENC (3,4,3,1,5), F_ARCHEXT, AARCH64_FEATURE (V8_6A)) + SYSREG ("hdfgwtr2_el2", CPENC (3,4,3,1,1), F_ARCHEXT, AARCH64_FEATURE (FGT2)) SYSREG ("hfgitr_el2", CPENC (3,4,1,1,6), F_ARCHEXT, AARCH64_FEATURE (V8_6A)) SYSREG ("hfgrtr_el2", CPENC (3,4,1,1,4), F_ARCHEXT, AARCH64_FEATURE (V8_6A)) + SYSREG ("hfgrtr2_el2", CPENC (3,4,3,1,2), F_ARCHEXT, AARCH64_FEATURE (FGT2)) SYSREG ("hfgwtr_el2", CPENC (3,4,1,1,5), F_ARCHEXT, AARCH64_FEATURE (V8_6A)) + SYSREG ("hfgwtr2_el2", CPENC (3,4,3,1,3), F_ARCHEXT, AARCH64_FEATURE (FGT2)) SYSREG ("hpfar_el2", CPENC (3,4,6,0,4), 0, AARCH64_NO_FEATURES) SYSREG ("hstr_el2", CPENC (3,4,1,1,3), 0, AARCH64_NO_FEATURES) SYSREG ("icc_ap0r0_el1", CPENC (3,0,12,8,4), 0, AARCH64_NO_FEATURES) @@ -515,6 +520,8 @@ SYSREG ("id_aa64mmfr0_el1", CPENC (3,0,0,7,0), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64mmfr1_el1", CPENC (3,0,0,7,1), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64mmfr2_el1", CPENC (3,0,0,7,2), F_REG_READ, AARCH64_NO_FEATURES) + SYSREG ("id_aa64mmfr3_el1", CPENC (3,0,0,7,3), F_REG_READ, AARCH64_NO_FEATURES) + SYSREG ("id_aa64mmfr4_el1", CPENC (3,0,0,7,4), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64pfr0_el1", CPENC (3,0,0,4,0), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64pfr1_el1", CPENC (3,0,0,4,1), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64smfr0_el1", CPENC (3,0,0,4,5), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (SME)) @@ -595,6 +602,9 @@ SYSREG ("oslsr_el1", CPENC (2,0,1,1,4), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("pan", CPENC (3,0,4,2,3), F_ARCHEXT, AARCH64_FEATURE (PAN)) SYSREG ("par_el1", CPENC (3,0,7,4,0), F_REG_128, AARCH64_NO_FEATURES) + SYSREG ("pfar_el1", CPENC (3,0,6,0,5), F_ARCHEXT, AARCH64_FEATURE (PFAR)) + SYSREG ("pfar_el12", CPENC (3,5,6,0,5), F_ARCHEXT, AARCH64_FEATURE (PFAR)) + SYSREG ("pfar_el2", CPENC (3,4,6,0,5), F_ARCHEXT, AARCH64_FEATURE (PFAR)) SYSREG ("pmbidr_el1", CPENC (3,0,9,10,7), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (PROFILE)) SYSREG ("pmblimitr_el1", CPENC (3,0,9,10,0), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) SYSREG ("pmbptr_el1", CPENC (3,0,9,10,1), F_ARCHEXT, AARCH64_FEATURE (PROFILE)) @@ -774,6 +784,10 @@ SYSREG ("sctlr_el12", CPENC (3,5,1,0,0), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) SYSREG ("sctlr_el2", CPENC (3,4,1,0,0), 0, AARCH64_NO_FEATURES) SYSREG ("sctlr_el3", CPENC (3,6,1,0,0), 0, AARCH64_NO_FEATURES) + SYSREG ("sctlr2_el1", CPENC (3,0,1,0,3), F_ARCHEXT, AARCH64_FEATURE (SCTLR2)) + SYSREG ("sctlr2_el12", CPENC (3,5,1,0,3), F_ARCHEXT, AARCH64_FEATURE (SCTLR2)) + SYSREG ("sctlr2_el2", CPENC (3,4,1,0,3), F_ARCHEXT, AARCH64_FEATURE (SCTLR2)) + SYSREG ("sctlr2_el3", CPENC (3,6,1,0,3), F_ARCHEXT, AARCH64_FEATURE (SCTLR2)) SYSREG ("scxtnum_el0", CPENC (3,3,13,0,7), F_ARCHEXT, AARCH64_FEATURE (SCXTNUM)) SYSREG ("scxtnum_el1", CPENC (3,0,13,0,7), F_ARCHEXT, AARCH64_FEATURE (SCXTNUM)) SYSREG ("scxtnum_el12", CPENC (3,5,13,0,7), F_ARCHEXT, AARCH64_FEATURE (SCXTNUM)) From patchwork Thu Nov 16 11:38:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 80019 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B99D13858CD1 for ; Thu, 16 Nov 2023 11:38:38 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2081.outbound.protection.outlook.com [40.107.249.81]) by sourceware.org (Postfix) with ESMTPS id 3AE3B3858CD1 for ; Thu, 16 Nov 2023 11:38:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AE3B3858CD1 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3AE3B3858CD1 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.249.81 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134702; cv=pass; b=iZO5XQkpCSGL1mPYj1/0Vx0sHJdY2VWZiyRZLz6Bz7ini1xBcatEzelCxh/T/hY2QwH1vcGN6kE4kJxz99hRuPlgNyVLUE3J4+1jWBPj0cAKGH9zaNszEp2XEk+/FNY7563Y3X1u7rzRwGFW/cIYf+YCqvXBRUToOFBRYwUD/Pk= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134702; c=relaxed/simple; bh=HhBKUPM0f1oO+kly4IKo0m+ndc7h8QQ3e4+KS6URocE=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:From:To; b=CHrtRUrl83SC1oawC9rln1G+EBNr8Ly71F5yMu1wUM+yo492I4UbEAIEgjKdEFsQ0DlM2yLziCxqMqupvCnicrpcSVTzIImlV30/E/d6l/1WvZF3JljyCUnm8l/sXvS0XXN/FBdbY0logYNmxAIuBK0hpodht1Ojm5PZWvlCF7Q= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=GMcUKBhAM5xK2zCyO3+gQB/Ua/DH3JUSsM3fU5xeg/6KYPHnHNYo2x42WJyzGLsAhNigm4b/WAJNrJBJPVzVy75in2sXjNnklnHpngF7hVoqjH6C5p0cJUP6oEtLO5zvIqMl7E/Sksea1miz48/Aj0nQMH35+Ns/IrVti4lwMZUIaBzlcEkGEVD7MFJWWtpk5uvSGacnBb8FD/QCuuVOIskPRHzxIjM7hqZAqe6wxGYXmDF/EisxNz5DFXaIu/rRkfO+m4iFvTL4r0Smy7HSeE2hHNsklccJnMvOVYcStsA3A+be4tYhF6CuGDMdb3V/XesNT3xqSM/AcUI7TQSebw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HhBKUPM0f1oO+kly4IKo0m+ndc7h8QQ3e4+KS6URocE=; b=QKTvlj8oNi8ai3oGkdrJDbYIU+H05Z2YP+aG2q4kbeZOSz6i0z55PUB+BihZMLCRJSEUX7LJ64Ef59YWe+3yNFE/bH+TPyToDAZfEuV/DFO0hh08fZM2lQfJatQ6OAXnigrUUWVgjNAHP2TuuQtbXQ6mMntjzHDMzqtRcVJZeHN4qQVnV/KmjTJBwblf+B/JUbVVsN0BuSNNvine75cOc8BAV+hOwUlP5xPibV0vJxDkSjt5G6MXuaVL80e4O6kTpENLWiZISziMeWd74v+yz/TgoqayGqUG3T+2QR4XlfaG+ANedy0YF1sVGquebIqoLkJJmZuV/Nskr2iR+ljqZQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HhBKUPM0f1oO+kly4IKo0m+ndc7h8QQ3e4+KS6URocE=; b=jgvJWnBVyrkRMEq7gbLy5aP3MHtJB4I0AMG6UVvjSJLTLrwLxRnGTV3R31x2j3i2V/TyFN16pNRdQhZEO5a28y7ZfZ6Taf/WjzmkWA+jh7d1/gR1TAlQCNtZ3YOj6Mj14D3IQQUWJGG8Is5SO7CDY8v3Hxh3pyMMa1ykA/QgpXc= Received: from DUZPR01CA0303.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b7::27) by AS8PR08MB6040.eurprd08.prod.outlook.com (2603:10a6:20b:296::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov 2023 11:38:18 +0000 Received: from DU6PEPF0000A7E2.eurprd02.prod.outlook.com (2603:10a6:10:4b7:cafe::85) by DUZPR01CA0303.outlook.office365.com (2603:10a6:10:4b7::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:38:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU6PEPF0000A7E2.mail.protection.outlook.com (10.167.8.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:38:18 +0000 Received: ("Tessian outbound 7671e7ddc218:v228"); Thu, 16 Nov 2023 11:38:18 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a8d9d5ab46329e00 X-CR-MTA-TID: 64aa7808 Received: from 5d4cb9359aa9.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C24FC44C-041E-44BE-91CA-683D4586287A.1; Thu, 16 Nov 2023 11:38:09 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5d4cb9359aa9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 16 Nov 2023 11:38:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LN00JlYVhFMsm4ntf7+0zydzAetx/hvyTfePP0ShXM2R1H5NfFxiqTMIoIgB43yUd/NPaDZjq7S4SQBFXSZw+MjTABCbVPZLgw5XdJzhwu6gXqiKVosRcWcXyBj/gA4rWnSqVWZQMqkyeIkJXryj6pIWJY1aAPWfFFILCSehVYsADzVj0rHJkvYrFpA1MvBL+I6WgTerYiek92+SEypnB57y5wx7Cz7NcGk/xMGUVD+09uLp+EbLUJ/tX0wnp+UrraaBNQ8Tgx0EYmiHUyebqiMcdTlFSQQRkr+G3zGYHUoTJvX1O9noFzsn+3kcbwKu23equO0lV9fr5V/CK81z4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HhBKUPM0f1oO+kly4IKo0m+ndc7h8QQ3e4+KS6URocE=; b=RLXBow5OP64xTQZMq/wiqpLXQeyljARW9nhLMpJh8ND+pZTshV0il3BNyKssQYxkqyubkuNbePUsHARmYzq+n9sNFsyyw15BI3hz+pLiTs7jlF1xxbYVP3HYVpW7DBaG6a2ojtdAtOReiMxqlRwwjslqqBYE4RVtlDz+mz+Y+pgEU4wvFEuZLLiyivwm0JYLK9at2erMogA0/X6MAMgHdhUe6wA4kuK5HJMSNxmPcFJ7TCOcJ5tkn6q/dD4+HVIQc2UuCXZp9dbtVdEwaAWcE6hQQuCGzcp1O6FvT1p16dvcNyiHApJv16VQ0rMtGCFfDYAYseV8pmtVgHJJd7235A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HhBKUPM0f1oO+kly4IKo0m+ndc7h8QQ3e4+KS6URocE=; b=jgvJWnBVyrkRMEq7gbLy5aP3MHtJB4I0AMG6UVvjSJLTLrwLxRnGTV3R31x2j3i2V/TyFN16pNRdQhZEO5a28y7ZfZ6Taf/WjzmkWA+jh7d1/gR1TAlQCNtZ3YOj6Mj14D3IQQUWJGG8Is5SO7CDY8v3Hxh3pyMMa1ykA/QgpXc= Received: from AM6PR10CA0039.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::16) by DU0PR08MB9323.eurprd08.prod.outlook.com (2603:10a6:10:41e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Thu, 16 Nov 2023 11:38:06 +0000 Received: from AM2PEPF0001C709.eurprd05.prod.outlook.com (2603:10a6:209:80:cafe::1f) by AM6PR10CA0039.outlook.office365.com (2603:10a6:209:80::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:38:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM2PEPF0001C709.mail.protection.outlook.com (10.167.16.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7002.19 via Frontend Transport; Thu, 16 Nov 2023 11:38:05 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:38:04 +0000 Received: from [10.57.70.166] (10.57.70.166) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Thu, 16 Nov 2023 11:38:04 +0000 Message-ID: <82c92cc2-bdb2-487c-b50f-05ec88f861d7@arm.com> Date: Thu, 16 Nov 2023 11:38:03 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 4/5][BINUTILS] aarch64: Add new AT system instructions. Content-Language: en-US From: Srinath Parvathaneni To: CC: Richard Earnshaw , References: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> <8dcf129a-88c8-198a-adbb-4da2e6403063@arm.com> <122e823d-6989-4b1e-bfa1-ce8b9a6de2cc@arm.com> In-Reply-To: <122e823d-6989-4b1e-bfa1-ce8b9a6de2cc@arm.com> X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM2PEPF0001C709:EE_|DU0PR08MB9323:EE_|DU6PEPF0000A7E2:EE_|AS8PR08MB6040:EE_ X-MS-Office365-Filtering-Correlation-Id: 889da0b6-cf75-4376-35d6-08dbe6988744 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: vlFEBdv0Un+ikMe+HcSP5MGzqPzNq1BUKA2V7E4VGyckIkRBqApl0bt36+p2AYtZzpP4NataU6EeglkY5vcFiRJA2n65UAlIKepynf/yAefLoGu3n3mhyzffJ4BlgfMon48CxLXZLXmty2bxVbROqffS5tWuAH0OUTIO4xvKLfY1Irxi6NAA4PRdro7vCkBgWCTo5Uzki286FGn3+WIRK22PMV4qSuYxJ/1KQRkoPaKplWtY6azcaTD/F0TPEn3o0Xjw+cZl7GvMuc7MC0phfnYWBBZjMOmzkEd6Q/8N+3krl1oozYmTyaSzaCU5TS9v9PIDSaSYU3oOpo8+mGZlPfhdPrMsPocvmDNIES030D/apXk3HkJcXym5k3iZVCJXv2RwPUdFKJIHYYdS+VSITd4NZ9PliK6rPSPQ1YnAz0mb/LgbYugFVBXFqL8i9Mbj0L9YgysR5wj7vdgnCPYCM00vmHId+pp3H1aDPUqjigVhlo4XNJuMSucD0mNEau0ca0W00ZredGLgHBNFZ5Nd1VhkInUcZ6LuTOSI6QV6cV13Ni6OVdSm1w4Hsf+3c76BYf/JDv11nZw6/xdHHku46YPAOyDvy+85dpe6tVjcVVJ8LOpi6zCeVIzU7oEvEeP/fL7bjr80UKVJHQqzFYQ12lBYA6mUyTt/ZX0VrycjlQNNkgWc4l9T2OY8oDnmgR3qzk0OZZWbcOEZrjvO3p3GHd5AB2UAChfXz1L1wKmsRYpAII9u/Q8urUy396HWs7yoYWbkc9lDaYPwkTb9vzrIwcYwtROFO2FbCG2tvnP+4Pg5oBbSkV029c49OTFjIhwpOoY1pmXwH7oRx+kS0Z4tZg== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(376002)(136003)(346002)(39860400002)(396003)(230922051799003)(186009)(1800799009)(82310400011)(451199024)(64100799003)(40470700004)(36840700001)(46966006)(2616005)(33964004)(8936002)(26005)(82740400003)(40460700003)(54906003)(336012)(564344004)(426003)(478600001)(44832011)(4326008)(6916009)(31696002)(8676002)(235185007)(86362001)(36756003)(2906002)(70586007)(41300700001)(5660300002)(16576012)(316002)(70206006)(47076005)(356005)(40480700001)(36860700001)(81166007)(31686004)(3940600001)(36900700001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9323 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000A7E2.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a09d007a-e30d-4a6f-5d71-08dbe6987ffc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4uP6iaFBW6GefEEisiAeJLqDWL8Pe6I9NYERdWO3n2VBtuJpuayCmTop6e2KXyUmpau0A3ziSsrnfn0kkOU5b+LpoRtVtU12Z3LqUbigvi2sRF06tKqdlttS2gExY4um+7QptNbD+Pc0e8qWKGJQmoAtgD+5DRvaM2jU35WY5tSTG5qq8NCJ8oBPWz91TKi90LFMfwzJFoze2zBQqOfXEgqRZa4VSA8gsTLobg352+2cDnJ1QCboMQvWMrTOlz9283rmBbcC6D3zcCWMnxzn0jf2yJvJtQUfUSl+Tb+/aQnWL75bZwj88iA/n8BcKgnYMs9zyvAOS20h54Brk0ePr5fH3IrpsOjO6iHEsWXULWz8Qm6M00IqfpIG4LTgXWgquZJrSXGPYCR9O7mXHm84vMOs0cgDfRawkpOMkrEMm+f0ms6tOFXT3ypNDydRMIIhDHkULUeYxF1hyAKWEBbY+qI8yroBq/uT+mB+TIio1ThvbmxMrm6rEL8oZLf5kWNfvDtSdIBRDlvKJ5lYqI+AzrvPyWSzvYrzi/cfyjUhbp8S2+xqry+8zlpqWzMYZstb3qZYZ7rpSJ1O2830LVcpUsRE8chmzL6CaU3lnwqG8xsbOLJIEYQOl5LlR+DZiY0mxuFaRXtmwFWLHX6IxyoQ5Bn9hgaqiIdpaz4/PwprLeGqyRAuw8lkrW/a200EaazX17znyuu/A3o3OPP2VTixyFhjj9OF1+9RBbe24tsEC1CK8szkcVc6ZkMLT4morU+OBXsFzGmeV2sD6bzvpKBzuqoiVUB3yWZ8BxWhS+kgsiq1KcP9a8WNLWDHVVTMBDJ+ X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(376002)(39860400002)(136003)(396003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(107886003)(82740400003)(40480700001)(33964004)(426003)(2616005)(336012)(36860700001)(26005)(478600001)(86362001)(41300700001)(31696002)(31686004)(6916009)(70586007)(70206006)(54906003)(81166007)(316002)(16576012)(47076005)(235185007)(44832011)(4326008)(2906002)(8676002)(564344004)(5660300002)(36756003)(8936002)(40460700003)(3940600001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 11:38:18.1869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 889da0b6-cf75-4376-35d6-08dbe6988744 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000A7E2.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6040 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org HI, This patch adds 3 new AT system instructions through FEAT_ATS1A feature, which are available by default from Armv9.4-A architecture. Regression tested for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l index 63397bcb162747c9fe77ebcf6f0066c286c6c620..1b67843a4dd1744ef1ab2a7f9af3013922b7dbec 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l @@ -24,3 +24,6 @@ .*: Error: selected processor does not support system register name 'pfar_el1' .*: Error: selected processor does not support system register name 'pfar_el2' .*: Error: selected processor does not support system register name 'pfar_el12' +.*: Error: selected processor does not support system register name 's1e1a' +.*: Error: selected processor does not support system register name 's1e2a' +.*: Error: selected processor does not support system register name 's1e3a' diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d index 3b66e2bc57c1be243737679e2b85758bfe2af871..18376bb5ac19d821c8fcef2dcb272cdc2b9c5e52 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d @@ -31,3 +31,6 @@ Disassembly of section \.text: .*: d51860a0 msr pfar_el1, x0 .*: d51c60a0 msr pfar_el2, x0 .*: d51d60a0 msr pfar_el12, x0 +.*: d5087941 at s1e1a, x1 +.*: d50c7943 at s1e2a, x3 +.*: d50e7945 at s1e3a, x5 diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s index 9ad0a532acc1bd8714f89b193d1b41f57ffb80d2..4e494a965f6a9196395b2da1f8fb7da3e42faa7c 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s @@ -27,3 +27,8 @@ msr PFAR_EL1, x0 msr PFAR_EL2, x0 msr PFAR_EL12, x0 + + /* AT. */ + at s1e1a, x1 + at s1e2a, x3 + at s1e3a, x5 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 03ef907cac1c574516f1e1cc4d0537b33c803986..792d6a4f4a7603487899f175c2b49763cbb47697 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -183,6 +183,8 @@ enum aarch64_feature_bit { AARCH64_FEATURE_FGT2, /* Physical Fault Address. */ AARCH64_FEATURE_PFAR, + /* Address Translate Stage 1. */ + AARCH64_FEATURE_ATS1A, AARCH64_NUM_FEATURES }; @@ -245,7 +247,8 @@ enum aarch64_feature_bit { | AARCH64_FEATBIT (X, RASv2) \ | AARCH64_FEATBIT (X, SCTLR2) \ | AARCH64_FEATBIT (X, FGT2) \ - | AARCH64_FEATBIT (X, PFAR)) + | AARCH64_FEATBIT (X, PFAR) \ + | AARCH64_FEATBIT (X, ATS1A)) #define AARCH64_ARCH_V9A_FEATURES(X) (AARCH64_FEATBIT (X, V9A) \ | AARCH64_FEATBIT (X, F16) \ diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 80816d633661eb5a39e0da28c1cd5d4c87df308f..126a4aa0a4cd559a4697eab678cca160660d615a 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -4810,6 +4810,9 @@ const aarch64_sys_ins_reg aarch64_sys_regs_at[] = { "s1e3w", CPENS (6, C7, C8, 1), F_HASXT }, { "s1e1rp", CPENS (0, C7, C9, 0), F_HASXT | F_ARCHEXT }, { "s1e1wp", CPENS (0, C7, C9, 1), F_HASXT | F_ARCHEXT }, + { "s1e1a", CPENS (0, C7, C9, 2), F_HASXT | F_ARCHEXT }, + { "s1e2a", CPENS (4, C7, C9, 2), F_HASXT | F_ARCHEXT }, + { "s1e3a", CPENS (6, C7, C9, 2), F_HASXT | F_ARCHEXT }, { 0, CPENS(0,0,0,0), 0 } }; @@ -5041,6 +5044,12 @@ aarch64_sys_ins_reg_supported_p (const aarch64_feature_set features, && AARCH64_CPU_HAS_FEATURE (features, THE)) return true; + if ((reg_value == CPENS (0, C7, C9, 2) + || reg_value == CPENS (4, C7, C9, 2) + || reg_value == CPENS (6, C7, C9, 2)) + && AARCH64_CPU_HAS_FEATURE (features, ATS1A)) + return true; + return false; } From patchwork Thu Nov 16 11:39:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 80020 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D37D43857C50 for ; Thu, 16 Nov 2023 11:40:14 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2057.outbound.protection.outlook.com [40.107.6.57]) by sourceware.org (Postfix) with ESMTPS id 3CA71385841F for ; Thu, 16 Nov 2023 11:39:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3CA71385841F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3CA71385841F Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.6.57 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134798; cv=pass; b=s07HVwOuIkzH/LcKGvyEJxrn13Wc+nnAnTsAKlHCduCCD7QXh42sZ3OaPk0YrMsIY7Rm5y0X1q6vR81eJVlvqxQAt827pzyg/oEI44bBUePiwv5ZP3xndo6v3QEe/lajA4JaprMfiS7y8ImGY+ROq3G659iPD2sinm2330WRG20= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1700134798; c=relaxed/simple; bh=ydqwAGfgr0W4IiswoX8YJraOnoHvzaMfbaSafWbnTs0=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:From:To; b=MyUgnWZyeGRgbE8ncJdU+Qn2bRRNxZ5K/GR+c2HgcVWk8XDeS6mIqbgJgQ3+SV1GJSXRoR47wb8gl5b156s1wlx4rMC6xTf2P3TDWMRptQuBpOa48zi3PTx8E+SHg8z8hS/HDWWorCZuzucLlSTbeaRALrDiDYTTLpYjVrSH/Jk= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=UQGQFAhBZS9sCMvxpuXNBqS4UrJm+LNs3vTxqsBD+htEQvKG9caq9SCkWT25Qt3lFJWlMEnSHxKgeDzJKnvzepVr1zoKr6u0GcN7O93fQAny7ErCoRoo9wMDbRVrPgl+NelCic+uMWAMz9xJ+I5uU96wPaDUpAy9vxamSg5Q6meO1Qsm9s6ZgXJCEgh4ad78Lf9cuRZXY2NZsR+FbMwn5hv4tfC0YV6xJ+jUZDlvKoUsVV5CVEDtbG0lKcFrlUn2ZhaF2WFm3eBrAD/Famt9exsffj96JPplYX/+etORe4H656uj/Bs8WJqSZlvHPpa5do0q7z7nY1obFAyBcyKW7g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ydqwAGfgr0W4IiswoX8YJraOnoHvzaMfbaSafWbnTs0=; b=YeEgo9Jubk2U1WbmSzh05aSrzz22ED+k3Bu4RrYdYryLWbwJiVyDFB3Y9JyUxqkhTkDC7zmXbogF8iYbX+8Z9nOnWvpIe7JqCVnYadUh1nq5khoip5JOSheNz8HkW07z1U2Bq8OgpHlZSOad9xGD4PoHwhUqai1zV4YUprG2wy0RBxusfXK59AZHhnZ0tn2+/L8xjxNiV8kgNZyzigz4l1/jvk1T335pysOQKdrpV11vMwC0Y0iavyob1vxWSkeafC7dyDwKNRpscw6dx48s4DrPC8o8wTVI3ddyLib67FSoMeVXSXrzI+jOcSh81LsO960aieMPbyDekOijjuepIg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ydqwAGfgr0W4IiswoX8YJraOnoHvzaMfbaSafWbnTs0=; b=fP4ibiwv3G1/ayH9sUiovhZwdnznFpx3110XrvkdP8MshsFvV1eNdHF8FBTQ05u9k35tWcM6xuCnSXCOL0FTmYAQNBGi4g7pieZwds5FldgURWWn1dZOPbePjU9zv2eLYl8qM3XajW2ZpZHS0WcnfISpH9n+2eKsiWBKfn6c97I= Received: from DUZPR01CA0223.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b4::10) by DB5PR08MB10140.eurprd08.prod.outlook.com (2603:10a6:10:4a1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov 2023 11:39:52 +0000 Received: from DB5PEPF00014B9E.eurprd02.prod.outlook.com (2603:10a6:10:4b4:cafe::96) by DUZPR01CA0223.outlook.office365.com (2603:10a6:10:4b4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:39:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5PEPF00014B9E.mail.protection.outlook.com (10.167.8.171) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 11:39:52 +0000 Received: ("Tessian outbound 7671e7ddc218:v228"); Thu, 16 Nov 2023 11:39:52 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9b77bc137cddd9ff X-CR-MTA-TID: 64aa7808 Received: from 504621b15aec.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 847C4FB8-71B6-46EA-809F-8C9D7A14CAA6.1; Thu, 16 Nov 2023 11:39:45 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 504621b15aec.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 16 Nov 2023 11:39:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OiDj2y4la1/rYx4bWPex3LtQSRxqNZtjz+Fv4OWJDMHtKD58ozfyxEeqfQ2ERBPLsIahKhGz07m0Wa97yuhBW1CeBMwW3pDFDxbQcSXz//zf6lYnv3WEUt1tPNAEJ8FZnGsVzv/2yj4KSlh6EIgwN4FnJ9CVuhTcZb85YKEpkQugXeeBeQhnNZaOamp6ceqRC5uDD+KwnlhPSgqj2fDuDY/28L/I8GYgcqo3Mnl2a1KmqATTP7eBOCUoOSvhGoOktPG7GJjxmLLZI2OOgX1+/56kkZZ2g7vFwPylJPAzoj3F0ecVZciT3S0K/Jk0p1Lxh7/LRyomB1nMmqcYc1FKng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ydqwAGfgr0W4IiswoX8YJraOnoHvzaMfbaSafWbnTs0=; b=WXXqLyG0uGaB8wlcNAg97KFfCcbN/jn8tfdlg/FeEnDkfUenD3Igh8r5OZH4F5iSwgaBa04w7kOoeMaZw2pswQbEoYaNDXnJbF25ac/I991cFgtC9zgAWf47alTtwf372xS5bXnGOLvf1UQCwuBuGpK3TX1k9O6T6H38VrOJax68wfb5xCwQsdtw7IeYljKPSpeLEkDOZYQmS4SmpuSyfswNKenFJjZSPEYWmE8TwLpXlbC2Uo6lHpXFPvc7yo69mNSHwlB5V3/iVv7exmr5qr6afGbDp5uyfSzFBwpAwdjMw3U/XfisJf0AC1/9LbGpaqq+KdCPT53//7xOv4aMfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ydqwAGfgr0W4IiswoX8YJraOnoHvzaMfbaSafWbnTs0=; b=fP4ibiwv3G1/ayH9sUiovhZwdnznFpx3110XrvkdP8MshsFvV1eNdHF8FBTQ05u9k35tWcM6xuCnSXCOL0FTmYAQNBGi4g7pieZwds5FldgURWWn1dZOPbePjU9zv2eLYl8qM3XajW2ZpZHS0WcnfISpH9n+2eKsiWBKfn6c97I= Received: from AS9PR06CA0458.eurprd06.prod.outlook.com (2603:10a6:20b:49a::10) by AS2PR08MB8383.eurprd08.prod.outlook.com (2603:10a6:20b:55a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Thu, 16 Nov 2023 11:39:42 +0000 Received: from AM2PEPF0001C70F.eurprd05.prod.outlook.com (2603:10a6:20b:49a:cafe::5b) by AS9PR06CA0458.outlook.office365.com (2603:10a6:20b:49a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend Transport; Thu, 16 Nov 2023 11:39:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM2PEPF0001C70F.mail.protection.outlook.com (10.167.16.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7002.19 via Frontend Transport; Thu, 16 Nov 2023 11:39:42 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 16 Nov 2023 11:39:41 +0000 Received: from [10.57.70.166] (10.57.70.166) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Thu, 16 Nov 2023 11:39:41 +0000 Message-ID: <94805bd5-a22c-4285-a068-8ce701880af6@arm.com> Date: Thu, 16 Nov 2023 11:39:41 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 5/5][BINUTILS] aarch64: Add support for VMSA feature enhancements. Content-Language: en-US From: Srinath Parvathaneni To: CC: Richard Earnshaw , References: <8e6b9010-5a62-e00f-9afe-d86474343a2e@arm.com> <8dcf129a-88c8-198a-adbb-4da2e6403063@arm.com> <122e823d-6989-4b1e-bfa1-ce8b9a6de2cc@arm.com> <82c92cc2-bdb2-487c-b50f-05ec88f861d7@arm.com> In-Reply-To: <82c92cc2-bdb2-487c-b50f-05ec88f861d7@arm.com> X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM2PEPF0001C70F:EE_|AS2PR08MB8383:EE_|DB5PEPF00014B9E:EE_|DB5PR08MB10140:EE_ X-MS-Office365-Filtering-Correlation-Id: 0fabcc8e-18c4-4d2c-e178-08dbe698bf40 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: VXq6eTHyGJvU+eU68oEdVQZy1Snyjfa9idx6iBrgdXKBLYhjN/CH5pNVOtCtwlvkGLFWbu0YfO51Rmfl8XEqCgLq9qE1CqpUxjhukoNalqxO2sTHAHWq6kugNfVKNj0vSSXduUkgZXvr6HNmvBSa7gsVGmt3P0qdequPXJn/RZdTlZBoZLkhTAS1hkA6hhcxWxuN1PF4k53HXuBKUNw3jv1hnClzWZlunKdcOWpHJ78yU9rM0vNAm1Sneb4o3TJbxpyqD+rWOb6nv7hFP7ng4oxd8ysAMxubgO/GJOtphGORvjOs16QGMBZ02xOIrbAtQnFR7fxioNiceH+2z77vENDnNOPSlBGoe/tNCcSoWgJMoCWUMp+2XItNh2aQe92P0yL0A6b3y6JTSAEBnyp4p4kGJ7fDW3d96+RW9OPZsPoEoJkpf3kYD4z9VTZlrmPKNKkzjkHwc7iJxzKjHMeEg5AwNMUgsrSeXn9DDJK+aztNICVMwy5ZM9PtmrsRC7IW+r10h6C0pyGsrzgqS/ku7Lfsyv68yYK9jiihMo6EhftZ20e1POqcZXcDIyZ4ws27XeQinIl8y5egZ7Sm6pBVj1C0ncbVGDVpNDqrNoAA+GHDKQ4irxZ6kxJNPI0uUIShYV88L05bpnPJpoGwEUDy3nwknrfZDDCcOjad7vmUzKu0RMjewjlgiBNNMjZvCfJxb3aUKEfHCxmf1ODmckG7Nt9XnyZla4uVK+5DN6++CWCSJWfGv1DivjJ2C9N5W4TcrvauC0dPASVefB7U9BFbvifRer/i59Zt7wBAry8c/BYvbWw/dhXIYDk9BZ1thoo3RcLCGWLbSfrNFV85Uf23Gw== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(136003)(376002)(346002)(396003)(39860400002)(230922051799003)(1800799009)(451199024)(64100799003)(82310400011)(186009)(40470700004)(46966006)(36840700001)(478600001)(40460700003)(2906002)(33964004)(31696002)(2616005)(235185007)(5660300002)(86362001)(44832011)(16576012)(6916009)(316002)(82740400003)(54906003)(70586007)(4326008)(70206006)(8676002)(8936002)(40480700001)(356005)(81166007)(36860700001)(41300700001)(26005)(47076005)(336012)(426003)(36756003)(31686004)(3940600001)(43740500002)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8383 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b058f4aa-c81b-41de-2d1a-08dbe698b98f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +1iHbQSOBOZVNgDywQJWkUCxqrR9wV28XZMLrY6ZErYxJHaCgtH9P2wFTUIfhIP3ucGxHwBC0OFxD0T0CCDGs/9a+qvAZNLiluuF5uz0I5PegGeEAx7Y9TjO+t5KsahWzHvlBp1qXj+7M5koFUp6rLQEku2Cbb6tXKkL+lguY0Qlv93fY0YmhIB4ca3DUjTOym4PFF6re1BEHz8PLrLKCLoWFBHHGc+48vsJ4YtZxVAaLxUJNNZBAgRcqp8qjJzaRhRpGBUNGurIkvx8bHNpmhGgO8X+nCTaH9l/CaJ4eUWP69PgHTEL3nqUY6Rxuzym8mmfzNyIp1UVQ3G3hBNtEMDj+aiZKyJenufv2wIxh/HIaYmBhJuFdYVhYkfZd3Q+phjB5Z5bOGBUb4alTidETV0aaB6PNuqeAU7RANinsE1sna2+EBtDLpRGu82Bs9R5ELFVi6ikF/eOGJQGVCd1QFcA1bkEs1blC7PxC8EBw5fRtsp1/zrNwpOJlAjP06ZE/arZ8c5GcpH7DISTT/Hx5K+n/OQdWBbYln237N7go4grQ2jENRB8Hhsdeq+5vWxsgZNJty6OMY3Z4VimSmnKMGbI1bn+DOtUHcUwdwQspAvbQvFssMZmg91u/oszH0+ymfddndHgJz7yYvpOrqTMxUGhNByrJFo/jSpoB5WD+208B/RDsFjc6Y7dJuRnRStfZgrVqww8CgRMHcCYIhDPWP2c5U8ag06mpZVEnblCIbIHcM0PuGiLD3fMUJeHb6w7pIe8imQpbpSjGdgkQwZ4Sq72feek2YbDquRJ4GW3FtQ= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(396003)(346002)(39850400004)(136003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(82310400011)(36840700001)(40470700004)(46966006)(2906002)(44832011)(2616005)(4326008)(8676002)(36756003)(235185007)(8936002)(36860700001)(426003)(26005)(336012)(40480700001)(16576012)(31686004)(6916009)(478600001)(31696002)(86362001)(316002)(5660300002)(54906003)(70586007)(70206006)(82740400003)(40460700003)(41300700001)(33964004)(81166007)(107886003)(47076005)(3940600001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 11:39:52.1174 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0fabcc8e-18c4-4d2c-e178-08dbe698bf40 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B9E.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10140 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Hi, This patch adds the permission model enhancement and memory attribute index enhancement features and their corresponding system registers in AArch64 assembler. Permission Indirection Extension (FEAT_S1PIE, FEAT_S2PIE) Permission Overlay Extension (FEAT_S1POE, FEAT_S2POE) Memory Attribute Index Enhancement (FEAT_AIE) Extension to Translation Control Registers (FEAT_TCR2) These features are available by default from Armv9.4-A architecture. Regression tested for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l index 1b67843a4dd1744ef1ab2a7f9af3013922b7dbec..71ec06e3cb47ae629e9fd023268c9e5b0c55cda6 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs-bad.l @@ -27,3 +27,53 @@ .*: Error: selected processor does not support system register name 's1e1a' .*: Error: selected processor does not support system register name 's1e2a' .*: Error: selected processor does not support system register name 's1e3a' +.*: Error: selected processor does not support system register name 'amair2_el1' +.*: Error: selected processor does not support system register name 'amair2_el12' +.*: Error: selected processor does not support system register name 'amair2_el2' +.*: Error: selected processor does not support system register name 'amair2_el3' +.*: Error: selected processor does not support system register name 'mair2_el1' +.*: Error: selected processor does not support system register name 'mair2_el12' +.*: Error: selected processor does not support system register name 'mair2_el2' +.*: Error: selected processor does not support system register name 'mair2_el3' +.*: Error: selected processor does not support system register name 'amair2_el1' +.*: Error: selected processor does not support system register name 'amair2_el12' +.*: Error: selected processor does not support system register name 'amair2_el2' +.*: Error: selected processor does not support system register name 'amair2_el3' +.*: Error: selected processor does not support system register name 'mair2_el1' +.*: Error: selected processor does not support system register name 'mair2_el12' +.*: Error: selected processor does not support system register name 'mair2_el2' +.*: Error: selected processor does not support system register name 'mair2_el3' +.*: Error: selected processor does not support system register name 'pir_el1' +.*: Error: selected processor does not support system register name 'pir_el12' +.*: Error: selected processor does not support system register name 'pir_el2' +.*: Error: selected processor does not support system register name 'pir_el3' +.*: Error: selected processor does not support system register name 'pire0_el1' +.*: Error: selected processor does not support system register name 'pire0_el12' +.*: Error: selected processor does not support system register name 'pire0_el2' +.*: Error: selected processor does not support system register name 'pir_el1' +.*: Error: selected processor does not support system register name 'pir_el12' +.*: Error: selected processor does not support system register name 'pir_el2' +.*: Error: selected processor does not support system register name 'pir_el3' +.*: Error: selected processor does not support system register name 'pire0_el1' +.*: Error: selected processor does not support system register name 'pire0_el12' +.*: Error: selected processor does not support system register name 'pire0_el2' +.*: Error: selected processor does not support system register name 's2pir_el2' +.*: Error: selected processor does not support system register name 's2pir_el2' +.*: Error: selected processor does not support system register name 'por_el0' +.*: Error: selected processor does not support system register name 'por_el1' +.*: Error: selected processor does not support system register name 'por_el12' +.*: Error: selected processor does not support system register name 'por_el2' +.*: Error: selected processor does not support system register name 'por_el3' +.*: Error: selected processor does not support system register name 'por_el0' +.*: Error: selected processor does not support system register name 'por_el1' +.*: Error: selected processor does not support system register name 'por_el12' +.*: Error: selected processor does not support system register name 'por_el2' +.*: Error: selected processor does not support system register name 'por_el3' +.*: Error: selected processor does not support system register name 's2por_el1' +.*: Error: selected processor does not support system register name 's2por_el1' +.*: Error: selected processor does not support system register name 'tcr2_el1' +.*: Error: selected processor does not support system register name 'tcr2_el12' +.*: Error: selected processor does not support system register name 'tcr2_el2' +.*: Error: selected processor does not support system register name 'tcr2_el1' +.*: Error: selected processor does not support system register name 'tcr2_el12' +.*: Error: selected processor does not support system register name 'tcr2_el2' diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d index 18376bb5ac19d821c8fcef2dcb272cdc2b9c5e52..ea4cc867ec3ea9595f7076e49d5d48c7794921dd 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.d @@ -34,3 +34,53 @@ Disassembly of section \.text: .*: d5087941 at s1e1a, x1 .*: d50c7943 at s1e2a, x3 .*: d50e7945 at s1e3a, x5 +.*: d538a320 mrs x0, amair2_el1 +.*: d53da320 mrs x0, amair2_el12 +.*: d53ca320 mrs x0, amair2_el2 +.*: d53ea320 mrs x0, amair2_el3 +.*: d538a220 mrs x0, mair2_el1 +.*: d53da220 mrs x0, mair2_el12 +.*: d53ca120 mrs x0, mair2_el2 +.*: d53ea120 mrs x0, mair2_el3 +.*: d518a320 msr amair2_el1, x0 +.*: d51da320 msr amair2_el12, x0 +.*: d51ca320 msr amair2_el2, x0 +.*: d51ea320 msr amair2_el3, x0 +.*: d518a220 msr mair2_el1, x0 +.*: d51da220 msr mair2_el12, x0 +.*: d51ca120 msr mair2_el2, x0 +.*: d51ea120 msr mair2_el3, x0 +.*: d538a260 mrs x0, pir_el1 +.*: d53da260 mrs x0, pir_el12 +.*: d53ca260 mrs x0, pir_el2 +.*: d53ea260 mrs x0, pir_el3 +.*: d538a240 mrs x0, pire0_el1 +.*: d53da240 mrs x0, pire0_el12 +.*: d53ca240 mrs x0, pire0_el2 +.*: d518a260 msr pir_el1, x0 +.*: d51da260 msr pir_el12, x0 +.*: d51ca260 msr pir_el2, x0 +.*: d51ea260 msr pir_el3, x0 +.*: d518a240 msr pire0_el1, x0 +.*: d51da240 msr pire0_el12, x0 +.*: d51ca240 msr pire0_el2, x0 +.*: d53ca2a0 mrs x0, s2pir_el2 +.*: d51ca2a0 msr s2pir_el2, x0 +.*: d53ba280 mrs x0, por_el0 +.*: d538a280 mrs x0, por_el1 +.*: d53da280 mrs x0, por_el12 +.*: d53ca280 mrs x0, por_el2 +.*: d53ea280 mrs x0, por_el3 +.*: d51ba280 msr por_el0, x0 +.*: d518a280 msr por_el1, x0 +.*: d51da280 msr por_el12, x0 +.*: d51ca280 msr por_el2, x0 +.*: d51ea280 msr por_el3, x0 +.*: d538a2a0 mrs x0, s2por_el1 +.*: d518a2a0 msr s2por_el1, x0 +.*: d5382060 mrs x0, tcr2_el1 +.*: d53d2060 mrs x0, tcr2_el12 +.*: d53c2060 mrs x0, tcr2_el2 +.*: d5182060 msr tcr2_el1, x0 +.*: d51d2060 msr tcr2_el12, x0 +.*: d51c2060 msr tcr2_el2, x0 diff --git a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s index 4e494a965f6a9196395b2da1f8fb7da3e42faa7c..2768c2686903629d88ca36ef1404b4ea0a0c477a 100644 --- a/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s +++ b/gas/testsuite/gas/aarch64/armv8_9-a-sysregs.s @@ -32,3 +32,69 @@ at s1e1a, x1 at s1e2a, x3 at s1e3a, x5 + + /* FEAT_AIE. */ + mrs x0, amair2_el1 + mrs x0, amair2_el12 + mrs x0, amair2_el2 + mrs x0, amair2_el3 + mrs x0, mair2_el1 + mrs x0, mair2_el12 + mrs x0, mair2_el2 + mrs x0, mair2_el3 + + msr amair2_el1, x0 + msr amair2_el12, x0 + msr amair2_el2, x0 + msr amair2_el3, x0 + msr mair2_el1, x0 + msr mair2_el12, x0 + msr mair2_el2, x0 + msr mair2_el3, x0 + + /* FEAT_S1PIE. */ + mrs x0, pir_el1 + mrs x0, pir_el12 + mrs x0, pir_el2 + mrs x0, pir_el3 + mrs x0, pire0_el1 + mrs x0, pire0_el12 + mrs x0, pire0_el2 + + msr pir_el1, x0 + msr pir_el12, x0 + msr pir_el2, x0 + msr pir_el3, x0 + msr pire0_el1, x0 + msr pire0_el12, x0 + msr pire0_el2, x0 + + /* FEAT_S2PIE. */ + mrs x0, s2pir_el2 + msr s2pir_el2, x0 + + /* FEAT_S1POE. */ + mrs x0, por_el0 + mrs x0, por_el1 + mrs x0, por_el12 + mrs x0, por_el2 + mrs x0, por_el3 + + msr por_el0, x0 + msr por_el1, x0 + msr por_el12, x0 + msr por_el2, x0 + msr por_el3, x0 + + /* FEAT_S21POE. */ + mrs x0, s2por_el1 + msr s2por_el1, x0 + + /* FEAT_TCR2. */ + mrs x0, tcr2_el1 + mrs x0, tcr2_el12 + mrs x0, tcr2_el2 + + msr tcr2_el1, x0 + msr tcr2_el12, x0 + msr tcr2_el2, x0 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 792d6a4f4a7603487899f175c2b49763cbb47697..df0864009fe145028aef9c8d5e5e76badd616f1b 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -185,6 +185,18 @@ enum aarch64_feature_bit { AARCH64_FEATURE_PFAR, /* Address Translate Stage 1. */ AARCH64_FEATURE_ATS1A, + /* Memory Attribute Index Enhancement. */ + AARCH64_FEATURE_AIE, + /* Stage 1 Permission Indirection Extension. */ + AARCH64_FEATURE_S1PIE, + /* Stage 2 Permission Indirection Extension. */ + AARCH64_FEATURE_S2PIE, + /* Stage 1 Permission Overlay Extension. */ + AARCH64_FEATURE_S1POE, + /* Stage 2 Permission Overlay Extension. */ + AARCH64_FEATURE_S2POE, + /* Extension to Translation Control Registers. */ + AARCH64_FEATURE_TCR2, AARCH64_NUM_FEATURES }; @@ -248,7 +260,13 @@ enum aarch64_feature_bit { | AARCH64_FEATBIT (X, SCTLR2) \ | AARCH64_FEATBIT (X, FGT2) \ | AARCH64_FEATBIT (X, PFAR) \ - | AARCH64_FEATBIT (X, ATS1A)) + | AARCH64_FEATBIT (X, ATS1A) \ + | AARCH64_FEATBIT (X, AIE) \ + | AARCH64_FEATBIT (X, S1PIE) \ + | AARCH64_FEATBIT (X, S2PIE) \ + | AARCH64_FEATBIT (X, S1POE) \ + | AARCH64_FEATBIT (X, S2POE) \ + | AARCH64_FEATBIT (X, TCR2)) #define AARCH64_ARCH_V9A_FEATURES(X) (AARCH64_FEATBIT (X, V9A) \ | AARCH64_FEATBIT (X, F16) \ diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index b51c5aa14598abe8628d6a1363b43d6604dc8fda..0f647efca7e46a8554ac5c850fb315860bbede33 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -54,6 +54,10 @@ SYSREG ("amair_el12", CPENC (3,5,10,3,0), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) SYSREG ("amair_el2", CPENC (3,4,10,3,0), 0, AARCH64_NO_FEATURES) SYSREG ("amair_el3", CPENC (3,6,10,3,0), 0, AARCH64_NO_FEATURES) + SYSREG ("amair2_el1", CPENC (3,0,10,3,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("amair2_el12", CPENC (3,5,10,3,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("amair2_el2", CPENC (3,4,10,3,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("amair2_el3", CPENC (3,6,10,3,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) SYSREG ("amcfgr_el0", CPENC (3,3,13,2,1), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (V8_4A)) SYSREG ("amcg1idr_el0", CPENC (3,3,13,2,6), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (V8_6A)) SYSREG ("amcgcr_el0", CPENC (3,3,13,2,2), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (V8_4A)) @@ -556,6 +560,10 @@ SYSREG ("mair_el12", CPENC (3,5,10,2,0), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) SYSREG ("mair_el2", CPENC (3,4,10,2,0), 0, AARCH64_NO_FEATURES) SYSREG ("mair_el3", CPENC (3,6,10,2,0), 0, AARCH64_NO_FEATURES) + SYSREG ("mair2_el1", CPENC (3,0,10,2,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("mair2_el12", CPENC (3,5,10,2,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("mair2_el2", CPENC (3,4,10,1,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) + SYSREG ("mair2_el3", CPENC (3,6,10,1,1), F_ARCHEXT, AARCH64_FEATURE (AIE)) SYSREG ("mdccint_el1", CPENC (2,0,0,2,0), 0, AARCH64_NO_FEATURES) SYSREG ("mdccsr_el0", CPENC (2,3,0,1,0), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("mdcr_el2", CPENC (3,4,1,1,1), 0, AARCH64_NO_FEATURES) @@ -600,6 +608,13 @@ SYSREG ("oseccr_el1", CPENC (2,0,0,6,2), 0, AARCH64_NO_FEATURES) SYSREG ("oslar_el1", CPENC (2,0,1,0,4), F_REG_WRITE, AARCH64_NO_FEATURES) SYSREG ("oslsr_el1", CPENC (2,0,1,1,4), F_REG_READ, AARCH64_NO_FEATURES) + SYSREG ("pir_el1", CPENC (3,0,10,2,3), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pir_el12", CPENC (3,5,10,2,3), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pir_el2", CPENC (3,4,10,2,3), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pir_el3", CPENC (3,6,10,2,3), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pire0_el1", CPENC (3,0,10,2,2), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pire0_el12", CPENC (3,5,10,2,2), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) + SYSREG ("pire0_el2", CPENC (3,4,10,2,2), F_ARCHEXT, AARCH64_FEATURE (S1PIE)) SYSREG ("pan", CPENC (3,0,4,2,3), F_ARCHEXT, AARCH64_FEATURE (PAN)) SYSREG ("par_el1", CPENC (3,0,7,4,0), F_REG_128, AARCH64_NO_FEATURES) SYSREG ("pfar_el1", CPENC (3,0,6,0,5), F_ARCHEXT, AARCH64_FEATURE (PFAR)) @@ -699,6 +714,11 @@ SYSREG ("pmuserenr_el0", CPENC (3,3,9,14,0), 0, AARCH64_NO_FEATURES) SYSREG ("pmxevcntr_el0", CPENC (3,3,9,13,2), 0, AARCH64_NO_FEATURES) SYSREG ("pmxevtyper_el0", CPENC (3,3,9,13,1), 0, AARCH64_NO_FEATURES) + SYSREG ("por_el0", CPENC (3,3,10,2,4), F_ARCHEXT, AARCH64_FEATURE (S1POE)) + SYSREG ("por_el1", CPENC (3,0,10,2,4), F_ARCHEXT, AARCH64_FEATURE (S1POE)) + SYSREG ("por_el12", CPENC (3,5,10,2,4), F_ARCHEXT, AARCH64_FEATURE (S1POE)) + SYSREG ("por_el2", CPENC (3,4,10,2,4), F_ARCHEXT, AARCH64_FEATURE (S1POE)) + SYSREG ("por_el3", CPENC (3,6,10,2,4), F_ARCHEXT, AARCH64_FEATURE (S1POE)) SYSREG ("prbar10_el1", CPENC (3,0,6,13,0), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prbar10_el2", CPENC (3,4,6,13,0), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prbar11_el1", CPENC (3,0,6,13,4), F_ARCHEXT, AARCH64_FEATURE (V8R)) @@ -818,11 +838,16 @@ SYSREG ("spsr_und", CPENC (3,4,4,3,2), 0, AARCH64_NO_FEATURES) SYSREG ("ssbs", CPENC (3,3,4,2,6), F_ARCHEXT, AARCH64_FEATURE (SSBS)) SYSREG ("svcr", CPENC (3,3,4,2,2), F_ARCHEXT, AARCH64_FEATURE (SME)) + SYSREG ("s2pir_el2", CPENC (3,4,10,2,5), F_ARCHEXT, AARCH64_FEATURE (S2PIE)) + SYSREG ("s2por_el1", CPENC (3,0,10,2,5), F_ARCHEXT, AARCH64_FEATURE (S2POE)) SYSREG ("tco", CPENC (3,3,4,2,7), F_ARCHEXT, AARCH64_FEATURE (MEMTAG)) SYSREG ("tcr_el1", CPENC (3,0,2,0,2), 0, AARCH64_NO_FEATURES) SYSREG ("tcr_el12", CPENC (3,5,2,0,2), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) SYSREG ("tcr_el2", CPENC (3,4,2,0,2), 0, AARCH64_NO_FEATURES) SYSREG ("tcr_el3", CPENC (3,6,2,0,2), 0, AARCH64_NO_FEATURES) + SYSREG ("tcr2_el1", CPENC (3,0,2,0,3), F_ARCHEXT, AARCH64_FEATURE (TCR2)) + SYSREG ("tcr2_el12", CPENC (3,5,2,0,3), F_ARCHEXT, AARCH64_FEATURE (TCR2)) + SYSREG ("tcr2_el2", CPENC (3,4,2,0,3), F_ARCHEXT, AARCH64_FEATURE (TCR2)) SYSREG ("teecr32_el1", CPENC (2,2,0,0,0), 0, AARCH64_NO_FEATURES) SYSREG ("teehbr32_el1", CPENC (2,2,1,0,0), 0, AARCH64_NO_FEATURES) SYSREG ("tfsr_el1", CPENC (3,0,5,6,0), F_ARCHEXT, AARCH64_FEATURE (MEMTAG))