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 }