From patchwork Fri Nov 3 23:53:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 161483 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp1375953vqu; Fri, 3 Nov 2023 16:53:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9rCvcviazD9QxrE4Wlpn8clwWymJJC/ZvPdumK9xNKrSMKusTD0mf88Y6L80iQz97lJrm X-Received: by 2002:a81:6cc8:0:b0:5b3:f5f8:c5bf with SMTP id h191-20020a816cc8000000b005b3f5f8c5bfmr4657974ywc.9.1699055628814; Fri, 03 Nov 2023 16:53:48 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id a20-20020a0cefd4000000b0066d2ec22d4esi2240406qvt.455.2023.11.03.16.53.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Nov 2023 16:53:48 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=+SXCNwvO; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=+SXCNwvO; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8CC5C3858CDA for ; Fri, 3 Nov 2023 23:53:48 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2041.outbound.protection.outlook.com [40.107.15.41]) by sourceware.org (Postfix) with ESMTPS id 059743858D32 for ; Fri, 3 Nov 2023 23:53:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 059743858D32 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 059743858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.15.41 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699055621; cv=pass; b=inbn/x6aF744KPMOdOzVs+4tQXarfZycpwkHK6lXIYFsc2jtsMO2yblJSdFYXvX++9wdQ/ZNKWxphyfPfNLfpxpyW7uRefUlrw2Wdv+5EjJkh79wcyaPx2fTGBgw2IOmeft+63XloSnN5+5gv62OPIUZQWLnmIfrOupRyreiQcQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699055621; c=relaxed/simple; bh=lYubHZnvBppmj2iWhhVgB0YR7xlYxuPjXwjLeUpEPGk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=MCcQUrEjnvqzedcUKbHknVLDD+khZHRkshYZzVl44y9LGQhJYB3OEVrBF4v3kSomIMMFz4HDI3UaigujUE5lAIAtMQrYCT7fC1MLAV9j/axswniSTIVw/fyyzIdq9GtxmGSR0hxvGFtHvWTuZJB+hUgY6vUjImHs5uZURNewsLg= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=PqCtRWNvhbEGM+EB7XBNQeesIGlvlkZtHrF0VQBNrc6EgbK/HMnwepggUMYdBsh+LxfL4ecA4OCoaiAs+Lqk5Gi/5BAeg7liC0u4AK4VpUEOCDApn5wEUwdyjH7GdNQnr8wj2CfI6YAyycAO3gcQp12hLGlHBQV7BAbHQb/PZoywhowuHdtF1yqXEJiTgkerPnmagyUq6cC24YYXvcOzFM5DRd3lKp7XQLyEUvoEqRn1R+jhIT78q+ghVL3TNXS9Q2c3xX/zad4nr9gms9GI7mHqmIIvp03FSUIoQxmN7p0qekkwgslWMvgQgoLlDsoaG3gU6cKjXUPskJHOaDEG7g== 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=LKGzXyY9IWKH2OZVcmrEmPmmA/WZEAYk8pa8DWPl4tI=; b=oVptLS1Oc8AZ3ukbjzbQJWPh1kUigqUvE36TzreoFY1H3kb2OPEKNC6aTo+l9uv6Nx4IvC0YEV3071+pKa7ExwXOmiTRFRR2wr+fD8OywN1bvjEs0g12FbOXENTuD3fcRzCaQZ+aIoGtBw0Kzgfe20U4zonNN7uj4yL1YXv+yOFBSiHI39vLR1bUSBuM/IorNQFojzjGx3MEDgwM941VLHD4YWO57sarRCmtqjqkMMaXNUnErTWf6ockFwWLmzD6GA9906dWd1pG7r97yh8cUK34TKY8Dor8WeI5IoKzDtKRQAWSk9HTEwXdfrkhDgqtjM38021rFyQqTVos8rVzGQ== 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=LKGzXyY9IWKH2OZVcmrEmPmmA/WZEAYk8pa8DWPl4tI=; b=+SXCNwvOiuPr1taHTjIBovm19OvYfEtUmbTlCjD4oIkLF4eMZAB3EqZZhR98lim31QmLS5aU1fuOmyjDHID9f7VOvmndIMzTfZIK6ubsz51dwpLuWCozwZcgSkUsBaZJohckAcHR8qTd0iTmdN67kvZtK5GltB6nXEOxHJIp5ag= Received: from DU2P251CA0016.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::18) by PR3PR08MB5611.eurprd08.prod.outlook.com (2603:10a6:102:85::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.24; Fri, 3 Nov 2023 23:53:36 +0000 Received: from DB5PEPF00014B9E.eurprd02.prod.outlook.com (2603:10a6:10:230:cafe::5f) by DU2P251CA0016.outlook.office365.com (2603:10a6:10:230::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend Transport; Fri, 3 Nov 2023 23:53: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 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.6954.19 via Frontend Transport; Fri, 3 Nov 2023 23:53:36 +0000 Received: ("Tessian outbound 7671e7ddc218:v228"); Fri, 03 Nov 2023 23:53:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 03141b1895c18de0 X-CR-MTA-TID: 64aa7808 Received: from 1a574d584c43.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EB7C08E2-DFF1-4020-95D8-27DA8B498EEA.1; Fri, 03 Nov 2023 23:53:29 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1a574d584c43.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 03 Nov 2023 23:53:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cUiVZJEUPj7Jk0p/HAwPiDMVlnHj5gg+gYnP4vBKGNP047lPkOUvLgp4DEwBgyNAwEIjWqWh3g9DjbKvk9VRPcGMUbItmM5SDUmj8gV9FwetRJa7nw3r5CDDwoZprRKh0mH3o7dyZEPJu+cfku8cAY5d/wyw+5gAauoRn4wNoUbtJYxxqqo9FH5uag7rGImJU6M1QKVC7ZwyG6h5E9gEdvBSr6Re2TVUiCbS+NcqLMByZVQNETpE8EzR4mtEV3WQkYLvWYvDVKUM3UXAKSwSuiRVSdJx0EdoIVQF/NX/Y8iUOaziPSiOxr6fLRo7B8RTIPRVfP5AnsEtIFqpzeRWxA== 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=LKGzXyY9IWKH2OZVcmrEmPmmA/WZEAYk8pa8DWPl4tI=; b=Tsc3bOqtFCvKbOT8gQAks1DEHwkMNmdW/9fRM4yo6PdzuPO2gS0U8VRxOaEV2e6f5y7fwcxwfcsjRlJygmoz09S3zj9MM/IoIs3b7vhevlqNwso6HsswezozBeVx9jFMf/fsr8wAR6jNNo9O7iprskJ+jfX4//Yfh8cKgOmnme97LE8ZKb+Etr4gAq3dsP6FZIIbRMfEX+7mUb3U8CduQJzFL25uPLpvBBXpdGvW07GATCZmTx+Z1R5FsppvFrKgf4BgmuCYpc8he95IwYhNjjDrCZkxe0PFFNeZdDa3A3DDdeoccYxNeHo1G6AwSggZMfYllsRP6UcHK97GQzVMpw== 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=LKGzXyY9IWKH2OZVcmrEmPmmA/WZEAYk8pa8DWPl4tI=; b=+SXCNwvOiuPr1taHTjIBovm19OvYfEtUmbTlCjD4oIkLF4eMZAB3EqZZhR98lim31QmLS5aU1fuOmyjDHID9f7VOvmndIMzTfZIK6ubsz51dwpLuWCozwZcgSkUsBaZJohckAcHR8qTd0iTmdN67kvZtK5GltB6nXEOxHJIp5ag= Received: from AM4PR0302CA0020.eurprd03.prod.outlook.com (2603:10a6:205:2::33) by VI1PR08MB10007.eurprd08.prod.outlook.com (2603:10a6:800:1cc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Fri, 3 Nov 2023 23:53:25 +0000 Received: from AM4PEPF00027A6C.eurprd04.prod.outlook.com (2603:10a6:205:2:cafe::c1) by AM4PR0302CA0020.outlook.office365.com (2603:10a6:205:2::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend Transport; Fri, 3 Nov 2023 23:53:25 +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 AM4PEPF00027A6C.mail.protection.outlook.com (10.167.16.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 23:53:25 +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; Fri, 3 Nov 2023 23:53:24 +0000 Received: from e125768.cambridge.arm.com (10.2.78.50) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Fri, 3 Nov 2023 23:53:23 +0000 From: Victor Do Nascimento To: CC: , , Victor Do Nascimento Subject: [PATCH 1/2] aarch64: Add THE system register support Date: Fri, 3 Nov 2023 23:53:12 +0000 Message-ID: <20231103235317.2080506-1-victor.donascimento@arm.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A6C:EE_|VI1PR08MB10007:EE_|DB5PEPF00014B9E:EE_|PR3PR08MB5611:EE_ X-MS-Office365-Filtering-Correlation-Id: 593201c7-d670-4dd0-18b1-08dbdcc81848 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: rb+efwiB4lBfglO8QYFyjm/TWjlh7WA6lIU2h9GR0QUjrAY77mgWAB63XcAMYTdDnPYXAYP4Pk7kfDZ/fQ/ObMsa0ThfV649h0WtNUQOwguSO9mY1iG7uUJFAR6/JsLv93wSFfDeh1t+fi2clHKqhS2vCPIvcprE6jHVsVwpn5XyVDU85HlC661H9PwnbQ32nSgp18Gs4wdANeTvHMyYrW0Io/N0mRKpNoD823P2OivRN8Ag6OTZh1ZP+/se8BTKFvpyDpC4bgY+VcNrDH1pMjOg6udbDXu5xGgnv6sBMpTz16W/o47uY0sS1OcA5CK4BntOXl/P1snN1ciAOVPqUuFFoqlcrnZdBxaCR79l8PYr5sKd/EEfGsZB7hSF94ihLUrFbczkL59zx74nRqQiwcJadTsG1vsGaOejuGvSRs2YSefu1I6eP3tAjD8QRCrTQMjwIGDMFkGAZ58d37IdgbszN0qgULZ1uy3A4/9OkYjw3lwPn6DiiNYgfT9XlL3QiEg9/mHsIo2DrcFFZQiSPOkG/IW73kpRkgo/R4pPF9dlMXnlZxf8XgTGcazCDIXDbiu/iTH18VgjYtIKfA0Efs8CJwq9tfwbZKYypWl7DSNkDwPE7RzanQeMQN2nPMlaGdKrX4WBhm/dP7IJBmpgLMFkK835+5+BwU8G8WAJ/GEWF2s4HIbL5giRLxVCFH/ZPfgCTSL8sGwwYkTKoiwOhgBkNpeAXidj+ykiwyyq9zs8IlfH3YmemXHcB+ecC07z 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)(64100799003)(186009)(1800799009)(82310400011)(451199024)(36840700001)(46966006)(83380400001)(40480700001)(336012)(426003)(2616005)(1076003)(356005)(86362001)(82740400003)(81166007)(36756003)(4326008)(2906002)(5660300002)(6666004)(47076005)(478600001)(36860700001)(7696005)(8936002)(6916009)(19627235002)(8676002)(70586007)(70206006)(26005)(54906003)(316002)(41300700001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10007 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f8a818d2-3002-4583-74de-08dbdcc811cb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z+JHkRoMje+q3XNkRSXoJMzn11o3Fe+LCSOBKukkvfP8mCy4AtdIS5+oe/YwaE0N6HwK+9G5iyBx917JcJyf19EMNmY6nTCpgWmpgArUCwG++iXivDF9QrP/+k2DwQ8/2H0PGWCTnJfNe7UTEtzPLoLuL7xDyTi3ezXxCTvk6Pm8me2RGhwJw1TvQkQZtSdl21tYEb1eDxk1zervNp7mPm4fCt9Fr4C1YyzRSysZ5CPqBUtYnYklgZQISeyn1Kx7VNwVZ2sM6bW2mh8YMLgNz48V11+8plz9x1HI4pW1ifHl0XnHuP+fQsB2rGPipgqiOB9BuLSmW12kNHtRG3TyKZRM+JExF7RxDGI4Mjucb21ajmmbsUB2+dUlaxyBOWnDEFrTDrTTyx2SIWQj8ifQMcDgZcJGgVu3mWjuvRj+NTbRpE1XprGoeQB53T5JpSacG+/iufEEdkCOiJcr8FW3xxpfDt7GejvrH0MVxrDjgeb0aW7UT3au99KCM+NlFyOZUK9vrtKcXXhuKgNzQ7My1FMXukPxaOE+HfzyIXGEWyzbPDguUB7ZAyygksQZwjIa/I/vcwV0x1X7P4ZSVSPFGWBMyOqduUMycjaAprlUhSdYwxkEd2JmEtlORQ5uzME1+yaE5Fzkaqo5KtrAZuCh8V9Vv084iXJGK6UAtLH6pmwXg5GqMgsKETWvM8a8vzuByA5knrn9BIXUlzhXX0vc8SirZhKSJDOknn6lx4la1iB7eXZikjrWFOWP8TepeAoi 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)(39860400002)(396003)(346002)(376002)(136003)(230922051799003)(1800799009)(186009)(82310400011)(64100799003)(451199024)(36840700001)(46966006)(40470700004)(40480700001)(426003)(1076003)(336012)(2616005)(40460700003)(81166007)(86362001)(36756003)(82740400003)(83380400001)(2906002)(5660300002)(6666004)(26005)(478600001)(47076005)(36860700001)(7696005)(54906003)(8936002)(4326008)(19627235002)(8676002)(70586007)(70206006)(6916009)(316002)(41300700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 23:53:36.2005 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 593201c7-d670-4dd0-18b1-08dbdcc81848 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: PR3PR08MB5611 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, 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+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781588954806048992 X-GMAIL-MSGID: 1781588954806048992 Add Binutils support for system registers associated with the Translation Hardening Extension (THE). In doing so, we also add core feature support for THE, enabling its associated feature flag and implementing the necessary feature-checking machinery. Regression tested on aarch64-linux-gnu, no regressions. gas/ChangeLog: * config/tc-aarch64.c (aarch64_features): Add "+the" feature modifier. * doc/c-aarch64.texi (AArch64 Extensions): Update documentation for `the' option. * testsuite/gas/aarch64/sysreg-8.s: Add tests for `the' associated system registers. * testsuite/gas/aarch64/sysreg-8.d: Likewise. include/ChangeLog: * opcode/aarch64.h (enum aarch64_feature_bit): Add AARCH64_FEATURE_THE. opcode/ChangeLog: * aarch64-opc.c (aarch64_sys_ins_reg_supported_p): Add `the' system register check support. * aarch64-sys-regs.def: Add `rcwmask_el1' and `rcwsmask_el1' * aarch64-tbl.h: Define `THE' preprocessor macro. --- gas/config/tc-aarch64.c | 1 + gas/doc/c-aarch64.texi | 3 +++ gas/testsuite/gas/aarch64/sysreg-8.d | 4 ++++ gas/testsuite/gas/aarch64/sysreg-8.s | 5 +++++ include/opcode/aarch64.h | 2 ++ opcodes/aarch64-opc.c | 5 +++++ opcodes/aarch64-sys-regs.def | 2 ++ opcodes/aarch64-tbl.h | 3 +++ 8 files changed, 25 insertions(+) diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 1f687fe1ca0..c6566e11128 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10285,6 +10285,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"cssc", AARCH64_FEATURE (CSSC), AARCH64_NO_FEATURES}, {"chk", AARCH64_FEATURE (CHK), AARCH64_NO_FEATURES}, {"gcs", AARCH64_FEATURE (GCS), AARCH64_NO_FEATURES}, + {"the", AARCH64_FEATURE (THE), AARCH64_NO_FEATURES}, {NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES}, }; diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index a3ca714c299..8af38f27320 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -263,6 +263,9 @@ automatically cause those extensions to be disabled. @tab Enable Check Feature Status Extension. @item @code{gcs} @tab N/A @tab No @tab Enable Guarded Control Stack Extension. +@item @code{the} @tab ARMv8-A/Armv9-A @tab ARMv8.9-A/Armv9.4-A or later + @tab Enable Translation Hardening extension. + @end multitable @node AArch64 Syntax diff --git a/gas/testsuite/gas/aarch64/sysreg-8.d b/gas/testsuite/gas/aarch64/sysreg-8.d index 3be4120aae0..09b67245781 100644 --- a/gas/testsuite/gas/aarch64/sysreg-8.d +++ b/gas/testsuite/gas/aarch64/sysreg-8.d @@ -289,3 +289,7 @@ Disassembly of section \.text: [^:]*: d5189923 msr pmsnevfr_el1, x3 [^:]*: d53c1242 mrs x2, hcrx_el2 [^:]*: d51c1243 msr hcrx_el2, x3 +[^:]*: d538d0c2 mrs x2, rcwmask_el1 +[^:]*: d518d0c3 msr rcwmask_el1, x3 +[^:]*: d538d062 mrs x2, rcwsmask_el1 +[^:]*: d518d063 msr rcwsmask_el1, x3 diff --git a/gas/testsuite/gas/aarch64/sysreg-8.s b/gas/testsuite/gas/aarch64/sysreg-8.s index 8ce36c7c7a0..21daa8c8c65 100644 --- a/gas/testsuite/gas/aarch64/sysreg-8.s +++ b/gas/testsuite/gas/aarch64/sysreg-8.s @@ -185,3 +185,8 @@ rwreg pmsnevfr_el1 rwreg hcrx_el2 + + .arch armv8-a+the + + rwreg rcwmask_el1 + rwreg rcwsmask_el1 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 72d8ec2ce27..c0817604380 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -165,6 +165,8 @@ enum aarch64_feature_bit { AARCH64_FEATURE_GCS, /* SME2. */ AARCH64_FEATURE_SME2, + /* Translation Hardening Extension. */ + AARCH64_FEATURE_THE, AARCH64_NUM_FEATURES }; diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 6d9f3a06def..336a49feb68 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -5032,6 +5032,11 @@ aarch64_sys_ins_reg_supported_p (const aarch64_feature_set features, && AARCH64_CPU_HAS_FEATURE (features, PREDRES)) return true; + if ((reg_value == CPENC (3,0,13,0,3) + || CPENC (3,0,13,0,6)) + && AARCH64_CPU_HAS_FEATURE (features, THE)) + return true; + return false; } diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index 2f5780a21d4..dc43126088f 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -756,6 +756,8 @@ SYSREG ("prlar_el2", CPENC (3,4,6,8,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prselr_el1", CPENC (3,0,6,2,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prselr_el2", CPENC (3,4,6,2,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) + SYSREG ("rcwmask_el1", CPENC (3,0,13,0,6), F_ARCHEXT, AARCH64_FEATURE (THE)) + SYSREG ("rcwsmask_el1", CPENC (3,0,13,0,3), F_ARCHEXT, AARCH64_FEATURE (THE)) SYSREG ("revidr_el1", CPENC (3,0,0,0,6), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("rgsr_el1", CPENC (3,0,1,0,5), F_ARCHEXT, AARCH64_FEATURE (MEMTAG)) SYSREG ("rmr_el1", CPENC (3,0,12,0,2), 0, AARCH64_NO_FEATURES) diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 463939d24ca..e624b855d1b 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -2576,6 +2576,8 @@ static const aarch64_feature_set aarch64_feature_chk = AARCH64_FEATURE (CHK); static const aarch64_feature_set aarch64_feature_gcs = AARCH64_FEATURE (GCS); +static const aarch64_feature_set aarch64_feature_the = + AARCH64_FEATURE (THE); #define CORE &aarch64_feature_v8 #define FP &aarch64_feature_fp @@ -2636,6 +2638,7 @@ static const aarch64_feature_set aarch64_feature_gcs = #define CSSC &aarch64_feature_cssc #define CHK &aarch64_feature_chk #define GCS &aarch64_feature_gcs +#define THE &aarch64_feature_the #define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \ { NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS, 0, 0, NULL } From patchwork Fri Nov 3 23:53:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 161484 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp1375985vqu; Fri, 3 Nov 2023 16:53:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEDzo8td4PczCPBzeaKX9BFVBkRcHlYnwNwL+xziu5jWAe7a2f2ibktMLVbBLdFLG36wvLs X-Received: by 2002:a05:622a:138a:b0:41c:f729:8032 with SMTP id o10-20020a05622a138a00b0041cf7298032mr31805611qtk.63.1699055634793; Fri, 03 Nov 2023 16:53:54 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id t22-20020a05622a01d600b004198efe4596si2225557qtw.70.2023.11.03.16.53.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Nov 2023 16:53:54 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=qskfR9oE; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=qskfR9oE; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 970083858020 for ; Fri, 3 Nov 2023 23:53:53 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2061.outbound.protection.outlook.com [40.107.21.61]) by sourceware.org (Postfix) with ESMTPS id 90EDD3858C00 for ; Fri, 3 Nov 2023 23:53:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 90EDD3858C00 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 90EDD3858C00 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.61 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699055626; cv=pass; b=QKns6zap4X/fiTWpg5L7NAsI7/DTq5pdyf/aLN+DzMM5eJOTsX9lLyfMxgTBQKQeuf7igC+LsYuRf4ReFxnCUUcmqFb0/TAVbfI2vzyFdZrBySsE4T8n0h2BYUZqWn468syAXOWK1hDU5fGE0ng5DQb9e2TG0byQU/F1G1qkO2g= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699055626; c=relaxed/simple; bh=ayolLZS61mYFsvkqoYZNnjAs3lQAAlo1H0SoKcTEthU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=AyT4SStsdH1DWriOZRXa8WV3hhgzl0Fjw4aLzbnPQio12Y86iV1YHLhk8FbK/wsAkJLOyDaK1zxUgqKYrJK/iAuSG/ZkxJNvprr20NGfc0gAF1EGGR4zdfyvcGRE+wwE+BhJTjC64ncq2oPPr65kunyr/UjW+E1j0hSDu5PvI8Y= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=alxD5aS+u0vA+/UU08vv6j6cByUouq5XSzj9T08nBEaCWW+yQ4xjtDdXt4DW3e+bnPDcXNJ2PJi/On/fll7VpdAVGlkRGir0BfKwSQqLEkUViNmfR8WZs9ih4y6ZCK+r/DYH5kxaomcyBRmCNNhcDzmv7xYSTn6Rn7DbzY4denhoqVa54Qbrmw45QoFs1G7Glo5NjhPoIFy14K2/3I6Rg3SzqXSYtecE4KRy74FlZRH+ng3IwVkJ3P6ZQwkjepmMQ+UrsLi8YwQrWuI0tCgsONhfxr5Jn6Yc9KsqcafXToJPwF80mpB/cbyqqZhwfQCvGITD/ajy3EIImweZ1QeU1Q== 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=SACFg638blFTOSa9u4Gewe6I9bewyZkk7R8G2OaIBFQ=; b=dz2LBkpjC/G1gcw7m/CMF9D58kwY71q2d3AXbPH2Kp84vBW+wUnH5ZYpc9Jy9eYW23Rma5zlvzN+nkMgmU6VgmQ3J8dKa7Mb7r+9nagiAv+4xWvYmUQyCFOSY0dCeWeIgSFEsgfPSBqYr93AjFSUDvxbGIC+yy3+2VPBXfkoLNSzybFb9OsmsJyqS3yM5E7jD6dzmP/QAB01JGepvYwZDaDgOGQBOTWkEF459oMi4Y8PHx5eTOEDmDsSPhvkd12LAFWpGldzqOKB4SsbHjPB626RDQkkMrSoMqsax0BT4ocQ9hJu7JypQ/iNVlLftxpAxK96Udqaa1uKdDUlcgwYWQ== 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=SACFg638blFTOSa9u4Gewe6I9bewyZkk7R8G2OaIBFQ=; b=qskfR9oEgEsadoovk78jpVPOIOSMXr3dboTuTWlN24FwcVA+M+l164IvGXlOYrBONRtIqGuZUynyKIHOzkcIV4RFeR7QDUB55iYj02J0eAZelDbr/gAI0EF0AkPLIki1rlqY4CACW8kKheAbjQ8TCq8oq4OQCOdRjiK2stS6yVw= Received: from DB8PR03CA0019.eurprd03.prod.outlook.com (2603:10a6:10:be::32) by DU0PR08MB7461.eurprd08.prod.outlook.com (2603:10a6:10:354::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.24; Fri, 3 Nov 2023 23:53:39 +0000 Received: from DB5PEPF00014B99.eurprd02.prod.outlook.com (2603:10a6:10:be:cafe::80) by DB8PR03CA0019.outlook.office365.com (2603:10a6:10:be::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend Transport; Fri, 3 Nov 2023 23:53:39 +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 DB5PEPF00014B99.mail.protection.outlook.com (10.167.8.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 23:53:39 +0000 Received: ("Tessian outbound 385ad2f98d71:v228"); Fri, 03 Nov 2023 23:53:39 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0cc75ac1a1b9d241 X-CR-MTA-TID: 64aa7808 Received: from 9598a79f29b5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 116672F5-E1B2-4A5F-8458-119E6529F9B5.1; Fri, 03 Nov 2023 23:53:31 +0000 Received: from EUR02-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9598a79f29b5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 03 Nov 2023 23:53:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AGjGWCZkeA2k6d44h3xoOR0HUDzNcFBhBcjk9CNF1d7Kq6a2BrZffkV//shp0JjWIqVj2mqX1AVrc3Mh1uigzejmDtIQ2VM9J23sPKkRtiQdq5Bev5V3iRQVgYaac7bFVmDmJzWwRcMTWUzKUwaGl6tp1hH+BdFqcQDvq4Ds3aPNcjNrFrgOuKAMBgAtZFj/v+anjxbwXk1kL30F02jhxMUTLCnzM6syfJ6zPHhBS1d2JFLrEEIJxOYECQJAY6ilxLsv/B6yul7C1oEBLiuVeVBI0UxauRNxqBfICx8XbZ+wnDpWLT0SSDvK7v7h3SxNwLqBK/NYPfzCJvFguYRKnw== 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=SACFg638blFTOSa9u4Gewe6I9bewyZkk7R8G2OaIBFQ=; b=AuWhgAH9WrXQ2nTaeDBQpgFddpy42UFyy7gEYAUlMGIVIFl9Ob1tmflelny7bF/EuSd8z0z8Pc2GG7HZha+KRqs2LMVodhMF4yhsUjTH3h7uVK30BL05XQAoI+rA4XWcJG1jAq+F1uQCNsFAYxUKxrFnYpcK6VHNVfdmg+zP5cvZOAaPsy4LtJLLmjN2GzrCHJuNFPN9jN1bIM6r0wPqL/9C22ifMaUTUdsgeqN5103Enyd4/2tRlWY7ORxZfAMUm57YC+71+mlpxQggd4Nhuo2Nr1160MKsIH8NVmz1WP4UQHMC0SoZmNi69pvqn48dEhPdsVa516+KP2XaXBX56w== 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=SACFg638blFTOSa9u4Gewe6I9bewyZkk7R8G2OaIBFQ=; b=qskfR9oEgEsadoovk78jpVPOIOSMXr3dboTuTWlN24FwcVA+M+l164IvGXlOYrBONRtIqGuZUynyKIHOzkcIV4RFeR7QDUB55iYj02J0eAZelDbr/gAI0EF0AkPLIki1rlqY4CACW8kKheAbjQ8TCq8oq4OQCOdRjiK2stS6yVw= Received: from AM4PR0302CA0020.eurprd03.prod.outlook.com (2603:10a6:205:2::33) by PAVPR08MB9308.eurprd08.prod.outlook.com (2603:10a6:102:303::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Fri, 3 Nov 2023 23:53:26 +0000 Received: from AM4PEPF00027A6C.eurprd04.prod.outlook.com (2603:10a6:205:2:cafe::c1) by AM4PR0302CA0020.outlook.office365.com (2603:10a6:205:2::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend Transport; Fri, 3 Nov 2023 23:53: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 AM4PEPF00027A6C.mail.protection.outlook.com (10.167.16.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 23:53:26 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) 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; Fri, 3 Nov 2023 23:53:24 +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; Fri, 3 Nov 2023 23:53:24 +0000 Received: from e125768.cambridge.arm.com (10.2.78.50) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Fri, 3 Nov 2023 23:53:24 +0000 From: Victor Do Nascimento To: CC: , , Victor Do Nascimento Subject: [PATCH 2/2] aarch64: Add 128-bit system register flags Date: Fri, 3 Nov 2023 23:53:13 +0000 Message-ID: <20231103235317.2080506-2-victor.donascimento@arm.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231103235317.2080506-1-victor.donascimento@arm.com> References: <20231103235317.2080506-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A6C:EE_|PAVPR08MB9308:EE_|DB5PEPF00014B99:EE_|DU0PR08MB7461:EE_ X-MS-Office365-Filtering-Correlation-Id: 94806851-7f96-4a01-c40f-08dbdcc81a0e 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: izDnEkwNFc9ZnHGU+/7U47GgkAach8aNw7mybYNzJiKkrYBqH/UmaAEO9NnWVvl+hOULIrU2zCDIpMwycVOAxivNRGo6pMDdPoQem34wGPq+SdyFIdLgYDrSLMW1VF7ScEe1ja2Xhx3igNjFjSN0Fv6Df67bK2UDMhtGmxkBtjuQ1m0/NppApoj2VjlsSMjeEnMlf4Z+S+AmmYpQpAAyxibvddtE5aUeyGfySqMZOPbiZN9QE2zhpk5eZ3NXmnH6Dg6ssfzMni5luViIyzUElY2hOP4962kqGI0xEnhDD7ap5iFQaMluHIUng9sLkHj0Hqr/J1x/kOXyy7+vQq4rBbR6MBESQyRSZESjyLGlzuasMFVTRs+XPNHIpQCHSyionDp3UFqTXRtuewfAaUhYPu2zeTQUO9sJKwEeTNtk8DtkqNC/o5Qh4TaxB3H59K+6+wKBv2LbsrDVhCGMwGsPivsfn3yrSuVImZylnXWFDQk0QHUP3j8HWXVEUyM6aIvVy5oYxZUTQ8r4T0HqFCbzKB/NvGILxiFKe/g2jOG/b+FT0ic8JWPXx2QE9vOdY+X2ucNDeN6h3uMLy0EHZBteB2Ql0+vdCgdFSl6iJ7zsGgBKCf4795DrgmtNMh5XjXS8Z2z2NcTqkaXh5iiWLjail/1KKo41aMFnVxGq8ZmWOtpoXj5R3Ps12nteM0yrpH6e3lTUegJ36ArYiDx8BmbQFOtcGW6drzaKjuRHIJU9Kp7Ky0iYzrAqvDep3y5ed9mFp1bAK3wH7Uj0ELdK3G6gOw== 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)(396003)(39860400002)(230922051799003)(1800799009)(186009)(64100799003)(82310400011)(451199024)(40470700004)(36840700001)(46966006)(40460700003)(26005)(2616005)(478600001)(47076005)(8676002)(4326008)(36860700001)(5660300002)(426003)(336012)(83380400001)(7696005)(41300700001)(1076003)(8936002)(316002)(70206006)(54906003)(6916009)(6666004)(70586007)(2906002)(356005)(82740400003)(81166007)(86362001)(36756003)(40480700001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9308 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f0d0d69c-364a-44d5-820b-08dbdcc8125a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ESucRNSDUUkaWlBOQmHRUv1p3lQgT+FjYoDivSizUXtYiMJY+EOaHvGtTjYKw0oJRSYBw8frzM6M+2AzB9JcjyWi/CNWbCrzGB+ca7ImWaSdtVi6+/rDhIrbw6Khg4klp/ampO3KwUGz8lnO9Nc2+UJx5Eeb+BzmAEpEHddrW3BA0I/63LrhDr9CAeLomLj4z8in27Of/w9F2k6/1UOIzEa+FXNVhM+uPlwXv7TceyKNWSqFd1IPw/ZqOM3b1O7/2WKcvyMRuOEpKkZ18GQMUdl+dGGaDwFC4ebp4TDsaErfmbJ20Du0YA4gyki0r+HpD63qnPaUw2ZMV/4mrN9b1wXmoBLL4PjIK7gc650X9wT+ytecPFa9YhnPUpv/oUGiUMufT94fYEmoWyyN09oJgzKisIBjuQPH9LiV09dEz9jSxmqAB+XPder4Kcs4kM3P3Y58a3XfhzTH5tJbBC/wTDI2VFBPAo8BICwrqXgJMXm8OnrLu98lsyGzgzrsHqog2ivcmv/3NLegsGXjlrLqVjQsm6HdHJ5hS/bcZd7s+RqP438X+ElCu+UyPQYkFFeQT4yD30eu4HnRjlPXblGb5zyoi8i70OjyMkEqKO1aCoYKSzHwQOQ74fSaJsv/DpzEilBYuCWwZSBKfKjhB6Xby6fShxRcNhuYIcLDokGCTpx5TQdxPt78B5NE/YTV8hv3VwFW3tp17Lt+ggR/9acg0g5zW4I4NHQHl5DIEUvIVysezxtFLbqrbOlohoRw2q1i 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)(136003)(39860400002)(396003)(376002)(230922051799003)(82310400011)(186009)(451199024)(1800799009)(64100799003)(36840700001)(46966006)(40470700004)(81166007)(82740400003)(83380400001)(40480700001)(40460700003)(47076005)(4326008)(2616005)(1076003)(26005)(86362001)(6916009)(54906003)(6666004)(70206006)(316002)(2906002)(8676002)(8936002)(5660300002)(41300700001)(70586007)(36756003)(7696005)(478600001)(336012)(426003)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 23:53:39.1646 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94806851-7f96-4a01-c40f-08dbdcc81a0e 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: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7461 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, 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+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781588961096411117 X-GMAIL-MSGID: 1781588961096411117 In preparation for the implementation of 128-bit system register support across the toolchain, this patch adds the feature flag F_REG_128 and adds it to relevant system registers in `aarch64-sys-regs.def'. Given the shared nature of this file, this change is made necessary initially to implement argument validation in the `__arm_rsr128' and `__armwsr128' ACLE intrinsics in GCC, but will be of subsequent use in the binutils implementation of the corresponding `mrrs' and `msrr' instructions. Regression tested on aarch64-linux-gnu, no regressions. opcodes/ChangeLog: * aarch64-opc.h (F_REG_128): New flag. * aarch64-sys-regs.def (par_el1): Add F_REG_128 flag. (rcwmask_el1): Likewise. (rcwsmask_el1): Likewise. (ttbr0_el1): Likewise. (ttbr0_el12): Likewise. (ttbr0_el2): Likewise. (ttbr1_el1): Likewise. (ttbr1_el12): Likewise. (ttbr1_el2): Likewise. (vttbr_el2): Likewise. --- opcodes/aarch64-opc.h | 3 +++ opcodes/aarch64-sys-regs.def | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/opcodes/aarch64-opc.h b/opcodes/aarch64-opc.h index fe1f882c20e..75d2feb02ea 100644 --- a/opcodes/aarch64-opc.h +++ b/opcodes/aarch64-opc.h @@ -295,6 +295,9 @@ verify_constraints (const struct aarch64_inst *, const aarch64_insn, bfd_vma, #undef F_REG_ALIAS #define F_REG_ALIAS (1 << 6) /* Register name aliases another. */ +#undef F_REG_128 +#define F_REG_128 (1 << 7) /* System regsister implementable as 128-bit wide. */ + /* PSTATE field name for the MSR instruction this is encoded in "op1:op2:CRm". Part of CRm can be used to encode . E.g. CRm[3:1] for SME. In order to set/get full PSTATE field name use flag F_REG_IN_CRM and below diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index dc43126088f..96bdadb0b0f 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -594,7 +594,7 @@ 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 ("pan", CPENC (3,0,4,2,3), F_ARCHEXT, AARCH64_FEATURE (PAN)) - SYSREG ("par_el1", CPENC (3,0,7,4,0), 0, AARCH64_NO_FEATURES) + SYSREG ("par_el1", CPENC (3,0,7,4,0), F_REG_128, AARCH64_NO_FEATURES) 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)) @@ -756,8 +756,8 @@ SYSREG ("prlar_el2", CPENC (3,4,6,8,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prselr_el1", CPENC (3,0,6,2,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) SYSREG ("prselr_el2", CPENC (3,4,6,2,1), F_ARCHEXT, AARCH64_FEATURE (V8R)) - SYSREG ("rcwmask_el1", CPENC (3,0,13,0,6), F_ARCHEXT, AARCH64_FEATURE (THE)) - SYSREG ("rcwsmask_el1", CPENC (3,0,13,0,3), F_ARCHEXT, AARCH64_FEATURE (THE)) + SYSREG ("rcwmask_el1", CPENC (3,0,13,0,6), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (THE)) + SYSREG ("rcwsmask_el1", CPENC (3,0,13,0,3), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (THE)) SYSREG ("revidr_el1", CPENC (3,0,0,0,6), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("rgsr_el1", CPENC (3,0,1,0,5), F_ARCHEXT, AARCH64_FEATURE (MEMTAG)) SYSREG ("rmr_el1", CPENC (3,0,12,0,2), 0, AARCH64_NO_FEATURES) @@ -1046,13 +1046,13 @@ SYSREG ("trfcr_el1", CPENC (3,0,1,2,1), F_ARCHEXT, AARCH64_FEATURE (V8_4A)) SYSREG ("trfcr_el12", CPENC (3,5,1,2,1), F_ARCHEXT, AARCH64_FEATURE (V8_4A)) SYSREG ("trfcr_el2", CPENC (3,4,1,2,1), F_ARCHEXT, AARCH64_FEATURE (V8_4A)) - SYSREG ("ttbr0_el1", CPENC (3,0,2,0,0), 0, AARCH64_NO_FEATURES) - SYSREG ("ttbr0_el12", CPENC (3,5,2,0,0), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) - SYSREG ("ttbr0_el2", CPENC (3,4,2,0,0), F_ARCHEXT, AARCH64_FEATURE (V8A)) + SYSREG ("ttbr0_el1", CPENC (3,0,2,0,0), F_REG_128, AARCH64_NO_FEATURES) + SYSREG ("ttbr0_el12", CPENC (3,5,2,0,0), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (V8_1A)) + SYSREG ("ttbr0_el2", CPENC (3,4,2,0,0), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (V8A)) SYSREG ("ttbr0_el3", CPENC (3,6,2,0,0), 0, AARCH64_NO_FEATURES) - SYSREG ("ttbr1_el1", CPENC (3,0,2,0,1), 0, AARCH64_NO_FEATURES) - SYSREG ("ttbr1_el12", CPENC (3,5,2,0,1), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) - SYSREG ("ttbr1_el2", CPENC (3,4,2,0,1), F_ARCHEXT, AARCH64_FEATURES (2, V8A, V8_1A)) + SYSREG ("ttbr1_el1", CPENC (3,0,2,0,1), F_REG_128, AARCH64_NO_FEATURES) + SYSREG ("ttbr1_el12", CPENC (3,5,2,0,1), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (V8_1A)) + SYSREG ("ttbr1_el2", CPENC (3,4,2,0,1), F_ARCHEXT|F_REG_128, AARCH64_FEATURES (2, V8A, V8_1A)) SYSREG ("uao", CPENC (3,0,4,2,4), F_ARCHEXT, AARCH64_FEATURE (V8_2A)) SYSREG ("vbar_el1", CPENC (3,0,12,0,0), 0, AARCH64_NO_FEATURES) SYSREG ("vbar_el12", CPENC (3,5,12,0,0), F_ARCHEXT, AARCH64_FEATURE (V8_1A)) @@ -1069,7 +1069,7 @@ SYSREG ("vstcr_el2", CPENC (3,4,2,6,2), F_ARCHEXT, AARCH64_FEATURE (V8_4A)) SYSREG ("vsttbr_el2", CPENC (3,4,2,6,0), F_ARCHEXT, AARCH64_FEATURES (2, V8A, V8_4A)) SYSREG ("vtcr_el2", CPENC (3,4,2,1,2), 0, AARCH64_NO_FEATURES) - SYSREG ("vttbr_el2", CPENC (3,4,2,1,0), F_ARCHEXT, AARCH64_FEATURE (V8A)) + SYSREG ("vttbr_el2", CPENC (3,4,2,1,0), F_ARCHEXT|F_REG_128, AARCH64_FEATURE (V8A)) SYSREG ("zcr_el1", CPENC (3,0,1,2,0), F_ARCHEXT, AARCH64_FEATURE (SVE)) SYSREG ("zcr_el12", CPENC (3,5,1,2,0), F_ARCHEXT, AARCH64_FEATURE (SVE)) SYSREG ("zcr_el2", CPENC (3,4,1,2,0), F_ARCHEXT, AARCH64_FEATURE (SVE))