From patchwork Wed May 15 11:36:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Longo X-Patchwork-Id: 90197 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 B298D384AB42 for ; Wed, 15 May 2024 11:37:08 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2043.outbound.protection.outlook.com [40.107.104.43]) by sourceware.org (Postfix) with ESMTPS id DDAA7384AB42 for ; Wed, 15 May 2024 11:36:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DDAA7384AB42 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 DDAA7384AB42 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.104.43 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715772996; cv=pass; b=PPqw6ZD5+jFK3nonTg4hCJb5ppZH08fiN15Yg4fCgFo3LpMBj+pgexcEsaBj45xEGM55fOok4cKNnCIW56S6xKiSgVWRpQif4ip/wdjQIueynHoxnjCpE+oT7fH8TcnNn+TYbrnywNdzUK28NASvMIROsFTGgqWslkcptJCYseM= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715772996; c=relaxed/simple; bh=/3h+5NRK53efAhxhg4W6wgun2sUXVtROYgjbrcohteg=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:To:From:Subject: MIME-Version; b=K4/rr8M+hwCaZhL2c13zdn3Y7UVRnsLxOtAIi0sRy5kopcdvWjlCsEfVexvUR0lUcBMFq+7xq4G5Zkf6ubKq7ssjVU7VIWjgN+si3Oa04J+/yZKBTs2kXPYAzbJTt4khgThLQKVyTgZU0YEQYRHv74AZBW+YzWqXAd5ELLw6Ijk= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=kcbrxAPsLWPseHwcLjrhShKy4XqVIpJt84QHUXw7621S4RwLoGvvgZXdILl6aRbI5nMFAhjIgHe4g6Uz/jP9f7BrtUgkcxe4JuWdk2mBRdCdVChUO86oPl/atFF1b3bCBFbsljdYOS5OBhguZWYukcgWGCgXUqRU/3vGbPcJIX91J9VKpLZGVjwCC8d0zo1m4ym/bDSWFS9dOTgHbsuxiOmEGcwouXX497EM4BIMoS9y2yr2+qj7ul7FRiWFNUZaZEBSzEhmT3U2ZAH/SZZK2Anp8qzepuJH9nkcSLBg6L3uS10avnjSfb9P+LYIWuW9+HfRX7nZfghZhEKRaUkMVA== 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=2ZgcErgKSFk4B96t9C9p6YmnqFzH4hqwI2Men9/42UQ=; b=C3olc4SyEh0v7hNi/Gmyb+CgY4AaO0CndRJMRvkPo4VpEHvSxPdgqIgAV4VwkXvGm/Z4/8l6E2A6pefi6lxAYe/6MRB43IFUsgNRRo3k8Sj9CoFHB9nDNmI2BPMqPnn49VXXNHANvZsKOGv8USl71kNPqoHuNvaQMo6pe3Hy2OmwCUHKJM2IPvWKQnpj8JBexmAe+7U9dKAWtAedoBTSlLKFzYYcyIw63gGIpWu9FG2RLJIlUJpZGZ1nh8ptsErHMew6n540FOJrfIaLSb3VIgn3gaGeyC3cxWPwhMqfXxxwswgDuKtDCdE+gFBijYjlPe6R1raKI4ArS7qy3xTbMA== 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=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2ZgcErgKSFk4B96t9C9p6YmnqFzH4hqwI2Men9/42UQ=; b=If/p7bKfmCN8OHSz2Zp/ms/BD8KExI7tFyRkLDwe92qm76naRsMLfXGFEe8bvpuboVzIVEJoIqLel64Iy3S6OVHzcrGs6HW2FUXfC1HgsCEPq1h9gzHKu9uRUjGoR0b7Cdpj48dmVbz2S7BzAlpgmSZxwlyEO4YdMR3maf0p7No= Received: from DBBPR09CA0029.eurprd09.prod.outlook.com (2603:10a6:10:d4::17) by AS4PR08MB7925.eurprd08.prod.outlook.com (2603:10a6:20b:574::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Wed, 15 May 2024 11:36:27 +0000 Received: from DB5PEPF00014B8E.eurprd02.prod.outlook.com (2603:10a6:10:d4:cafe::45) by DBBPR09CA0029.outlook.office365.com (2603:10a6:10:d4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55 via Frontend Transport; Wed, 15 May 2024 11:36:25 +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=arm.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 DB5PEPF00014B8E.mail.protection.outlook.com (10.167.8.202) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7587.21 via Frontend Transport; Wed, 15 May 2024 11:36:25 +0000 Received: ("Tessian outbound ba75727f6dca:v315"); Wed, 15 May 2024 11:36:25 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 24e121055bbd148b X-CR-MTA-TID: 64aa7808 Received: from a71bc8fab10f.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8F90E1EC-7762-49C1-87AC-2D169668C604.1; Wed, 15 May 2024 11:36:18 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a71bc8fab10f.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 15 May 2024 11:36:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Thb968sSVv/CckCn8IEcCtjDhft4zQPlM9A7BemoUY5wjeyQXxvSngehXATH9MqgLvGdMCTz8to5SJ5dOdwowff/FDEcFYyNKPqa2ID3TQeXtO883f+i/WGJ6AtGcLHUNnSa+dx32DCYzxbJ1Gm6x7k3MX80yDMiU7hHwT1hqq7zuNb1VbFdPuxncdqURO5EV5Lh/4vIHM6VSZdIgiGYFZtMQ/81iPYTQe4VuU5qzqqxQwaoUpEjszCsC/htFswBYKxvVdqEMFuDz6dVcsSnNrBPFy6lWKxhq8Wmg4RTu09w5dVAaLYCf52Q6Dx5M+oKsl67pcIgfXOApou2A2NuhA== 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=2ZgcErgKSFk4B96t9C9p6YmnqFzH4hqwI2Men9/42UQ=; b=NjornD3urpeSHt4H0zeCBA807ubUJ3BKHuSTN8lzs8oCEoW9Y3z9N7gJMUN3qUGzG3+3QbWYIa5CJ4zTRLPqn3prnsK8pbgQmo1I6wNNnEFkz9KDSZsu3hZi506XXcaDfdq6bZ48hv6hZF4TEz2K7zz4UuHdiCqVCWKDWuH7rOCKI3IFFt0FQiOx3hgGuxkjHvuxr6qgI93C0+0Sm6vpAtkvzC+OHjEBK7a3g76IY/KhiRJEQtSiGqj0rJBKTqnGHIK744Jp49jCA6H8DRVsurBWERpZkuEZZM/fbitnNtSyhjbZ2VKA42fShnIfu2GLeeGaMIutWHaSGwG7wLFPIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2ZgcErgKSFk4B96t9C9p6YmnqFzH4hqwI2Men9/42UQ=; b=If/p7bKfmCN8OHSz2Zp/ms/BD8KExI7tFyRkLDwe92qm76naRsMLfXGFEe8bvpuboVzIVEJoIqLel64Iy3S6OVHzcrGs6HW2FUXfC1HgsCEPq1h9gzHKu9uRUjGoR0b7Cdpj48dmVbz2S7BzAlpgmSZxwlyEO4YdMR3maf0p7No= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AM0PR08MB4227.eurprd08.prod.outlook.com (2603:10a6:208:13d::14) by AS2PR08MB9198.eurprd08.prod.outlook.com (2603:10a6:20b:579::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Wed, 15 May 2024 11:36:17 +0000 Received: from AM0PR08MB4227.eurprd08.prod.outlook.com ([fe80::bd47:9844:a7a3:4d18]) by AM0PR08MB4227.eurprd08.prod.outlook.com ([fe80::bd47:9844:a7a3:4d18%4]) with mapi id 15.20.7587.026; Wed, 15 May 2024 11:36:17 +0000 Message-ID: Date: Wed, 15 May 2024 12:36:15 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: "binutils@sourceware.org" Cc: Richard Earnshaw , Nick Clifton From: Matthieu Longo Subject: [PATCH][Binutils] aarch64: add SPMU feature and its associated registers X-ClientProxiedBy: LNXP265CA0005.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::17) To AM0PR08MB4227.eurprd08.prod.outlook.com (2603:10a6:208:13d::14) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AM0PR08MB4227:EE_|AS2PR08MB9198:EE_|DB5PEPF00014B8E:EE_|AS4PR08MB7925:EE_ X-MS-Office365-Filtering-Correlation-Id: 445dee24-04c7-4d57-13c5-08dc74d340e6 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;ARA:13230031|376005|1800799015|366007; X-Microsoft-Antispam-Message-Info-Original: m7wpK7oc5fnFdly2OptwkCKlliL07MElu6kBx2sxHagynyXs31YebRMZQt/TLyOsNk+Hr1iD+AFVaa744alikLbdBW9Y6GVqnZLJCSBMwz4PiMWvjxJ0igZkFjnneQO3BY+Yrr8n/CUT3DMbf3jHiGVCTL2a/5GzzgqBa1ZRrI+lqs2i2qsnglwS/mTDfk5Hzuz2rARXnztpXggj69dNDhkk3yR2gbEwtBy/7wHi57pUXHw36DYFAzzqy/hQlFZJKGoy8767S5vRWZ+ffY6a0ygnlnQtN9VksYOoyER7ueJ/glGvE0YPyBVC7sNjKa4TC/qn1IWhuLOjZXrtzllQNIjkXpaxC0nuhPHVGm0W0yBWsi2Oodro9K50gUH2z82HFHPXsRVdrhUQU+5cze/X8tUS/4iH2WP5UlkcJziYegjmctxDan1tQjUmvrH+XvZgRwjtzq+GiHSITpNsVWnGIPTBkYxz/Fg9mOyapHw4TaxMFEa7+Bet0Uw/lBOOFuaWCFe1yUJsnB13Pd4lXZUlxTxTnF0DHD2dJ8wVpmUF/K3rkdHsG3+mQHo36v4j625zHU86Fz56oXtWig7iI7RsSFIlyO44bYWDh9mkiAS/5LgKD6jNqMNLblpIGL4Oqtx16pwt9iNNidffhTW0syOxYXfm8rutVtSByq+uEAiVN9YeTpVn1GaBJ4PPuEXWgWbbtkPnoTtI7PXCpkI4kHIk065VynHh60Qx04IvcChGDvpOHT8j1jLRz2bGS3nKiPBVN8WYt47SKx575+8pFKFutdU0inB5Dwsd2lj54TprBzYG9KUMDg3JBnvBbMqPXOvF9cAO5ZuC3iwIHXM1wM2BJcjO7Nsund/CCHacNZHU9Uq9y4P6kijfW3OQbz2m0P3Nq6uEPas9/TiYTmbanGS6BX3ERfOVkUZq2ioxFuHZpC2tQcNVxB4/JHk7qWTiu9LZrrkKJ4I48wNCgmKuYNf1GNIX0A5doGeA0QcagqkvLA69y+VmxLu2/h4NMuYtfNHpEZ+BnPl3sEpkFDH7Uk8t1Txo6tCvV8BOpUc1clg0JAOuzNNWZf1Am+EhZp3fQU9sAOZa3jaN7FlxD4CwczWQjsc6TZmBSqI9bEkPVpLkTo4JZlo/2wQfN+Qw9e6J2z1cUT8FVowO2e8qzwJ/SOsGhkA6bIefT2jGR+c09Xt10f931E++ks6rkSuyGc4JhBHpxCj7Xvq43/vCqg1nPUYXOMl58iRgAC1EpLYNwWrEf1aRCSvL1plr9Sn5/qNBFZArw+bKLMHoxbE4dhIqGPRaGQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB4227.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9198 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B8E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1b80eae7-070b-44b9-3dce-08dc74d33bb4 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|1800799015|35042699013|82310400017; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/WglhalrFDb1CXM0+h3T1q/RAp7HBWK?= =?utf-8?q?S2vrFLG2kfyIMQhsQVm1p1GW/AbQF68SNwHbRRlM7d344fvXSZoGiNtutljO6gOlA?= =?utf-8?q?t+XBCgYZNyq2O+8UhfEdL1TD48O2h9c5PRpIhr5L6ERV/6Pb/YFc8sL/zbWntUd/g?= =?utf-8?q?/wbY7aZgVY4cJUUtXb8yB88wsaw+fJUI21pRfQwI5ZF8myvzzW4hqjYCDOodvglSg?= =?utf-8?q?hp6hxLeSESI4iA8aUH6Gi42/cSQe2/w2Gz5ZavX+36Xh4wtVbc4sX96fxV85h+AiD?= =?utf-8?q?xS6mOQy38a5yG121Otps7FaP4j3/Y8svMh+WM++9eqKSESRPTj3eB0FRP5YmOKNYu?= =?utf-8?q?el3gjUbad63tXHkF8SFjIqSsqQ3MXXJMzaA2mgiCe1qkTKnSHE9z2epu33NbDbyQz?= =?utf-8?q?5RMhl/Ft5nUmUI+rKvRy+1mOPYuKBJ8wLBClW51s9fiMhkl15NceEbwgmUQyxF/79?= =?utf-8?q?szwZ0p+0pjV6sZBt6GmVE6yBxRoC5nN9P4TsMDm3Noy1W2TpZvjDhWkiuXQSyd+J/?= =?utf-8?q?ypnBB7/eMOqYZy3dg2oIVzU4H9mI1RZVWXIp5R9P7EGe2bU3AtZbbs2pt2aebgXiH?= =?utf-8?q?NWGTYjO4zAsGq0q/xO/sdXsZdsF1RgBo2W7TiREdYxArloKkkY54BELPzUOwvqFET?= =?utf-8?q?e6gMVdYxPq8JVec0dWJ0v1RDRDQXbCmKY5uZ+3LEy1BvlKjyGbfSilosGtrNYmRFs?= =?utf-8?q?taIUOpV646IscdOM3UdnsrYdnYst1Y6+skjTKeMDbmNbeFUN2H7S1LT2eYd7LBGaL?= =?utf-8?q?9A0meM7pRYWIhngJsGaF5s440SGdNeN9vN5+20o0gewxBtF6gNf8JYMUPIczkjnVT?= =?utf-8?q?h+7aqRnhpoD+iHuB8DFEmrtlKb/jac6Kp5IcmYb4WrafDLuLUceOpeQpRDJEhaKxt?= =?utf-8?q?ErIMxIMpil66I2rVd3tV1FuHbG/IZNUhvwz0LIuICL1ikzw1kV60cSuQMu9rkKSSa?= =?utf-8?q?kF8VnvhTAQyu4EQJc85b8sJ2/1NGDxua+RdgDaRr5uZputaOBVUIj9oMR67CRTvIA?= =?utf-8?q?dwdwptY4gVEPQPub2zKQAQjGtcOCyfKJtv5K+nVgzZe4zFIZUQ0fjk8Fyc/d/BT3m?= =?utf-8?q?ZgpRwBzfLEIYSwAHQChmb7+txhwr6xk4v309/wkyCVCwOjQIm6LzXX3UoPTEhbwN+?= =?utf-8?q?ONIgsoYOeoVnUFsCzsd1STEBHnjTnbWlOIw4icVQLIiKpx4fEAeiYhJQKwRRCmHvR?= =?utf-8?q?ob7fOKlS2s6ugekGk5CaD14hMwot8CkGH63hyw9KijSsFtkiYloZtM1lkLDgStr8F?= =?utf-8?q?tgl2Mc9HfVMDaJ7ZKvtVxVexK4ds826kfJvAhqTht4qyRTR9iOvjqBu+xcTgnRAxC?= =?utf-8?q?/2SEO4RhA80D?= 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)(36860700004)(376005)(1800799015)(35042699013)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2024 11:36:25.5509 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 445dee24-04c7-4d57-13c5-08dc74d340e6 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: DB5PEPF00014B8E.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7925 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, 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, AArch64 defines registers for the feature spmu (System Performance Monitors Extension). spmu is an Armv8.9-A feature. Those registers were missed previously. This patch also adds relevant tests. Regression tested on aarch64-none-elf, and no regression found. Ok for binutils-master? I don't have commit access so I need someone to commit on my behalf. Regards, Matthieu. From 37bcdb869b9100ae3d366f565c5871fb4be4ffac Mon Sep 17 00:00:00 2001 From: Matthieu Longo Date: Wed, 21 Feb 2024 16:32:51 +0000 Subject: [PATCH] aarch64: add SPMU feature and its associated registers AArch64 defines new registers for the feature spmu (System Performance Monitors Extension). spmu is an Armv8.9-A feature. This patch also adds relevant tests. Regression tested on aarch64-none-elf, and no regression found. --- .../gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l | 14 ++++++++++++++ .../gas/aarch64/sysreg/armv8_9-a-sysregs.d | 7 +++++++ .../gas/aarch64/sysreg/armv8_9-a-sysregs.s | 6 ++++++ include/opcode/aarch64.h | 3 +++ opcodes/aarch64-sys-regs.def | 4 ++++ 5 files changed, 34 insertions(+) diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l index 05431cc501b..9cf94755cf6 100644 --- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l +++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l @@ -204,6 +204,20 @@ .*: Error: selected processor does not support system register name 'pmicfiltr_el0' .*: Info: macro invoked from here .*: Error: selected processor does not support system register name 'pmzr_el0' +.*: Error: selected processor does not support system register name 'spmaccessr_el1' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmaccessr_el1' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmcr_el0' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmcr_el0' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmdevaff_el1' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmintenset_el1' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'spmintenset_el1' +.*: Info: macro invoked from here .*: Error: selected processor does not support system register name 'pmecr_el1' .*: Info: macro invoked from here .*: Error: selected processor does not support system register name 'pmecr_el1' diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d index 9913c2be6d3..e420f7077a6 100644 --- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d +++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d @@ -128,6 +128,13 @@ Disassembly of section \.text: .*: d51b9600 msr pmicfiltr_el0, x0 .*: d53b9600 mrs x0, pmicfiltr_el0 .*: d51b9d80 msr pmzr_el0, x0 +.*: d5109d60 msr spmaccessr_el1, x0 +.*: d5309d60 mrs x0, spmaccessr_el1 +.*: d5139c00 msr spmcr_el0, x0 +.*: d5339c00 mrs x0, spmcr_el0 +.*: d5309dc0 mrs x0, spmdevaff_el1 +.*: d5109e20 msr spmintenset_el1, x0 +.*: d5309e20 mrs x0, spmintenset_el1 .*: d5189ea0 msr pmecr_el1, x0 .*: d5389ea0 mrs x0, pmecr_el1 .*: d5189ee0 msr pmiar_el1, x0 diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.s b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.s index 318d8bb9097..6a01cb43289 100644 --- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.s +++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.s @@ -107,6 +107,12 @@ rw_sys_reg sys_reg=pmicfiltr_el0 xreg=x0 r=1 w=1 msr pmzr_el0, x0 + /* FEAT_SPMU */ + rw_sys_reg sys_reg=spmaccessr_el1 xreg=x0 r=1 w=1 + rw_sys_reg sys_reg=spmcr_el0 xreg=x0 r=1 w=1 + rw_sys_reg sys_reg=spmdevaff_el1 xreg=x0 r=1 w=0 + rw_sys_reg sys_reg=spmintenset_el1 xreg=x0 r=1 w=1 + /* FEAT_SEBEP Extension. */ rw_sys_reg sys_reg=pmecr_el1 xreg=x0 r=1 w=1 rw_sys_reg sys_reg=pmiar_el1 xreg=x0 r=1 w=1 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index e8fe93ef127..1ec0b66a654 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -218,6 +218,8 @@ enum aarch64_feature_bit { AARCH64_FEATURE_PMUv3_SS, /* Performance Monitors Instruction Counter Extension. */ AARCH64_FEATURE_PMUv3_ICNTR, + /* System Performance Monitors Extension */ + AARCH64_FEATURE_SPMU, /* Performance Monitors Synchronous-Exception-Based Event Extension. */ AARCH64_FEATURE_SEBEP, /* SVE2.1 and SME2.1 non-widening BFloat16 instructions. */ @@ -309,6 +311,7 @@ enum aarch64_feature_bit { | AARCH64_FEATBIT (X, PMUv3p9) \ | AARCH64_FEATBIT (X, PMUv3_SS) \ | AARCH64_FEATBIT (X, PMUv3_ICNTR) \ + | AARCH64_FEATBIT (X, SPMU) \ | AARCH64_FEATBIT (X, SEBEP) \ | AARCH64_FEATBIT (X, PREDRES2) \ ) diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index 8b65673a5d6..7cbc9a4811f 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -867,6 +867,10 @@ SYSREG ("sp_el0", CPENC (3,0,4,1,0), 0, AARCH64_NO_FEATURES) SYSREG ("sp_el1", CPENC (3,4,4,1,0), 0, AARCH64_NO_FEATURES) SYSREG ("sp_el2", CPENC (3,6,4,1,0), 0, AARCH64_NO_FEATURES) + SYSREG ("spmaccessr_el1", CPENC (2,0,9,13,3), F_ARCHEXT, AARCH64_FEATURE (SPMU)) + SYSREG ("spmcr_el0", CPENC (2,3,9,12,0), F_ARCHEXT, AARCH64_FEATURE (SPMU)) + SYSREG ("spmdevaff_el1", CPENC (2,0,9,13,6), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (SPMU)) + SYSREG ("spmintenset_el1", CPENC (2,0,9,14,1), F_ARCHEXT, AARCH64_FEATURE (SPMU)) SYSREG ("spsel", CPENC (3,0,4,2,0), 0, AARCH64_NO_FEATURES) SYSREG ("spsr_abt", CPENC (3,4,4,3,1), 0, AARCH64_NO_FEATURES) SYSREG ("spsr_el1", CPENC (3,0,4,0,0), 0, AARCH64_NO_FEATURES)