From nobody Tue Jun 16 17:01:53 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010041.outbound.protection.outlook.com [52.101.193.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C187343634B; Thu, 30 Apr 2026 14:55:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560941; cv=fail; b=txM9uSli8QpuSHpDfpO6lVpAK7Q8l0LJAUNAKoSa7t6tD8Vy1aWY9c/9diEw4nfCDzb9+hquhJChnANLIFSkNQEFlTYJCBUS9OB2UqkQkGmeF7emuk09APqYzXWh1B4nJCF5ie2tRA80sGjv1AV1CPnklfv5HhIODlk/js/tdXE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560941; c=relaxed/simple; bh=u5az7D1Xx/mYZFI1d+zR9AWh4jRqj6akt5xqdlBV7g4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=BgT34hJA2brqEC76PAtApplOcfRUjFSa1bgAWKWyoRZs30UZuA25GTBV7cl/RIe5XwUXBu5IWIF8q2Z8tAPTDARneNf7DqVSPtGF/3Cot5l2rJg+xMnfTSmcBsg15BX30J2jBwjGqKjgD53rTQqUn+ulk/bw3w0Ho6JGgWVTOAk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=m70fk+gr; arc=fail smtp.client-ip=52.101.193.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="m70fk+gr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l9dbJUFdqG2bwiRjdgVru3eA76kcM0x9kXkgqXawwby0Eg6huTEyQ54yxzbRy/h1v0+L7+hfcTcI53Mu1wT8YEEg8JXcutuJi7lX70gZrtgWgOrBW/eNy8DpjUTZBzcaMd1dzwW/SShK1BsKQDkf+cihr2E52GRx5E4SINcSOrW/474vMENFaQv6bU7e2d/3E9jYRMoxPD/t2zn/7oGmCpedYul3gS4bj/DBJcNk6LxJOyAHdudPIKoGS7s2Bp1z5GH5pyL0Gwz7lhPAnDgjKSmaeSlvPrEQY9116LjG0TWsu81nRKCSIHv+3vYSTIEHtxujO9nBmXw+Ts9yzd2YYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=LVdTy1k+jQ+s5CSQDQRBWn13Veqk7Dme4lG7WsF8ou4=; b=UNKYpIMIniI7UMEP19SgXIJNJ0jqpRq1gMnyKTMju3rI4Ln7OrGenp0si1axMBNkGFoUIQ+p/WPUUzd5dFNvQzFW4mSWLVst4yrhd6WGSfLrdoDOShPIlVdE+zsCIkkyBFilqVrVLmYlb4Isju87Rm5641Ar7FcBjrOS28QKkrfr5FCWoLhx5BUlf3ee3qLbWCqC8W0hhsOcYSh1bASwybkAAfZbAMUQd7A9lnt1pwxXqfshwfMlDBGsdSYJlttald3uN3ALcDq97TG5ujkpxfmCY51sMFZfDF8A8j8NoV71+I7e/wXxvMbPxoq1TlDKr6MOqZ0p/rtlKlfDbDl2lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LVdTy1k+jQ+s5CSQDQRBWn13Veqk7Dme4lG7WsF8ou4=; b=m70fk+grUAn7FmdFpAfG9mjgLgUXpKdOQ44W9eDsrPMgHnzPK0P3rUKYmk5Pzbk6k6jRNGzW9IpUII+09YJLJSIin39ZdSQ8Y9lfsrv5diUKOm13MwDNYGBLby/gts0GT1GZfb/ekUnw8XEzUqN/k5u8XyJDQY6+wD+Qi/osnuTMLrgtsCj9TFYIglXN7/V6MxL2lHKwL6IxFMo2Z1tP/vI2bm9rGRmO4E8ooXTAmhx6tRa3xF9kz1Sf+p9KhPdAQ5KS441xx3px3spu0fy5THiS6NM0Du/nfv5qaYATp8XVDRXwviRZv32AXXVHFH4+/GMxpqG35b3RAWDP4hRUCw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:32 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:29 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:04 +0900 Subject: [PATCH 1/7] scripts: modpost: detect and report truncated buf_printf() output Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-1-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYCP286CA0022.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:263::8) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: b80423cc-1e5c-4d90-2651-08dea6c88535 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: QGFUQAAIa5qHFrKBzfwdpQDvOcpLs1tByzmAEekTlBEWxM9NK7wC3ZOtfXEsdeDhO17nDyZ1e3wmPiAjv+kA9puOzzBdzwHXqh9dL3n6TEObhN9LcC2ksdxfLF5GiTtdT4VyJDqmDOyWqOb+G77h4M6af0jTFPJ4f7npBOuaCUbuv5BWQmR+EbANeD4jXcsSOhTBfaqN7p2m3FpYwc4/6URstgIWfGRFCm44tKQg7ZgvL5vD3hlRgP8jTWOQGV8Ch9dxJ/WVKgcw6bUVCaXjVMWe5q1BJx2kwHzr9uw0LSBZlTxmyEVeqdug+NtjXZt+2VU6o4NIGgdK/QdaXZdLDHgKq2rVJnUBUXf8gbi3ZNG1aed/o6/q+G2AfoDnkQ538lZiE5w4/sO66nx9Ygw5697FEu9TeXGlN1fWjPF2LhAqca7lgDyYswdGY/A3RhSFcLsA/cjrq5wq7Lm0/DheyQGgEHJ2SHGbdthZV17YJbN4iE3QkdaY3sXpxNTUH05fE0KIpSnA6JSAOAAJai1qPi5+P9kbSRiDG64uL/wVnstz6N0uaU/748lbAu8TX8ssFDPMlcJfl5WFNS3i5h6E1wKCpWOVeSY+WoH0vYC09q0yh6SKR/eYjCjeT2V14QrU/x+fkJhE44cdi2Sg/dtRa1TlVmg0Yxh4pJTxvLDm9iJi8Y6AEw9n76Yc3JpM7CiEY1bvSCX2EjR8HT1N8iSuTMSzBB/MnTS7kPDtwmICuHT7V4M2L/zjCQKNHhEA+pESTIR9HwiyPBuInRaWB4ePnA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHF5a2hjaW54bnBmM0hZSFJWS2kveEVmeGFsaUtKUXJTMjYyQnN4L0lwVHlr?= =?utf-8?B?Q3NkUm5seDdMREk1bktBY1VPVDJtanlkaHZleWxub2IxU0lOdnZnVzVDeWZG?= =?utf-8?B?TmoybWlCTVBxK2lWaWJqN2tHRVk3MnJqZ1ZiQ09aZnVRNGJCRXNNTW9QWjFG?= =?utf-8?B?VkViSEc5MmVVbnFGSnpqNUpCMXRxV2dDa3lEN1NuemJuZ3FuN3htZFFJd1VF?= =?utf-8?B?YlM3d3lVaDFlYmh4QVVaVTBJbTFCRUpKV2xmbjJGZnV3ck5NTHVodFdZRGtj?= =?utf-8?B?aGgyV25QVVBkYWl3V1ZNOXltb1FVU2VydjVSNksvOXlucEJmY2pKanpGSkZT?= =?utf-8?B?eWVIWEFIZVQ4c2RlajhDTHFtNXdkS29PWjBRbW9kT0YyV3VycEZtVnU0ei9x?= =?utf-8?B?eW5hbUNiNk1DM2pueTVBQVVtbUUvYW93eGRBajZuMS85N0M4b2NzejJDNXd2?= =?utf-8?B?TXorS0FuQXVpbzRWWGxFTGxEWlNmSEVtWHFseFBzaWxmM2NhQzI1VXk5ZUF0?= =?utf-8?B?VnFxL05Wc0EvN3RrOUVzV1hiWWx0Rk5MYXl0bEltRnJJbWJzZ044VU1hbEtQ?= =?utf-8?B?eTBEUlNQTlVkQ09mY2pXKzB0MnF4VmJMMWlrOTB4RHZ0TGpPSllzQmw2MENx?= =?utf-8?B?OVNVZDNoYWMvaGN4eDBUcHNQZktOeE5TQVphYzFhVGhaK2tnTXUvMmZjSVBM?= =?utf-8?B?bUI5OXI1NXNaUUtHbVZQRnhvSWNwNHk2Qk5ybUh6ajlxa2xEd29QdDlZdXZM?= =?utf-8?B?VVhHK3BvQWhja1ArOFdISXZiU3U0Mk96NW9HandJSDZXTkxTTDFadk8xcXZ3?= =?utf-8?B?S2RDRHNHTkJ5Z3d0a3ZTNlp2cWNhZTFacWVmcFNZUzhFV3BnQ1FGOXFMRUUw?= =?utf-8?B?UFFES1Rwczd6MEtXUHhTRjFMQVVKZjA1ak5HamtDeGVMNDVUSUQvUDhWWFVR?= =?utf-8?B?cXo0M2hsOUJPWHlqODJYb1RJdHBoNTFteHFqNDN2RHVrVm1KeFBDSitzT0NN?= =?utf-8?B?Yjc5azk0TUp2RFc4Mi9xczJjNkdmbWNnYWJ0dWxnWTJjT2FUWjlkaUlrR1Ax?= =?utf-8?B?TFlLSnc4d21VZUtKRFJpMWZLcnE4dFQ4bDZWdGJoVXlLL0tiK1gxWHc3QU8v?= =?utf-8?B?Z043SFdmczlYaGdBYUcvY0JJQ1BUblYzcnE5T2VFQW4wVG5TdXU0MXJJNEZL?= =?utf-8?B?bkMwbXVzWnRVUTluZll1WmhuYUFYUnBhWC8yOXJCa0hBZzJ3SEhoK2tZT1BY?= =?utf-8?B?LzdDZ1RGTkpNSHp6b1VBRm5NTWNvMVVKelFqdjVUUC9EMlZ6dmFyeGFQalVa?= =?utf-8?B?eDdzaDdteVZ4eld3NG1WM3Fjdkg1a2psSW54WStkeXNOZ0I3Z29aR3dmRFY0?= =?utf-8?B?a0VMSDQrYTZ4UmZyUUorRUlDNXBHc0pxdm9QQklZQmxKNWUzb3NnRUtKT1Jz?= =?utf-8?B?Y0sxZUVZbDBHcDNZOEV4NWw5ZFJZVCswOGFRTjhGYS9URE9zTzZ1UWlrZmV3?= =?utf-8?B?eEs1ZkZTaWJvMGszT3RQR3hLVjRoRm11SzNHMDdONjd5MUdOUUFTa3pDNzhT?= =?utf-8?B?T1ZpcXREMjVqeGNhWDVIQ2xydjZoU1dYdG9iOTlzdW00OHVCOHJ2ZU1QWGJC?= =?utf-8?B?QU9tVzhjaGFHNTZBT0dCamZYTXcwZzJqVmFtdlVmSmRyS1huNnA4Qm5KcmQ3?= =?utf-8?B?eEUrOHhVa01vUjdMQTk3SDJIcThKQTNzN3lNK3ZBYWFvb1pZRzBmWkZkaTVo?= =?utf-8?B?dFhyNjF1bGZPOFlGSk8vVDJhejdkVzM1WkpWQUZ4T1lKMHVNUEtwSEl0N042?= =?utf-8?B?REZodjg5cW5mc2owMDk4M3BlQXhXUmMyenlQcUp0R0k3c1Q1L2FrRUMwazYx?= =?utf-8?B?L2tqOWpaWFVaN2IvZStpZnRjN0ZjYWdwekY1YW53MXg2UkVLT1RLOEFMU00x?= =?utf-8?B?b0hEZXlJL3RtZWtXc0J5dmlTaTd0WC9PbmxTRHBtY1ZidXJDMkVxNHE4T2Yz?= =?utf-8?B?WDN4Q214QURhdzdJelZ4bzBZd2dzck1USXdlNXJYOUozcnl2a2JzYkZmNHNq?= =?utf-8?B?Y2pHTWNQdGhHTjc5Y0Z2VW5nWC9XVG9ySXNseFJ1Vm1STkxnQlI3ajdLakJT?= =?utf-8?B?bmUvUyt3Z1FMWEdGbjlCRWxBWTkxU0pxT2FwcmJxQjBzd0diMjRFRHZGTEdu?= =?utf-8?B?MDZwWGFCaTlpbVNVcEx5TUQ1Z1QzODlUNUFxSkVFZkJPVy9aNDNETUFmdEZ6?= =?utf-8?B?WWorQ3grNWozM1JlNG5RQzNPbm1kWHlyNHppTUtqZ0l6ZnBPeWNHcVBMci8v?= =?utf-8?B?OFJ4VjFVV3poL3hEZnFrd1JjNlUzV2pUWGV1TDNLREdWUHIrN2ZMajQ0U0Qr?= =?utf-8?Q?sARkbmLx3YH3zOIRUmvGBa8+qDXADtCAriA7Yb8QWhT49?= X-MS-Exchange-AntiSpam-MessageData-1: brRjXzR8lcytZg== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: b80423cc-1e5c-4d90-2651-08dea6c88535 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:29.4647 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bmyNvJG9ctX7w0jVh1s9Kkjc2l5W/OWt+e+7MRMdMcDe7wThh1MAaoY5NWU8dNHa5FBxUqY0VxOgPvPxjMdhAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 buf_printf() uses a fixed-size stack buffer. vsnprintf() returns the number of bytes that *would* have been written to that buffer, which can be larger than the size of said buffer if the formatted string is too long. The problem is that whenever this happens buf_printf() currently passes this length, unchecked, to buf_write(), which silently reads past the stack buffer and copies invalid data into the output buffer. Fix this by detecting vsnprintf() failures and truncations before appending to the output buffer, and report a fatal error instead of producing corrupt symbol names. Signed-off-by: Alexandre Courbot --- scripts/mod/modpost.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index abbcd3fc1394..16f6bc20b058 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1689,8 +1689,17 @@ void __attribute__((format(printf, 2, 3))) buf_print= f(struct buffer *buf, =20 va_start(ap, fmt); len =3D vsnprintf(tmp, SZ, fmt, ap); - buf_write(buf, tmp, len); va_end(ap); + + if (len < 0) { + perror("vsnprintf failed"); + exit(1); + } + if (len >=3D SZ) + fatal("buf_printf output was truncated: %d bytes needed, %d available\n", + len + 1, SZ); + + buf_write(buf, tmp, len); } =20 void buf_write(struct buffer *buf, const char *s, int len) --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010041.outbound.protection.outlook.com [52.101.193.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56AC7436361; Thu, 30 Apr 2026 14:55:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560944; cv=fail; b=STEuBc208r+q3pC5o7+O/1+M99rw3w9H0i2y8GSGf0W/FPj7ZvfMkhwR7zXLxYiTqb2VG/s/vjAygLImryBO8kyMNsN5JIgfGa2cWS10ZzCKSXQnUlEcLZfUOzyWYCzdgbK1CIfG04BZ3+2+awxhfbcIuiYHg/Fr1nQDkdvFtYA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560944; c=relaxed/simple; bh=GOAQHzyJrAK3MPA1Il1oqJWNjsG6gSWfGgB3isNlJX8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Yt4D/1Zzl7BhjpmRXlXjx82TmbpYPiYY62hJy5wb2iXIik9K4N1grA5ClcmLD/gBZIHg9k/0/7iEHBc/aqG4k3TDnZzV9O/1AotR+4FcEClMieNGyu/YwGw0bPRQr7LlOmaOjDAgFVLbkD+QduhEOOHAD92k0TAIQ1CCMVccSXo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=qYEUESZg; arc=fail smtp.client-ip=52.101.193.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="qYEUESZg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iWypODcfpRu5yxU9cEQD/3PzCvbTvt4PNPvHOGXY+0J8C6QJ/hOQnb0UIH8KByZJOe6nuYyyKSH7BA/3aPsJF5QS6jM1CiBYYF1qCGIKoiLendvt2bsXK7pFygurDP+8XcgGGzcGpPjQbZIlJcfpZq+yRJzZlFYXUG84ZIjYMz3NexPlze03brF3xHsm3oQenPEg1445oD85N4iKJkZxJeSFkYhtCMMflLJV1Eu14MxtdQ91y9QPDTEQ67mdp0x2Kgb9KeKL1NOxnFVVKbs4VxuGMO9ed8aWcfDvfmmZ1i4ZqLfCOu8UJnV5ScABNnBZN52aI4KIZ7AjXGGwc2m6fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ILLt/4DA1A3fPR/APELOQoTChT05n/0Lf903i6CO73M=; b=DFT8Lxiqtk5u7d8Ax+sPVxA2hhDKwICAaJog8WxjhRFuH9A3wDCHwxDEStq5ytq598GFjV/hx//8KqOT3DJuDWSErdQBUH8KRu3sGXU0HbF03UqP48wPkfGBFvqedSferkFVYcDISsjjwf4n+nJqscYdTj+sVS6gK8EMuLhuzaS3zrNQc9nU87MPA+yLyP4w3CVsCS/FTc/XGR6+tqjsVwzxHArEjkFZMxfijpJzD+UIOtfAdNPCp0sOhVYqg+JnF+yAAZnBcyWDQmERMhIMAj/eOZx7S6RXM9+tCQnnOhocTUVeFKnR2OsZXunHWX7vpuuwgsxOFDc/L++1K5fp6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ILLt/4DA1A3fPR/APELOQoTChT05n/0Lf903i6CO73M=; b=qYEUESZgcB7IwEDXaTYV2uBVBCDJqh0GI0Q9jrgYRpR8GdiU1jJS4dzMlFAaRgXt069ba/NVoezZ2mpL7uIEoEzXTVOPzzGfULR8vNuFd+PpDJXYAvhCFwoV4vKkUrrbQiwODcBcalfQTXcGweModDLBl8i24S3B61as1xns2zM2bVPOVgFxnUhaFLRAiZloDrc7/9jp5hMFQsT5OUYOnC/b3/OtC+I61fKWwN91BGX+mT4XIlj3HBCMAMSptMiws33hldwv3gVAWG+GzEvrim53OrzJfBtSItsG0iISQsn56LqyO3Hx0P3eObulbYIOau306DmgomfeqJXrz1rO1g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:33 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:33 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:05 +0900 Subject: [PATCH 2/7] scripts: modpost: increase buf_printf's buffer size Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-2-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TY4P301CA0113.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:37e::13) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a16de2c-59b8-4232-072e-08dea6c88763 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: 8NWouFKYgRfq508VMuuGHd8dE2GbcXrFNGoepY1WU/6/TfR11/xwLkUK5m5pby8B0wtHowew91QAXwIW7+/pRZaSrvzp1NJek0i1QPsVxKubGkViujAYtxxdrbSyzvmzhL35q8SRuD9x9Csewic/cV1TkTFBJZi3f+Nhs/l3A3xMEOYXS9QwdvcY6EB27VmY9bASPfcL2gMyVMOiFe1w7DJSlNTsuE0FN0sNqKkNwXtDTjr5Om+GK6CuJJso6XlJ6slgQADE1wxYjmmbCIKZgEERD+vIbLqINWhO3R6BXMGG/JpgjAGi463AtWXsVWxJ0WDBxrfDX/TT5HisXqXuCTn3uWWp6IOIGrtztUPqUDBqEUcsDb/SAwyCjo8zkhHlL7Q690NKnHdLQLbbLM0Q2CjgFaUhDOnWWxwfdGABqtQw2W7n/7TWDIPYkoVFGnu8WL0jAL42XrESI8TwKhyYgX/YkhEC+URrfzv1ea8b44hBhothHqXRig7hmusXCQ/MDKkk9L7QYPaMgN03nnrHPe+QgkkXxYC1mPiqzfH7+ClGZKjwHQeC7BWUXH2vGRtUuv8lDNBGXXNvWdApywLALDSHLchU7UBVNJDZJpsscpGR3kty4nzHw9xcNbp4gAeYuyl7Wcn13wPlTiXE0tSEvwk7jIafkTzkobZujTwIhEPJy9i5UOofhFXWJmtfT/g6p4NAwpDMGwWOuwYk2rxi2EDRs8Deato29EXu95gwJu9QPNGasVf2ZZWEHtO9le9NJwFDVR6mVAZ7bmCYDyNPvg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RG5kdWZpakV1WFNqOFl3SEl0bE04dURVWHhqVEhCS2R6ZW5ndUJvdjZyanJG?= =?utf-8?B?R1FMOTdBVDVaNnJLUUl4M1RBV1Y5VVdRSWZnY3RyVjNscHYzV1E2UEw3VHo0?= =?utf-8?B?OERxcjFaSXYvbHlEN3FnS3dKWU5nVGVsam1KUWY3dDNSSGU2b0RSenArdFBy?= =?utf-8?B?ekNHQ291SXMvRmtpek5naENqdW1qa3h5MmRzelNqM3ViaVE5bERzZ2xRRXRW?= =?utf-8?B?M1B3RWRKeGZLSG9LVGdqaG9IcVNGd200RjNhd0ZVYm1VYXI4VUVFREhJQmQz?= =?utf-8?B?Zzdib3lIMkdpaU5WMzl3VHNUVmpnaE5zaGxSbTNSYkUwSDhDTk9uZXExYlNr?= =?utf-8?B?d3Fjemk2eStYVFF5YzhndnhvY3U5bzlKQ2ZsR1ZSMG8xb2Y0WlU4a21iaGpN?= =?utf-8?B?cSt3UmxQbFRnVU9mL0hDZHQwTHRUdUxYdGFreFBSR1BZalB2Tjd5eStHdkFZ?= =?utf-8?B?bEE5a29UMEJzM1BoeitaTlcwVzBuQ1JZMTZhNVEzN2FpMWtUUi96Z0gzY0FJ?= =?utf-8?B?TkZ3RlBTN09sSlc5My9xMkVjUkw0d0tyeEl5ZnBLODhDNXRiSGQzb1ZCRjZT?= =?utf-8?B?bTBsWW1yZHVIdlkzZGNUN24wcy9aMnlEcnlGdmtxL3hZd0F3bldmTWF1dTZn?= =?utf-8?B?U3AwTSt3U3ZnUENLTWtVblJjbEowaUFRS1c0OGl0aC8yak5Ba0oyMTIzcG1r?= =?utf-8?B?SVV2T2QwRFY0QjlhWTdwQXVQdzNDZGxrTkx2NmVPMjcyM25PY2tMOHl0Rk1a?= =?utf-8?B?UFFmM1Y0N3JEd2svZHNtQnR5Rjk5TmI3N2hDOVN0N2ZNMDFOUzQ4VjR6QWxO?= =?utf-8?B?aXgwT2RlSjJYUzYwbTdDQU0zR1FiQkJEM2RHa3MrU2hvYUJmbnlJZGw2T1JL?= =?utf-8?B?WW92OGlzZFFXTElFelYzMi9FZVNucE5paitPajFzMU9VSHFzUUZCQk04WDVk?= =?utf-8?B?bU5rWHp6VzM5dHh3cW9lVE9UcWI0SVV0Y0RjMkNFMVg2Z0RtNGt3aGRTTE5w?= =?utf-8?B?T0tsRktMWnJZU0htVm5ubUVyZUVxdEx1YUVEaE10Q3FnWlVLNllFY29CU0pn?= =?utf-8?B?ZSt6NnUzaVlEU1ZNOFZoRitrck9HeTJ3d0ZQZjI1NlMwM2dJeDB0aHRtVThw?= =?utf-8?B?N0FtZWlKckdkdVVNVGlOU2k2cG03WEttWVBJQVEzMEphbVFVRkpqd3cwQ3cr?= =?utf-8?B?Z0UxNE1Bcmx0MUpyc2lCUDhIWDN5NngzM2ROU1FKa2ZET3VXYVBURWY2UUdC?= =?utf-8?B?RWI1N2ZWU2VUNzFjQzhzNnd6VDk1NVBoZGg1cVp0aGxOTkQzdlRkUnd4RUZ2?= =?utf-8?B?TDFTMG1XYTdpYU9pVFptM3VCRmlENHVmT3QwRWZQWHVqWjh2Nzd1a1VsRW5F?= =?utf-8?B?dkZKMi9HYndFZExFRDhiSmY5YXZraVVQaE16MVI4Tkk0UVh1cWxuMWlxcTFz?= =?utf-8?B?dDV2dXdwWnZzYTdWN0wxbksyb2F1ODVRai9DZktvNW1uOW4zdmFBd3hxcERN?= =?utf-8?B?eWFSV3puZDg3VkF1a2c2MFZ0YnBnRm1IWkRVNzF3N3FrZUFPNkR2WUZTY1hw?= =?utf-8?B?Um1pOHoyWjFkZnY0cUdHNGs2dkdjZ2VMZGNKTEs0UHBJY1Q3WG8wZnFaOVlJ?= =?utf-8?B?RUhTSng0U1NwYW13NFZkdmkxWlcxWjBCNFhhbitPNTAyTmxJU0ozVGNLZEFF?= =?utf-8?B?VEFsVEJKSTJ2akdVcWNDWGdQcVo5OU85RHFOVk5qY1FSajUvSFIzVWt5eTlw?= =?utf-8?B?cmM3KzNzUVB1WXRTcUVPeU1LMHJ2VFZ1OEQ5MVNCVGRMbXNldWt3WFY0Vit2?= =?utf-8?B?czJKN1Z5MHY1aWJwYXBBamFVclFwd0NJMExpQXZ2eFJYT1N1Z1orQmVXdGhL?= =?utf-8?B?cjRTMENMZEpyaGE0VENOOG5QOGNTOXY2UFo2OHFtY2x4MENOajI4SGNIaHdH?= =?utf-8?B?SmhPY21xTjNhRVJKOEo0MnYzT2RkOG1mOUx2Y2FKVTRuYUwxRkNIQkkxV0NM?= =?utf-8?B?MEVCUTEvRmxDVXp1aWtmSDJtLzRadFY1a1dUVGRNTnFXYWxob21XZFFpaktz?= =?utf-8?B?NXlQT2s3cVRoZlgvYi9mUHJvUGtRUnJFcmpBT0tkUDZ5S1N1RXQwbTN4TWs2?= =?utf-8?B?M0l0VE5nYUw3TGozd1plU1N1cy9melJZZjVhOUxhY1R5SU1MQ2J5bE1sS3Jy?= =?utf-8?B?ZSs5QlhGRkc0TC9GVERUd25ZS1ptVkRnZC82TWxpT2diMWNXTXNLQWVJcUR0?= =?utf-8?B?RFZKRnMrdVUrZTNwVWpqZU94SkI3aHJFM3ZyZTJMZ0haeWg5bm1sOUNLM04v?= =?utf-8?B?NVlLb3J6Y1lMOE1Jd2drU2dRRXJJMDhVbFRxMkFWdlBoRjlTSEw4WnBGUHBM?= =?utf-8?Q?OAuUzY4AtIl+Kn2aYRtjSoWvFImqcjZzyUQ4XSpWOygW7?= X-MS-Exchange-AntiSpam-MessageData-1: 4SvyWZKs+BQEAQ== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a16de2c-59b8-4232-072e-08dea6c88763 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:32.9987 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LNzWC+mO9a22wz1o7Fp1WEtYtRSxrtTMQU7kSbAnVV3+ON30Q6F0TMlJnMaAllrJBOZhuwnHQ8pSLQ2inQ/XXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Rust tends to produce long symbol names; when trying to export symbols from nova-core for nova-drm to link to, the 500 bytes of the internal buffer used for symbol name formatting are not enough, making modpost fail. Fix this by increasing the size of the buffer used to format the symbols to 1024 bytes. It is a stack buffer, but modpost is a user-space program so that shouldn't be a problem. Signed-off-by: Alexandre Courbot --- scripts/mod/modpost.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 16f6bc20b058..2ab7aa6edcb4 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1674,7 +1674,7 @@ static void read_symbols_from_files(const char *filen= ame) fclose(in); } =20 -#define SZ 500 +#define SZ 1024 =20 /* We first write the generated file into memory using the * following helper, then compare to the file on disk and --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010041.outbound.protection.outlook.com [52.101.193.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E98B43634A; Thu, 30 Apr 2026 14:55:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560946; cv=fail; b=gP90Huy/yiwaKmLQhJG2r53EVbjbaI1OHOEuAWMFvB24tyF9rNrsZ8fd6g+EYrtdjiERY+dET9tP5stKYh9DbUqt4da7QyTZ++1p/UUA+urYN82Uk/DyxgfxW59mmCcMlurYpFSA9tHvDBzucBCC3CDZGB2hnfo39l7Q2fKNuHg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560946; c=relaxed/simple; bh=Sdvg5JMXd1N5hbxzAyqJc/xD5HAwnbyFFazxnqXBAec=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=PoLy8UFjY56n4ssTVfufN00mhgdgNqJhONP/xIBmPVwd1JzDM1opfqz77bufxeLoVcmWM/cXtucUFjQVsqpedBGBnxOqTISCeVo2iwjPkwtV4XMEjM8DDrWG2SF2ZrQb0hYgEjnzTkqui1AfJeO2BK09/tryJFnZaOH1QV8GQH4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=DhXv9aoh; arc=fail smtp.client-ip=52.101.193.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="DhXv9aoh" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V1dBdGWaC+GloupxSusOzykEALa8AXHUnWyKy/t7gO2w5BmQpozBdK8JeUYVCpOiEJCH72ffwRQxgJ9vNwh4l2cBPWsDeAfE4CcPoC3sZYXzOTfS1aCuWwkUU1oH+U85uSiJwP55ohXIQfiuCEjyHIgVKoDz26XNeV+/uk113QAaf/BRJFlWWFRYOwFxM0Bb3uonRdc30gb2MwrLCNzwcjqoyak8e/OYa3Ac02vY8qZEp2WvEPJZcI0ABlFAs7/TGGSJMfU93Y0c25Y9cFvg9C9MxvsxBRpmpiHnm59LcsL9ntADe8fdxz6L582S7a3SP9wv4YspAPFgg0eDjO1c6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2bIz4G5SGvBdHw4FdXTfTnOMCLZatcf5CqsXBPMG8OM=; b=cNr3uXC7ws+gDHy3og3n04+p0DNiObG4/3/Q6mHXoR43zISli0wJS1lP4vR9FZanCr50TEG2yeSbNE41jm2nWw+VUcFdNyeDaPjs3KFYWna+ffH7MTseVxm1gYF0iaWhEEys8J8ZBzYMQywj2Cz9lsbGLhDmHbd4nidTQ1qA4h/c2RH3BMIeFdpDoQWGifVcgre6ccRtZ8DIAtfil/wzSxIXVCjT5SJVzfy3uXIE1z/YrdcmW173Dcm1IN/TyoEGpaRC+rIG1qu1T1P6rCiOtJ2IMx6unXLG9jVBDzUPQd8Hmmte9q+FhBx1b3Xxm9pW2FWLBHMVUKelwq9ep8nMAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2bIz4G5SGvBdHw4FdXTfTnOMCLZatcf5CqsXBPMG8OM=; b=DhXv9aohcLOx7VskEdgscR+DMU7yB4G1RrlJxY7rGcFWkXPVhK5CGj80DIx2o5QpHPGKtFQt3xj6elTOZ34QsaxpEM9POuQYKe5iRAKh89W3Kdk+5RUpc6IctLcwLJJYP7Xdm3VdaBFeIdELa6Hw5jdGAlhAMVXCfPsXXyQzMbbUeHvTrLg1dTxgpnGsJcoaEs2N175sY2YubAdci7PwRmGyQ8SQuoE6J1r4+wZzloR3l0m1MccBD9ZWGA0kVaaQxcpDxtnIDq5/gxw0gIjKI5B/b9yZR+aILqW6W1uH1YmWIQEUeyzCDqVuWbG2LhtehqCKBdo+K+S+DVBM0s4NGw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:36 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:36 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:06 +0900 Subject: [PATCH 3/7] gpu: nova-core: rename module from nova_core to nova-core Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-3-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYCP286CA0260.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:455::18) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e8289ab-27df-43e3-3e69-08dea6c889b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: tOQjlQFzpZrKA6+JSW/CbgYOy2ZHahoau8bglGVPwbqrmqhp4eSjA+OPWp9ut3s9bwgONurU2Of5Ap3ks/93SO3zA8cEhSrZV8p69eOClbCspt/i3pLMlwg/wTTOwkAB9ZcoGgnMXrzpV5pbLKhjpPQPO2l1UNRjDcrNvJcq3htxnUxVVRtfkmEqhUnp4hSIn3TrdxonWM8WEBVv6CjNnY0KFvdsPD8vqOBTQFrsLYxnzZXzFrcoZrPPQQDqymze9c+5I6J5DZEv80DURbE+V0HtIVC1bdFJB1VXkPxn7xwHEFYLHOwbs+hkbpVcaYvMhP4RHQwtNmJm6RPkAHu3AMiJEtHnF9SMcrYwD6VffiR7TL2smQtxbUK3zYn94LsyiKIclQ3hVmQziC/6RlFxIX+aVopDDQDl//VIyRNcamzHERnI8mmCAW0XcZhnp7lccfnsWVBBCDBn3HsU9HobSW4i1JF6CEdhbQM0xnK28I1q/V6MoecLOljN0fe386CtsM424BcfVhRuAxVcNMjbYw5ym2pZxlv/W0Dl5w9QmLz1CWbSyHnkUqiKot0yvoIod1+MEwDyeNWFFRq1cRlFu994Fx/bhwuPiW0DZ0ZU4kSFPS+uaaqtGS6t7JMMpEmk6Y5HmGZqiDkngITF6n9yjUIzaEuIkaTZnwmEv5zd/or7rp+CJfU5XBIhWarPSqYCWvC6HWe2q6GSGCcrFdtdykjgytATL3zeioHI4P8EMH0YAhkFBbRtHqwBFYpiET9zsJhNkZsnafP6puLZYXqxxA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dTBZSlZnN29WK1VNRHBpNks2dCtjMkhTTEYvZmpQakdPeEt5QXVwL0laRmlZ?= =?utf-8?B?Yi9rd1psY2RHYzV1a2RtazE3VFBKdmpPa1A2Y0xvRGlUaXZMOUdrSTRPSERz?= =?utf-8?B?V05lNVhTVXd4NDhpY0I0Zm1VQWM2MzFOMXk1dTlWbFpXUi9wcjVnekt0bVkz?= =?utf-8?B?ZUlCQ2ZzeEQvMmxnb0pVVTAyUEdxVUlKQ2ZZM3VBbk02RU9LK09TZ0k2NmFk?= =?utf-8?B?T0g3T1BuSW9QaksvdEdWUlVIOVMwdGJjNENYZDYrTmQvbWFXT0xwNkgvWnhC?= =?utf-8?B?K2VEeGZPQXZocVV6ekxhRjVQK2hyYzNaeE5JanJlNEJMNnYxdU9ONEVPVzkw?= =?utf-8?B?VXNraFh5UVNnUHJURHN5NmNBSGYrR0RFVDFraHNKa0sxNHhyYi9jY293eDNu?= =?utf-8?B?djR5Y2ZVQ1lwYnpVNThYN3dLV0dkakF3RWxxQ1J3d0FHSkEya2YrY1dKU3Vk?= =?utf-8?B?M2hlV3ZzT25yV0RyL2ZRTHBNdlVKRzlUdE9YMGpvdW1DaW1idzRXc0s3ajkz?= =?utf-8?B?TDdkMnBKSWFyK0owckFxZXN2VlRPN28wTzV4RlVjWGhNaEFvS0NtMTB3d3By?= =?utf-8?B?TkNrdEVta1l1djcrRlV5OU5RU1FQRTVrY0o5Qm8xb1d1c0NXZ3IyQmNEdU50?= =?utf-8?B?TlhrSDVGWHlnM29YeEJmL2Q4YmFmUjExRTRDbTJwRmQ5YkdjT2NTWHBEVFlS?= =?utf-8?B?Qi9ZTWM4TVZQN2o1Mytwbm91VTNjR0FzNUhtdm5lTW9sYzdYRFUwdkdicDla?= =?utf-8?B?Z1d5Ym1IWDJLVk00V2RHdnlIeGV5T2FlRnlzWVpDYzJNdyt4Z2EwYnpDc0dn?= =?utf-8?B?TkRtRHJwcHRqdWI5anY4YVRVN0lWNjlVZFVEN2hkcnNDRUhmNGJ3N1Fram1i?= =?utf-8?B?ZFp2VFBsWDFXZDRNWTlwQzZSNlVlQ20rSVlTVUdYTFlLTDhFMEw4MzBmZXQv?= =?utf-8?B?VGJjQmVMcXVFYzJHL2RmVVBMRk5lRjdXOEFIS0F4YzVjbzlUeGtnMldoeExS?= =?utf-8?B?cllLMXVmeTk3cnZSVVlKSzA3YzNsSnMyZjViUTgwMFJoRjNESHYwcnBNc2tL?= =?utf-8?B?YkdoVUk0OVU2ZmUxWlBBQ3htdHpROHJiYndRMWFvczMrcFNWUDc1RGdVdU9U?= =?utf-8?B?V0tIb3g2Y1daS3I4YkVnaEtMdk5tWlYyQURQM3Y5d0NJaFc0MDRYZWFwODNI?= =?utf-8?B?clRZVWNOaGtXMWQrOXY1d2RVbHRnR3lZTktNWmpzenloeHhLSEdWVTgzMFBF?= =?utf-8?B?V0pLdlF5MlVOWGxSQkVyRXFJSFNFYjIwcnBqNGZNemJqaU9QTVgrbU1JT2U1?= =?utf-8?B?a3kxVGsrbng2bFUvSUdxU3g1b2RqUFVibHNSOEgweGpnWDUzZ215SGUyOWJm?= =?utf-8?B?UGxPd3dLUWNLZEh5RlFERElLdURaTGN5NzVUK05RcXFSMEpHc1RBZmZFQ1R4?= =?utf-8?B?b0ZrZ0JLcHducUN1aE9JQ3lYVzJaNTRLQmpFMXBLRi8rN21YMFVVeTkybUJP?= =?utf-8?B?TE1kVXdMMnkyZ3BjRENaSkd5Y3E0cndBejVzL3k3ZDJHdHo0NTk4V1BaNkpu?= =?utf-8?B?blZDUUE1eFhDTkh6VHlZV0oxblF4TVBVSzZiMHF1aHZuNm93aEdGNWV6bkVu?= =?utf-8?B?Wm5iWVRqRmU0Q0J2SXA4a2xrOHo1Y09WQ1RJdXExcmEyRXcxS0F6dFQ2NHZa?= =?utf-8?B?a3JTcjhhdmt2aFNTTjFvaDhMUmI3REtWV2Q3ck5PQjNGa3VjaFE1ZmtKWkJI?= =?utf-8?B?V0RSOTFJajd6enEvQXd5ZGh0TWdQM2h3NmNJcEpVczNPL1YxNlZMVFpjaUpi?= =?utf-8?B?dThQY0hFUUlIVGxBekFzSm5MOXRLTWRtek9Ld3JJcUo5SGUrek5ZQk9wTjhy?= =?utf-8?B?cEQ1em40azNheWJBejFTdGEvcXpaZ2dWQjlaZWJUSmZFZWxucGtkazFzT05I?= =?utf-8?B?YUM0bnAvRnNtb1hKa2ZNSUFBNElIeGVuWThrSUhIbjVUV0xtNk5reGoxbzB3?= =?utf-8?B?aXNvZmRObjE5MTM1YzRsakg1VDNUOWN6aUZmZURVTEordno4T2ZnRFI3b095?= =?utf-8?B?UWJnS1ZwT0VGT2tMdWM5OENTSUpFM3lrV0FzeUl3WUVmWHFBWThGb2JqWUMr?= =?utf-8?B?SXU2TVhSWHNEc0haeS9qYXpiMUZ2UllCRENhY3J3YWtsdGtyY1pBclJEbDZz?= =?utf-8?B?QWhYbUwybzVlWDBOOFlYZTgyQVZMaXI2dUVhOWpNMGFvditoN2lickZpZGl4?= =?utf-8?B?cDhTMFpucHhWWDJ0RkJDZURYUnlmR0NtV0xOSlZMR2NObVY3RnA5Wm9OVVJT?= =?utf-8?B?WjZpcllsUEJHajVzMmxWLzBXYUhhV0xJK3dCQVNIeW95M3l0T29OY0QxMUph?= =?utf-8?Q?X99RDp5HtxqYS8YRVg0Kf7EZNsRIeSPNt7OW3wF8QBbUE?= X-MS-Exchange-AntiSpam-MessageData-1: DuoVx8joCH1iuw== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e8289ab-27df-43e3-3e69-08dea6c889b0 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:36.8457 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YP7pmFVZio1ooHRpWCIZPjVbyKCjLTPB5tB9rIWhGga4ohwz9IsmTjQYgTRSq4rFYWmvVofBo3nB8dsF3848JQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Rename the kbuild module target from `nova_core.o` to `nova-core.o`. This avoids a name collision between the module target and the Rust crate object (`nova_core.o` from `nova_core.rs`), allowing the driver to be built as a composite module. Signed-off-by: Alexandre Courbot --- drivers/gpu/nova-core/Kconfig | 2 +- drivers/gpu/nova-core/Makefile | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/nova-core/Kconfig b/drivers/gpu/nova-core/Kconfig index d8456f8eaa05..f918f69e0599 100644 --- a/drivers/gpu/nova-core/Kconfig +++ b/drivers/gpu/nova-core/Kconfig @@ -14,4 +14,4 @@ config NOVA_CORE =20 This driver is work in progress and may not be functional. =20 - If M is selected, the module will be called nova_core. + If M is selected, the module will be called nova-core. diff --git a/drivers/gpu/nova-core/Makefile b/drivers/gpu/nova-core/Makefile index 2d78c50126e1..1f794baadc86 100644 --- a/drivers/gpu/nova-core/Makefile +++ b/drivers/gpu/nova-core/Makefile @@ -1,3 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 =20 -obj-$(CONFIG_NOVA_CORE) +=3D nova_core.o +obj-$(CONFIG_NOVA_CORE) +=3D nova-core.o + +nova-core-y :=3D nova_core.o --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012015.outbound.protection.outlook.com [52.101.43.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2AE9E436358; Thu, 30 Apr 2026 14:55:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560951; cv=fail; b=s82lGqF1DVO/BPhldgeAEl1LrdDd6S2HxhpQ8/KegYrKOQcHhoh7BPoudBlUDce7hnfUoKVETXuKh2ADUeJfkF0uqjmmYtwuPUfDD4X1QAF9/IWOC3CUL9hvsV6gWxXCPC3N32yPT/aruNPFW/5D6FVJlWUeia8M8AD7B0JWScQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560951; c=relaxed/simple; bh=V7DRWXVEct+jBs8BRXWsa5MTH5QOBV9zqctKmZXmyGg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=GTdHrYyq2+yWAWuMCkwUfN6fjcvzcP60Kqjd/de5zF7TK8+phFmKcsPZk0wjzWhfY6PwdlXsWHPoKVnAT/zj2JPTnKvhenh29QWf1gh3uJrHAsQsK+QCmLfjc/n8NyYU+pHq7ufq2mWddXCLwBewKzRbx6bwIYk7l2dqCB8sMXw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=LAic69Mx; arc=fail smtp.client-ip=52.101.43.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="LAic69Mx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UfQXiCK5HrO9+jWN6cyVg8jR75BtmPJowwTJtynRnsh0R5S5COYz5vYla9nilwQAOKKhsPkWQjmYTX6sbCOAIBgltiwzOLJl1yFdOv0hTKh+ETTeCYu9JOokH5/6T1durE+/aXc9ZaOdw6bNO2lwGBu5/4EaHl9aM3cvkI0ZI5OKVl30Zi0VT4FBiQ0W8aoe8VpP6Xgh2+t8jxrypombSZIOsVkvcgQ4OfWVOKzuUW4wxOugjOOwO/El6vOoLfxSFNAd25SnpW6GdDPhI7tTtaZWBJZlLtSxqm/YCMVRjN4pVgnNm6yNCf5JophOFp7wNWOmC0sogiBb5gH1xIB3Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=tjYMWbwbn51AuJ+KPJgRqfZnLCb9diMnl9gg+k5lHx0=; b=RHN7XBJtlNZ900rFtjs5mjLwohWENTSM7xzSz2mvSwzhT+rxMKbNDT+hYVX5oDiDIKgtg0auznInYQyaYJ5PXVQVLYGHoIJu6RkJrIp2Dqykfo8nNYp4DwU86P6L8gl30tZEPkbfbo0T/ffTXr2y0MCvKhBP+4przbeTcmAUvSUijSMF5Hl5IFK4bL5xQ7DR8t0ZMmCoDJxnH8LDdOeKX6sBx1D5Fi0Dty+X1F9bSiNBmJPKFJQo2nrVBXufOfIQrOJ1IEx/90z9+eZDVJWqGKEKNCxGDYp3ZRr+wR5iFpUiShTdeRahtRdc4NXKU6NYZL04cFGJs1fnI40/0IFS0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tjYMWbwbn51AuJ+KPJgRqfZnLCb9diMnl9gg+k5lHx0=; b=LAic69MxAU6TyVfblg+EJXXtGN1pTmAnXKWEARyAlwMl0vBlGK2TJvd8hN38SHd1RlH8XAP+vg3/8ZFuW+QeDaYvVnX867c5fw3poLPw5SnYVSVQmlSPhvq17iE+nkPOqkBbr9pFoUVQcc2LC8K280ffR8vcrmoHeI18KWsvleRCIB8Uyy6y4d17QeVfMD/bunMmHCFiNWJ9CTBJLSHm0NXRKpbnQyI+huApCp3ogIn4QnWLZPj+xv6YFzoa8WU/BRLlIWFD8aPRJqwkXPfZXJ93j9MU4owTmTkCn2p4yFsmiaL605wsr7x5Jhvnq6tSNTOU7jPg23UPrjxuNxBW0Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:40 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:40 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:07 +0900 Subject: [PATCH 4/7] gpu: nova-core: export Rust symbols for dependent modules Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-4-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYWPR01CA0029.jpnprd01.prod.outlook.com (2603:1096:400:aa::16) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 0104474f-bc47-4a3b-c9a6-08dea6c88be8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: eBcltTFLov0YJzcJ22oZj7Rq5Dew7eOrJO+nRAhE8UoWh+Gk/GliU+qsm4HJYAmb7PSj/WrRNKB+r+30hMm23+DCrLzExjYYR1CIRNk//zqtr8hxeFwG6r61w/LB000sS/ymJxDr/xXSHBxsvhXFdVvnPgTU+W+YLvchbXAs9O7+lJ+yClo+YW1+HKzwgJT+897GFDdoIvKYWmzeb9NjqIZe4y1cs+MkoghGG+MyjXlP9dBKrs/2VQJQBL24rWfn1LoyFIJft62n0U1xyu18I7weo8zlIMwwip8JiGebuV2Ur5ys6RZojtgy7qUKS0A0l8LlTis9TPEp8gBELmW8LPnA4NecxSXcMVDeAKgOojmgTnTaY9g4FaLIX1i80B0yQ89OJ3XKOMOe52lAQuQs5PoVGh9Q3bSVlqUu8LYQ+fvvdRDx7gGQ8cwL6ytVnUoM6KRRVS3VHu1hs+FhHSe3zcHKXwzdMrMGuIzcumNXHLrE+vhN7Wp2LnoFeEU04ssBgltdkLJB/gvFmP59GgA0knHW9eh5GN068yKekRDBKG76M+lOLzkXB1i+LnDI9H9DNZz8MkXf5VyYV1pcDcB8GrTaHv80hUtKMKdFFu6p5TzeGk+j+9PJBNibra9ecJRx+FFbsD5V1P22xuwRZ9w2NDcZxrxb51bWijwT/nC9iMrK6iBor4kyeRnGp7h/3NDDh4njEt9YbFTaiHpre3z4S5NSPUcxME66b0c5mqIvmcw8e4whwP297gO9ZL8hYkclQ+1V9wZGyrdCYsRrhbVHLA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cVpqWWpnWWY3M0o5dU5hSWRjZTcrVlMyYjVqSUZGWUw1Wk5IS3NIVWJEMUta?= =?utf-8?B?cFFGcVR4a2YwMFpYOWpJaFlUb3FaU3Vqa1FZbFptODV0S1BoeEJMUWlpRUtr?= =?utf-8?B?RWRRYkxDZXN6Q3pYcnExSk9ick1qU1I4bXRFcXVMaDMwb1pvbnRmaUlZUnlU?= =?utf-8?B?eHNORk52d3ZrekRXdXVQMGdySi9uaFFJenNNMno1bFB6aG9LRlhleGZrcnB6?= =?utf-8?B?ZnpPeDRTdW5VRk8yS1VtZ3VGWlFxcWY3RXNWOEtINXp2Rkl1U1R3emJZVzRE?= =?utf-8?B?eW9OaWpBZ09zNitScFlkZXlMRnJxUmN4MFFCNjV3RUxZY2M1c3RtcnBuUHFH?= =?utf-8?B?MUF4RkZnZmhlYWdUUTI0d3FhdlVaOUpvL1JkT21QUkdLbzNRVWdMQjg1c0JZ?= =?utf-8?B?OVhra0tudUdydHdMQUVhazFNSVNtL1JXTTkzT0ZjNXN2aVUrcHhaa3JzZi82?= =?utf-8?B?dTRCWDhkb3lHd3poTTZDNStxUWRjUm5QRlZaVUtkTDRTc1psakNHWnp6Z3VP?= =?utf-8?B?SThCdmUyazY5Uk1CcitmSHZwZWl6MG12L2pld2hlYW1oQzlKaEhOSnZPdms3?= =?utf-8?B?QjVERzdLdW8yelUwRmg5MXpoMGNta3k0TVpVWVluNU55ZjBwbE16SEtNbmpL?= =?utf-8?B?SXpWVXJUcDJFcWR4NUFKTTFLNjE0Z2dDZDViMjRXTDhEWHdLWjlsREJjcUdR?= =?utf-8?B?WHVVeWQwc2I1Y1ptUTN0Q0dnYjRFNmRpSW9uSnJnREVoWTRyRy9qRkcwL1Rh?= =?utf-8?B?Mi9pREhvNUxLN2JQRzdQOFB4Q3A3bjJwajRpQldudFZNaExzeHExdU01RjB3?= =?utf-8?B?WlhxQjVSc2hzakV6YUZaeU1SK3ZOclVGZjhCOFFkSGxGTlFsYzRWRFNXMDNz?= =?utf-8?B?bnZRekZCY0g4Z28zSHU3cmE1dnNwZEhDelBhakJJSGxjaTNhbWU1aHpzeFBy?= =?utf-8?B?MUVheGs4WEN1clJ3U2NmbmtVd2NFSGp0OEFEdWlDR0ltU2k0enlxajZvb044?= =?utf-8?B?TmtpV21kQzNnbEJOTWEzL0ZrTEtaMmhqejM0WG1KWUJreDIwR0pXZ1lseHQ0?= =?utf-8?B?ajYrZm1HZFVjWVNuMlFPL2doMkNYM1U4SjFtRk56NkdyZitnNDFWUEJ4b1BF?= =?utf-8?B?Y0Q3NDJ1Y3ZwZjZuKzVrZW9sMkJKM20vMTFiSWtaNE9ITWdtVlkzRG5ZRWQ4?= =?utf-8?B?VXlMbVo0S3UyV3h4MDM3U3MwSDEvbUc4SjB6R0tRRzgwVmo1K01QeU51M3Yw?= =?utf-8?B?MnBOWWJGRER6Z2RmdnRnV1lIUm4zN21nT3RjOGdWclN3bUZ1bEUwQ1pSck9W?= =?utf-8?B?ZHJsY3Z0aUFnMHFHQkR5VXJkODhxa2hERTRiYWsxZXNWMktIMjlmYURuekl4?= =?utf-8?B?aURKZW9uTnZRUXNzNVBwUTN4Q1R3UkdkUk1vYURQQzl6Vk1OWVJoZGpSRXkr?= =?utf-8?B?OUR6RW9rMnE0N2ZDNkV0OEJERGU3OWlOZ2IwRExZYm1MV0poc01sMUIwSlYy?= =?utf-8?B?enRrWkEzS2UyOXpFRzJXRytoR0lNZlkxSm9kWklHa3ZJbFl3aGZQTDBIMXZw?= =?utf-8?B?WWNIQ3VjNVdyYTcrMUN3MkoxWWV4b3A0UjVRdHV3S1ZXbVRDMDExTlVqSG95?= =?utf-8?B?bERicTBIWUk4K0JLMVNndlU2YzUzdW13OVNGRXFMQzZiQktYOFJybU9VVXZz?= =?utf-8?B?VnpBZDlIY3o0YkIrV0o1NGFkOEhnQVNISklHajhXWUl6aXo5eldCSmhIZUV1?= =?utf-8?B?Y3ZhRkU1WVVRK0NiU083eVNXQWRaUzRHSTgwSWtmdWx2OEVFY04yMmt4V1kv?= =?utf-8?B?Q1U2emtFZkFUQmFjWVc4bnU5RnJkSE8rU1pWWC9vdEt3TkJkcHArZHV4a2Rr?= =?utf-8?B?WmhOeGJLaE9UVCt4WXE4S0NZQlA2WmhtNUtRdWlhNTlwZmMyOUZtdUlMUHpn?= =?utf-8?B?dnJtNFBKYWgxbDZBK3ArWGdHTmhvb2RxOFRIV1c1SVQvdEJRSk5taG9ibm5j?= =?utf-8?B?MnZ0Mm9GTXlMcmttcXB6WUw1WjRBRk1pNEJrMTFxZi94VldTdjBXWXdhaEdu?= =?utf-8?B?ZFVIOUIwQnpqVW1nckphVUk1YnI0NTROQlg2SHhvWlY2VkVJSzAwOVpNZFhC?= =?utf-8?B?VHBWbjVRcy83cDRRZ3c0aGxPVDRWVEJycHpuYzJicTVLdTRhc0tRb05IUGY2?= =?utf-8?B?REk5cVBaT3RjWDM5WU01OHNCYzViQ2x6OG5IRklQc0Fkb3RkMm9CZEJsUmNw?= =?utf-8?B?N3FVV0RxV3c5MjZHazc0QkhaYUI3bmpOM1VOODdxQVZGbzR5dWVzaEFzeVF5?= =?utf-8?B?cFUxUE0zMFJ4ZVVFYTVQbjlOb29QVkg2SGQyKzNhc2VCMWR0WmFScmgxYUxa?= =?utf-8?Q?KFU1nf92uCrf3PcSnbIeidl119u7jlayCY9hvxWnqan1a?= X-MS-Exchange-AntiSpam-MessageData-1: GlkcmzxM2bWIxQ== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0104474f-bc47-4a3b-c9a6-08dea6c88be8 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:40.5747 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OTGduyuUYyuIIkxQGm2E7CuYUAmAqwiEAisyZ3hOYs6zwKKoUswlVsB7NA85HJcSX/7CFyMYakFR3PR1g5em1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Export `nova-core`'s Rust symbols so that other loadable modules, particularly `nova-drm`, can resolve references to `nova-core` at runtime. This is done by generating declarations and `EXPORT_SYMBOL_GPL()` calls for Rust global text symbols using `nm` and compiling them into the module as `nova_core_exports.o`. This is a workaround until the build system supports Rust cross-crate dependencies natively. Signed-off-by: Alexandre Courbot Reviewed-by: Joel Fernandes --- drivers/gpu/nova-core/Makefile | 22 +++++++++++++++++++++- drivers/gpu/nova-core/nova_core_exports.c | 11 +++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nova-core/Makefile b/drivers/gpu/nova-core/Makefile index 1f794baadc86..f9aaf19f2477 100644 --- a/drivers/gpu/nova-core/Makefile +++ b/drivers/gpu/nova-core/Makefile @@ -2,4 +2,24 @@ =20 obj-$(CONFIG_NOVA_CORE) +=3D nova-core.o =20 -nova-core-y :=3D nova_core.o +nova-core-y :=3D nova_core.o nova_core_exports.o + +# Export Rust symbols so dependent modules can use them at runtime. +# +# This is a workaround until the build system supports Rust cross-module +# dependencies natively. +# Kbuild uses Rust v0 mangling, whose symbols start with "_R". +rust_exports =3D \ + $(NM) -p --defined-only $(1) | \ + awk '$$2 =3D=3D "T" && $$3 ~ /^_R/ { \ + printf "extern void %s(void); EXPORT_SYMBOL_GPL(%s);\n", $$3, $$3 \ + }' + +define filechk_nova_core_exports + $(call rust_exports,$(obj)/nova_core.o) +endef + +$(obj)/exports_nova_core_generated.h: $(obj)/nova_core.o FORCE + $(call filechk,nova_core_exports) + +$(obj)/nova_core_exports.o: $(obj)/exports_nova_core_generated.h diff --git a/drivers/gpu/nova-core/nova_core_exports.c b/drivers/gpu/nova-c= ore/nova_core_exports.c new file mode 100644 index 000000000000..1d3f1544fe8d --- /dev/null +++ b/drivers/gpu/nova-core/nova_core_exports.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Exports Rust symbols from the `nova_core` crate for use by dependent mo= dules. + * + * This is a workaround until the build system supports Rust cross-module + * dependencies natively. + */ + +#include + +#include "exports_nova_core_generated.h" --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012045.outbound.protection.outlook.com [40.107.200.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 728B3436342; Thu, 30 Apr 2026 14:55:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560956; cv=fail; b=AV8yRuHTiGGGw89qmdvjSRWDPk68YHDr8bRbQ/pXEt4rRqYl1vFD71huj4nON+natz0mU2XxdoCu9sHxHlqfBvsYWU5bEPC5vEs6RTL+8XwKhl8/ohDXViMkIxpRHXwRV62Z9uFW4aifxJNioxO4U2rpEG/UAg4u14lLR0DHLho= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560956; c=relaxed/simple; bh=Uxt+GqIcSKDVw+RQvwOqPZPnegqTe8V00QBulpNtPT0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Ln9H0vN/WLDsCJJpyS8USPPwuA3w4pjzqsiwCwuwLRfcBYVNVk/VyMsViqf7cP/RrBuIz3Pktfm62EVuHiWvpHo232EhwGQO4mdDdXC4RhFalOV3FTR8jylLfLbjEKoA6Z2ZRDDtmjUugFcIROtkxy5kKWc5U7+H0bMO+NOGp74= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=enLyhtUI; arc=fail smtp.client-ip=40.107.200.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="enLyhtUI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=La57+S9sfHYKAag5IhnLbDPi0xzh3PRk+ev2cB2XMIYVAhSJp98INswsc4WBvv7kq+Ra78BRoP+fBLLACbQQ68xQ6D65rWclC7/x9SvDc0jYkdPsAA+WXmaaam0/9HUZxuyQBOtJ7hRpllbfGBIdwrNoHgqpqeSwjgjl0IWZsr5AjKuhDsPsDgQPQaSZBVSDvn5WveOGIznDxl7mfN8znw7BwilFNLsr1ceYygv5d4rV5Gs2FuPew5X11W2nM5mGRy1V5yrGfHVZDshUzPKgqYRTKqnId2OzV8jUSGpEVSzkJwylSjoInANfZb7sVyCOM+kAnqHdOl6SSbt6jGtsNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=t2Ahv6EeVc7eCe+FjzpKvJwgAKFzOnlKqRYqT0NUQiw=; b=iltzRWcQLEGZjW9XZ6x/m/uQbt8nRamMNfqvCux6l4NqAeurvtACEhAgju1QZGnPDjxCeX9TXjE/9GFdfsLXQGg5xQUbIyOfHJZHsTZEoZ4BLvRL4uD4fefREtEq5S2aXi9hYwNCU5woyhCIsWr382Qnh4GPVlj5vNCxsj343EshP0wpv/VvWTu0OaTPEuxcphq+UnOafpEDcZh8MSftJfFm1xeLY/KxWvd98LYZFBaLGi3v25GVT/QBgcDOR3ClhXPMT8qjdJSlFodXPEd9w7+icvDrLpummGBRmoxOeweV8bMxCCQh2VKSWHLp24kh+YLvIPlF0own/3yAft70Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t2Ahv6EeVc7eCe+FjzpKvJwgAKFzOnlKqRYqT0NUQiw=; b=enLyhtUIxMbYu8CjEtvsba/IB7anwH5Vae3EQDKj+mJfcIKvp3Y3t9Lu1+T7Tw17r2KXK5f97x6D1OR3b/K2EQBUCq72V7FLQq+ia6DHbitwIq555iCJen5Bb77YLPIjgb3Z3U6LKv/x/vBXn3jOv6UiqOWD2gSD5ioVyZEDUD8B+g3MxssGjCIlLwJF1UngeGZiDlp5T+uf3161fxilH8ZINSEkg4XobxO3afCjzuXgrPnQomQwCYIah3scyy/fe/j74qyKUkqPmP6G/PmzLUkRlwnwz31CVFn96Ugh4kJhSt/g94RCILsjsXfq7/Roc2/IGcjmK4ornvjA3UmGOQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:44 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:44 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:08 +0900 Subject: [PATCH 5/7] gpu: nova-core: emit Rust metadata for dependent modules Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-5-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYCP286CA0081.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::7) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 52d4d9a7-2b14-4d00-0dba-08dea6c88e35 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: q0+zKKJHzH/YXGz9D8ONckjZ1nJcSoTeO1Bo4q0xnPKcSPFEueBJI3uNZIKZ3pADLfS5ukZmnxdGd9oC7twFPked3gQd9PxBznVQJnqWtjH81Df/5YddJ27sFcr+DF1G34Jcm4wGWu+QzDP0xBrKzW+4ct+AUoKFkl65TJKhfDHaTTxtNaKaLn6oz0L5UR1Vz/iE3L15qY79EsUMEcBny4MQYpZQRuQjLpiFWyBXW3noyfKefs+AzUkX8qzPruS6LsbLwSBKUyybmpshqMEjnBW+dVGYb2XNX8y4b5FwJ9t9zbE+to1DHdxynV/2BN1/Wm7KQAdP2Dre+uPCCbcu47zpnv6mOkVOm+M8ZcQlOxO8V4tKC2926cfBP/nTC6rgfXKdfDwQZJ2ey/CpVnIUpwcf/2hdDOzr+UfvYEKRlp7MX0I3Z4u/vTbQZ0yti2CX51tjVdCtOMMKusmC0+xgyivZTV7nvRRUZxe9FgSMRoVYTgRtCyQh6QkDRgVwzCzLeSN+kc1FtKYq8zWsHEkZX0wYy7zu4mvX3Vji2EQs9JQQM2Pzfg6/pDvLxOXzeKnT9YLQIzee4HPdoGIOr+bdxqQiBoMR+3JppWbiZsNx35pPLZGaYUAWKoA9CvlS0Zven8AlMmF5z+asvwJt3nu0Nl5cVKg4b3CLKfFHWMZnj3XGKRjBYYjsloil11+gbfEOKKa7P7M/tdafY02YKabgTNzTwfiGlzEelkbQ8U7THu+zAns+5l/XsBL9jqa7o3H2v1jQiBPz7IRG2SDzGsZiIQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SUdQNUZEZXVzMkdRc1AvVTN2TG9YNStGNUZOd2didG1qREJ5alNDeTRzQUJr?= =?utf-8?B?ZnhZREFhZTdGamNIek4yZTRzK0FOaTJvRzFqNzlaUlYvM1lBYTN0ekRRTDE0?= =?utf-8?B?YzlEYW94STBMNzFtL3NIcEMrajlUYnZsT3ZkU2UwdUcrdFR0dFBCRjZWc21O?= =?utf-8?B?cXkrNDQzVUxsaG0yNGlxSmlCQzhuUmhmbDlmQ1R3SDEvalhUaGR5N0lmYmdS?= =?utf-8?B?VGt2eXNNenh2aU5sRzJWakZlYy9HTGNBYk1NOG0rN05hOVMxN0swaGFaNjVZ?= =?utf-8?B?K09uOGZNR0xjcUx3UnJnNzVRNlE3dHpZa0d4QmNXdkZDOVJYVTMwR2s4eXFr?= =?utf-8?B?M0djMjAwYU56QUJza2RGSCtPZEtJVExjd2xyaTNBMVhhRzhVRFRTSC9yemJa?= =?utf-8?B?Zy9XSE1oRHBlVnAraFVydE0rN0ppdVhVV1VKUTQ2THFpVVBwOTZQU2pUeXd3?= =?utf-8?B?QkRjbUptVHlxaDlNV3JsejZUZ24yN0E2NzMvV28xNVFvR0xtSUQ0MmxuTmdN?= =?utf-8?B?WGk3L2tLYmVuTGZsa3JsWTA3bk1xQUdza3ljbW40blhmQUVQNGVMbEZIOEwy?= =?utf-8?B?ZndocUtML2JNejVtOStpZk9YcnZoZXhVWjc2T3RodjBmKy8wd2I3NXBEOCt0?= =?utf-8?B?U3crOXY3RjQ1Z3Ixbm1uVzc0aGJGYlgybk9iZ0hINEE0dWE1Y3NRT0dzb2hm?= =?utf-8?B?U21KV2N1QVpnK2xySThVRTYyWDFucVlETC9VZXdpUGhEejJPQkIrdkJiUThM?= =?utf-8?B?SHNhdmd0MmREU09TOEpNQjFpWGlZc0pDZThJQUhsbnpEN2JCUGpKTC9PZjJS?= =?utf-8?B?Q1dFODFYZVBBV1FOK0hKTDZLWENEV2lEVTBhQmV2WFltVU8rTFJORmgrUkJV?= =?utf-8?B?ZXpMNHIvd3NBalpHbkJZYnBFb3FUcTRQOS9UQ21uY2dqOFZuc0t6L1BnblJa?= =?utf-8?B?ekxIK1dqLzRJZzc0ZWtCMXdIREk5endlSTF2cFJwYVlQU203Wk1MbFcyREMz?= =?utf-8?B?dTJuSWd4VUoxdC8yb0Z4a2ZWenBuamovd2dDcUxQR3c1VFhnL2ErYUxpbStq?= =?utf-8?B?Tm9HeVRxSzk0eFV0SW9xTTkrR2ZiUnNuL0g4TWxOTVQ1NXV2QlBVNEtUaDZ5?= =?utf-8?B?M1M3Mm9TdklqUTZqNEI5bmNRU3RSTFE1cWhxS3ZldHdNWER1aU9LUFVWSkln?= =?utf-8?B?Q25jNTlWSTdtSElsbnRKZnJodEpzbllZc0VzcUpza0c4aHY3ek5VRG5pR0t2?= =?utf-8?B?VlNyL3A1TDFPcWptdWx5Nmdpa0lDYVN0YjN6REd6MlVwNWZyaStlQU5PbDY2?= =?utf-8?B?VFZsNk4zSnZRZVZlVkVZclNYTU93OExNV2tuRVBsUVVTYSthZGcwTTc0aDlV?= =?utf-8?B?c3ZCMXlHNHFGMXc5Q0k3U0xoZTVaOUhNVW1LNy9teFFBc1BNYWVBK3RoMVA3?= =?utf-8?B?WHliSExOMXRPbWVVMmpaaHl3emp6M0RTRjlvQStBeTUyeDZXRUtuK3FRQ3RG?= =?utf-8?B?YllwTG02cVF0NlFkMWJJSkM1OFI3OTEwc003ajFZR3RvYUlhd2RYKzhaNGNZ?= =?utf-8?B?amdiaXdqa0NMN1VQN2FYWk9OcG02K1pKQ2ZvTUJvSlVJS0NUeGYrdkFrWVVn?= =?utf-8?B?Q3VFLy9aeWxUYUpqekJGcGVxUWtZNk5TQVhFbnBKdGZqcTB3U1NYcUkxY0dm?= =?utf-8?B?eFM1bDZuQ0dadlpXTUZOdUxDZ2RCSXh0SSs4MWp0SVorM3BOY01yajJzbjBL?= =?utf-8?B?NHh6RHNWSmxyS0tnUGMxYzcrZWtNazdsdEF2VWttZ0o0cjMxNEl0dzFDdEk1?= =?utf-8?B?WkFuY0hncFJWZW11YkdWWGNaT1hWNTZhSFVIZnVEVk4zWXBoTnhJQ1FYYWQ0?= =?utf-8?B?VDMxb2Zrek9rdzMyWmdGRlVhQm9RYXpDZXU5azRmb2hoVUtEUkd0V2VMbkpI?= =?utf-8?B?N013N29IY1RlN1A5SFFoQWprNlJ2aDZYL0crT1hNd0I2cWVDK29kTlNja3R2?= =?utf-8?B?RS93WjgwMURKaU5LTkd3TFpIdktrWUlLODdEZDFrWDdveWRNditDZEFQSy9R?= =?utf-8?B?cHNaUTlaRFdxTUxKOEhXL3JjSE1kR3RrNG1nR1VISVplUlNCSG5MTllvRGxP?= =?utf-8?B?NWRWYXc1aEpVOGxMWTVCL2I0dTJ4U3EyRXRUZHE0cHBIaTdsUzRuOGlKbVNW?= =?utf-8?B?VS9vbFZwNXd3cUZURG5YN0pzY3ZGWmNJalFCTVBhTXROYUVBdTFrNCsrbkhN?= =?utf-8?B?QkNxVDlYaG1HUVVDN2RLZkQ0eHIzQ1hGWERML2Zoak9HVjZZYSsvYU1PK3Zp?= =?utf-8?B?Q1R6VTJGYmN1ZjNiYVFNWWhndFo3ZGp3WHJjcC9WazI3UFNUeXJ1NUkyUkFS?= =?utf-8?Q?b2O3PLWndslHdBeI1LzSoll+Eshax0H9orzTNeJMa5ERQ?= X-MS-Exchange-AntiSpam-MessageData-1: SUj8FZT238+YCw== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52d4d9a7-2b14-4d00-0dba-08dea6c88e35 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:44.4069 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: reipCKgPfL4tsJzFzzZlWk8qpO0YbU1LJ3ZM6ILi635jRhCX6/hO/EzODKfwMT7m5QVa6kOP3aRSsRe+z/bSFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Emit nova-core's `.rmeta` crate metadata so dependent Rust modules can resolve nova-core's types and functions via `--extern`. The metadata is exposed as an explicit Kbuild target instead of relying on an untracked side effect of the object build. This lets dependent modules ask for the metadata directly, including single-target builds where `nova-core`'s object may already be up to date. This is a workaround until the build system supports Rust cross-crate dependencies natively. Signed-off-by: Alexandre Courbot --- drivers/gpu/nova-core/Makefile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/gpu/nova-core/Makefile b/drivers/gpu/nova-core/Makefile index f9aaf19f2477..fea6d5c68cd6 100644 --- a/drivers/gpu/nova-core/Makefile +++ b/drivers/gpu/nova-core/Makefile @@ -23,3 +23,27 @@ $(obj)/exports_nova_core_generated.h: $(obj)/nova_core.o= FORCE $(call filechk,nova_core_exports) =20 $(obj)/nova_core_exports.o: $(obj)/exports_nova_core_generated.h + +# Dependent Rust drivers need `nova-core`'s crate metadata. +# Expose it as an explicit target so they can request it directly. +nova_core_rmeta :=3D libnova_core.rmeta +nova_core_rmeta_private :=3D .nova_core_rmeta/$(nova_core_rmeta) +targets +=3D $(nova_core_rmeta) $(nova_core_rmeta_private) + +# Build in a private directory to avoid racing with `nova_core.o` on rustc= 's +# intermediate object names during parallel builds. +quiet_cmd_rustc_rmeta_rs =3D RUSTC RMETA $@ + cmd_rustc_rmeta_rs =3D mkdir -p $(dir $@); \ + $(rust_common_cmd) --emit=3Dmetadata=3D$@ \ + --emit=3Dobj=3D$(basename $@).o $<; \ + rm -f $(basename $@).o + +$(obj)/$(nova_core_rmeta_private): private __modname :=3D nova-core +$(obj)/$(nova_core_rmeta_private): private part-of-builtin :=3D $(if $(fil= ter y,$(CONFIG_NOVA_CORE)),y) +$(obj)/$(nova_core_rmeta_private): private part-of-module :=3D $(if $(filt= er m,$(CONFIG_NOVA_CORE)),y) +$(obj)/$(nova_core_rmeta_private): $(obj)/nova_core.rs FORCE + +$(call if_changed_dep,rustc_rmeta_rs) + +# Keep the metadata available at a stable path for consumers. +$(obj)/$(nova_core_rmeta): $(obj)/$(nova_core_rmeta_private) FORCE + $(call if_changed,copy) --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012045.outbound.protection.outlook.com [40.107.200.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8C2C43634B; Thu, 30 Apr 2026 14:55:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560958; cv=fail; b=KnCayfJGXd++2VAvy64e2+D/VfNlgFhfgjjJ+BQK8F2KGi9BplBrX1hRzilrcw3sdpt6lDahuK5ImYE5FtuhrBfwvI7DpzYBC+87ttVokSSFYE1tZZVyDKrM+JEwfh8wTA1J/KrZvJzcTgf2zGCPOX9/XpTNt+q2fV4E+s8W3NE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560958; c=relaxed/simple; bh=Yw0SbN8ndR9HExDK7Js2Z/MQqBwLmDr4barbAaZMTuY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=YDyIIwFg1yUvtSU/HcOTkK9OodGKR6c4RqObGAKK1OfjG0Crm+YYVbp5GzQa6VwDRGiM1Ktsre1kBr6mybbGHl+0iqe9otI/4dwrZSUqtEiu9nkujZd+YcKp5uLQWMire07cc/jrxlslMjdfXk37hjFdvTT9Vd4cY+pgSkMN7yk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Us498uu8; arc=fail smtp.client-ip=40.107.200.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Us498uu8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kW3YcqUEbrGYR0hRsY6iCSoef2OJSY0YF8wTb5+PBweo6hpddO8hvj7cZAH9MlTB/v56gT5iVIRm7L/iskimilwS/WRGz2hu29zffJX0wusyqBtzFAK6On2RICk3PoLgyPk15ueaNqtvKxMoJ7K2bVbPDEQ/GZmSOGcoEb+erye44SageIEYym1OTQ2JFMWjaDf+Tx1Xzz1uAaj5ZutdPThbDvaj7UNFiafYIZvv5PXZnVN1WM/0V7ail1TKNacKt+vRCazDzvDf1iivc+lRAOK5uGipSDXZJ1eJkdoSXmds0hBIB5MFhoLYYN+NVn0eRRVn/Ke6T1h3CrI7UEu1Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=AAd15UwN4mTEG4527fWjauX54mzLTXh7nzgQbcYLTQU=; b=G+VyUnyXgIrczW/wJRc97WQAt5d6knvb9BvOpLFZ43ccEJIQVlIQQQhmlrj4GNiAXaVPZ/f9lVUR98C/y2EBJFnlkVKesMSIaGZXq3YT/SNI4iS0d17h2NENNjXRmQeUjplb2HlWuzs1v+Q3jQPUAQQL69SXfI89Do8r1XWbZmReN0dyY5Z7UPWnKEtHe+s+7ni6WcQLamCsUxSIWtz9yQwrbTxUk1UAv7far6XWrdmpgTT1lXQc9QUVTiSWdEn9whdEKUy+BadeT64Sxz5iXxCe2ECarBntTM9YNQHaH0uVPY7nISGNJIGBNNatdkFgOa8PZgunOgHebyDPEqIL7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AAd15UwN4mTEG4527fWjauX54mzLTXh7nzgQbcYLTQU=; b=Us498uu8JqrJxY9Iv0V8JU+5nXsKpfAYoETID2RdBNrE8CKRGKgJOOkAmkI2Q+MvkI6+kbYnxyf4BZWB2ILgkkaCZi5vERke1SpqNxPefcsmrTt5HABUyJY5fxVjOC73sNy2tVou34ZH9moZT6Ebpz6icd3mEXjo18oS551KDB8dt63xDxDTSqHWhTfVzs4I8Fc9eaP6dW0z5j3GMH1MrVWRcJwPWUB+CTlkNViLXNddjiMziJMrXNbimEs9V7z6af3sY/SPH7PR/0B4x1Ij5H7zWyzeqILRtAC75MK+mUWUECOHlml+aD4EfjIkWccick6MLvVebqy2gKoMWPINzw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:49 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:49 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:09 +0900 Subject: [PATCH 6/7] gpu: drm: nova: build after nova-core metadata Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-6-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TY1PR01CA0196.jpnprd01.prod.outlook.com (2603:1096:403::26) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 8abf0ead-68e9-4a50-6932-08dea6c890eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: R4kAzT7qpctqqXFrKCczAC60jUrQKL/6KH5APDBkD4w10i7ovuDOnvdz3o5Ksm8JisgEwTay56IBioqDIPt0wjH0WImJ3oOS/FcPD8RtCog2EHaxaGCKvYWYB/4IaTt7Z+iv5K5Bo03aODJxIAig8dMk8yrSfqeytua3Qo/fZ73oiw66sUuOrH3qSglS0vStOTzZ/D5BHkx9O0WGFJO/4Q+oxt4d8Bt2YiGytSVai7jPYgCn69E/lgtvU6zRDfHO3gGJI91H5E/RiB04Ucnt1KzdGbnVFKeFv2DPfn1rCJT0z4iRwJLnqlBargmt2q1eoDClmwCDP+tHHFaJHmQwD5UEbWWkhZY4BxV4FZl8sHnCEVqFefo+1kSNDYNOFzR3js9ZfZe1kY+jucmj6vmG0PChFReObv00FaQxAx0KsCgyvuAvXUtxcRXrstwAyhotU3uOrmqkHS1+V2zbbe8CxOoimaRiOJJtQXvjoNhgBIFDvj1qsA+qLTCQoTail8zDfWFzxnJ/IW/RJ6Az71QKBS+shZey+ZUUt0AYpDRPj/g8Cmv4GwvTveQj91vivuale38c4yidLLzZx0tj60r6I+IdGZWKmitrPmRzJf9SDwgFwo2IwSS9e4IbhvhvLtnuaLp0oKrjRvZq41AJEP6MmfKzAhQoSBVHPnz9kHqssJGoxNyPyIlLQvX0tEqQ7e10+IXXhGhgg92Fu3fK2AF9cy6WMedgBX+jo0kDNhMxu5FhPClpaA7Z8BRJ4hBFvQUTFxyp1MDOWnuqdZNEaEzFtA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NkhOZlhPZUVKN2RoTkhsVzExemdFN3NkcGgyaEVkQXp6UWd3RUtuY1B6aFZp?= =?utf-8?B?Nm8veHY4VW85WkVzUzdJWGtRTGVjTGRCSTBqZnAvN3l5UUY0WDFxRFRhbHR6?= =?utf-8?B?TjZpQ2VWYytXWGJTS3pDbDZ5cEFzYTFMUmxhZkNETkpOaDhHb0wxTXp2QTdh?= =?utf-8?B?allBWkIvZUxVWDBVK2NiOWJGbk1RMkE0NmVPMDlZS1BVV3hZTllTbGZXd25l?= =?utf-8?B?cnRpaGlpcjN0WlZKdzhXQXZQL3I2THYwQXY4blNYaEhPblE1UHI0eW1QM1V5?= =?utf-8?B?WDJjZTlMalF5WE9DaUtIdVZnWGxXNlNYbUt2MW9GbXI3MnVoWlloMlR1ZXVY?= =?utf-8?B?SXd3Mk1sa1BRc1EySjJDa3ZEbThCNkhVK0dWRjZibmpxS0RWVCtUVE8yRmI5?= =?utf-8?B?dSswZTB1M0hEOVpyQ0I0dVJpQldlakQxODJRWDVlaXE3NHFIZWZiK05Hd25j?= =?utf-8?B?bGZsQU0zN2ZTOHpqNnNtY2pEYTltU1hoNFV1WTdObXIrR2U4a2VPcFl0R3Fy?= =?utf-8?B?OXEvdnNPZkhrOHh5VmZPRUViQUJZU28yYUxjWHgrQjFlTVdCTWpNYXQ2Ylll?= =?utf-8?B?UDhaS0poM0pQODR2bW1WdUZrZ3VXWEl6ZzJ1bWRwTUV0UEVDd3o2elRWOGpm?= =?utf-8?B?RHNUb1MwQmRlQmUrQjZZNkpvTzlhQ2w0UmJ5SUNxQVF3eEw1eEZYb1JZKy8v?= =?utf-8?B?bXVieDcwM1FyT3ExSC9ZRTF6U1FtaURzRnQ4TE44SytVTDFXbVhvckNnbnlu?= =?utf-8?B?YUczekdXcVd6THllMGR5cGlWSnZ6NUs5MFVBKzJkbWs4UkdJWjdXY25Sdkpv?= =?utf-8?B?TVFkY1Jmei9yeU1mR1gvSVlFUnpzeG5uWFgrc1hNVEpJRUQrRytPQ0dlZ051?= =?utf-8?B?VEZRa084QTF4LzA1aTZuS0NjemRkYTNzM3F1K2U4em01OXRrMEFWWUM2SVdm?= =?utf-8?B?cGxJamltcEtLcEJjVGJRT2NqWlh1bkVhanVsMk9EV2lzRlBtTEdYNUVQbWJ0?= =?utf-8?B?NHpiaTVmRmJuZktSbUtVc25sdjJ3TTlYbjNCbnBESHdGYU1WTEJRdlZ6QlJr?= =?utf-8?B?b0c0K210ekluME5ObnpFaEt5L0NzWGkrZWgweHZTdWc0WVNkczlnUVl3ejlT?= =?utf-8?B?d0VDYXNyV1F4SmFwWHQyZkVSQ1krTXptY0ZHdmZZZFZTQ2NRRlZrNHpDeFdF?= =?utf-8?B?SGRDVDFrL251dEZUbTVsUGlLbVlPMGVHaGRYaWpaMWpFU1k0L25NbkVQRWNh?= =?utf-8?B?bncxcVh6cWxjYW1LR09nS2ovQVlmT0gvSThOWFBuTnhYSjh0SlhmTEhYdXRG?= =?utf-8?B?dDhIUmtuRG9GVEdibXRGOHhpT0NNc3Q2eTJvUXBCNVFNTXhFQTRJNm02Z1dJ?= =?utf-8?B?UTI3M3ZTdWpvdk5GR1p6bnd2L3lUWE5qZDdjNW56TVdrTXczbmZuSXl6cEU5?= =?utf-8?B?SWVrMEhFME43T0Y4SGRjVll0R2NXU0l6eUs4RFFML2N3Q2RZREVHUXlEWENI?= =?utf-8?B?cHFBcms4b0MxYVRrYldsTkt0NjlvUEd0Z1huZzEvVWMxRE5xQ01JaVd0ZUha?= =?utf-8?B?OWFlOTFXSE5qcUROUkM2V1NwRTNNV3A3Skgyb3FiSFFtbHFRQ0NtVDFGUUtB?= =?utf-8?B?OTdLK2YrREtlRTIzVzlpT3UrUmFxb3ljbysxc0oxWGpBcG9jYlpKS250UFZq?= =?utf-8?B?b1gyc2g4a3VkL0RKV0gxZ0QwamZoNEVPMUJzTzQ2a1Q5bXFOckxwOURCQ2lD?= =?utf-8?B?SHQ0ZmVMKzdBRElra0t3NXhFbjlIL3N6MUdTK202RzlFRHRyd3Fqam1CVk5s?= =?utf-8?B?dEtFYzE3SXZtSHhoUnhQaDVXb0RhOWUvQ3NKTWNWZWJRM2Rwc21tbTU5OU9v?= =?utf-8?B?Nmw5cmo3eE82SXJaWkhZS3lIR3ZRWmpXcmlmR1llVmk4WGVrckg4Yk1PUFVM?= =?utf-8?B?c0gxRFd0aktyUUN4K3VqMGtzcnFYWFBIaXJqblYvak10WVZMa1orSG5oN0JI?= =?utf-8?B?ek50MWIzM1ppeTdnN2hLZXBhV2p3YVc1ZzlCendzY0dmdlRnbWdKWlhyeFZp?= =?utf-8?B?VWppTmJLYjB2U0pQdHZ5UW0yNmQrSUhiTGtISzE3WWpvUVQyS1Z4SG1DZHZP?= =?utf-8?B?OU1MRFM0ajRmZmdDUnlibXg0YU8wbTkxUUxjSWRZU0txVEpuSldveFN4czlq?= =?utf-8?B?cDBmOUhLZk9kSW02N0gwWjBKZVdCK1lBRjNZYVFZa2w2TzFnMld0clg4NEI4?= =?utf-8?B?QkNFcUxoZXYvVUtnNTRmODZHT1ozSUtCQWVEZWVwZVhtUjJyQlZKNUtIV3li?= =?utf-8?B?NCtMaU5Xa3AxWnRpOWpVS1dSaXFVV2lkb1phcjBGbCtleGdhTmYxbUhoMnkz?= =?utf-8?Q?cBTccGmr8ghiUux0MSG97DXRE+ZVYR3JyagjZ4xF5eDyR?= X-MS-Exchange-AntiSpam-MessageData-1: 70g9Oc1+7rJtdQ== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8abf0ead-68e9-4a50-6932-08dea6c890eb X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:48.9603 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: i/ewFha9RXJ7tlPajArX+KbxHC7spFldYLS+FpFpPiXKxHUuwoLulNp1X0QCGtc1qVrwjyZkBAUWPGnj4Qn7Lw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Point rustc to `nova-core`'s `.rmeta` file so `nova-drm` can use `nova_core`'s types and functions at compile time. Signed-off-by: Alexandre Courbot --- drivers/gpu/drm/nova/Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/nova/Makefile b/drivers/gpu/drm/nova/Makefile index 42019bff3173..f1d59c65120f 100644 --- a/drivers/gpu/drm/nova/Makefile +++ b/drivers/gpu/drm/nova/Makefile @@ -1,3 +1,18 @@ # SPDX-License-Identifier: GPL-2.0 =20 +nova_core_rmeta :=3D drivers/gpu/nova-core/libnova_core.rmeta + +rustflags-y +=3D --extern nova_core=3D$(objtree)/$(nova_core_rmeta) + +# `nova-drm` imports `nova-core` at compile time, so request `nova-core`'s +# explicit metadata target before compiling nova.o. +$(obj)/nova.o: | $(objtree)/$(nova_core_rmeta) + +# Build `nova-core`'s metadata by invoking make. +# +# This is ugly but only temporary until the build system natively supports +# cross-crate dependencies. +$(objtree)/$(nova_core_rmeta): FORCE + $(Q)$(MAKE) $(build)=3Ddrivers/gpu/nova-core $(nova_core_rmeta) + obj-$(CONFIG_DRM_NOVA) +=3D nova.o --=20 2.54.0 From nobody Tue Jun 16 17:01:53 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012045.outbound.protection.outlook.com [40.107.200.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 62486436368; Thu, 30 Apr 2026 14:55:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560962; cv=fail; b=KMQ3H0McdnMeVNqutpbecymAhoO8NBqJxJ+ZXX6dsWKVV4dOpyoRYAiIiI11CPZWyTE1kL6He7HpKFIZNaEoqSU/PkCrsD3QGg4MP9bPcmk3TPmdOw4F2VmstKdRRwt/C9LL2vlDKrFZdxExlS8cBSmtmo95IyUQRYvmLL/zhIM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560962; c=relaxed/simple; bh=EmemcMDdhAYFaGQqsB5Xpxi4BkDZfvsGSUaWKh20xSU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=EOdLp/gt6uLkdIxo1CXDjl7EaIax0ePvlCo/RGdHyFQIJ95+XSi3+zfGTz5KW2kMU6+5iaN6JT8FnAR7UaY6QP27JS3P2INlMVAfD/D0BM0MoRbHnScRz8iHQ80X7s+vXuDarRHQTVD/axNi8g8LMq5lDougiIPcR8ZFQ6ZeeX8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=s5McfEDi; arc=fail smtp.client-ip=40.107.200.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="s5McfEDi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aWXTI0pi0p0yjFNXgR/zNupBqViyL6I/0suxSlV1/GFAz9J0TQuZz380ji8TLZzVLEmJySXJ0y53WHLxgUWcRfbaFQzLlNbvlJYL7C1ssKaL/iYlxlANr093dhF0PvdCDIva3/sNl2xqgGForDET9KD/3IEk9MUftCbNjRv6vdFte09MG/gGInFX3a0e2hkdWDh1wxdoNcwJYPsQ+F7SrboWMOI1qQ6EfV/ydswnze9umtYRnaZyBSxsWx0trVYVJmq7q2Bl+VKICuXNrwz5fCAjhccL4w+HMqAj/B0ObXm521ydIjuzhfNUcvbTJUQXnZ8IGyJv5aYYrxVr7SzYow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=aHOCHDXurEmZORS0PhjPlqv3gaPDMbJXQhgM6kgj4vs=; b=hEQz48jMmuj3OBogEitwxF2w1Kk21NFjpteTjYooIXknVCPWI2KQnC7O2Ls1LGjEBglRM0JvU0e08y/rOOJIChW1JIpicVrnPEGWh84LzDsBDGn6L6Q8qZxkR464jOuMgxTPApDGmPiTasXzVFWtH37d+6AYfQLcUPPrZtSVtros83aYwlvVt0RkplPjul5QP812F1fnLrynr02X7fg/pijEeAzF9YpyjTx2jCzsTE2VwiMCFu/75w9lmUPZMjNCJrRL+f5P+E9ZAEW6+DhuIepRTWlbojliQntMDw2pyxrb/p4NZcXYX1thoZ8y1RUb/APjM6Cuo4IwIuFL/mt1eQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aHOCHDXurEmZORS0PhjPlqv3gaPDMbJXQhgM6kgj4vs=; b=s5McfEDieJoVveMQL8gkgJwfhFDbRTInlIlsWVHwUfVpUT3e7pz9SiNYQFD3CJAG/a9P9T/rl7mpEmry3xIOId1oZoj2u4lUd3IaN8h7pXx17DlvikLhqWA3qU+Hbuehno7CWikVyrgrChgUq3e2Yiz7XWoVEJ7RJa7UrQg5gNd/Ub6+S0eUzo4n1rToke6vsmKB97rqb0EDMrtsv3i9XNCMYS1gOdLuXgUv1Oe69+EGTyNcqB3xAEmEe9yZOx1MB5MShrnF8LF9/7gacgam2f8VarGYdiPQHgRcF2BMxac9VE6WOorHy/Us5t3WyN/8d6VHuz0JRW11nPqXt5vewA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 14:55:52 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9870.013; Thu, 30 Apr 2026 14:55:52 +0000 From: Alexandre Courbot Date: Thu, 30 Apr 2026 23:55:10 +0900 Subject: [PATCH POC 7/7] drm: nova: demonstrate interaction with nova-core Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260430-nova-exports-v1-7-7ca31664e983@nvidia.com> References: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> In-Reply-To: <20260430-nova-exports-v1-0-7ca31664e983@nvidia.com> To: Miguel Ojeda , Nathan Chancellor , Nicolas Schier , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , David Airlie , Simona Vetter Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Zhi Wang , Eliot Courtney , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TY4P301CA0109.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:37b::16) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS0PR12MB8501:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b0eec7b-ca6d-4861-98d8-08dea6c89313 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|7416014|18002099003|56012099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: RGnz/vb4a6qHoFn+O/v2C4+iTgl61znfEQxtvebAq6uecmqdkf8szRDL0BFFSaD3wcVM2V/8YaIGga+tZ14fVoUSm3nwPGp4nVN16xpk+sXbeRtw+wgx9iuPqfIjR4kdyJPnE5Psr7GM+1fPgJ42AVKUC/u3SuU/4JpZZtEse42MKCq3R3oJCgfDWtfMD3Za2IXwjRXtW8ONcmn5xUREAYzh2Y3BRy04AJEnDk/JA4SjsU8lzdm8CbYUNGAN/m6yDhLiEwrs4CwZuD6p9wcPy4iR0A4SwvvGR0Dt1CIWOKPUvg99ZD27jxx73RQy9f71EAMEAboQaGUdxc1xRpjmi7au0h20XYbgiPdxf+9pWCLmEvLJ4FH3MMf88Ps0bB8XfggKCm5ihbQOfA3GwAZPlBr8fFNXdJNaZ8k9UTBJNWRqMBIgJND6dV/8/FemIuBIsnmeIqTlbLRbFfGXIfgvwvFNATYycpcFOHkBmmOfJTE/nr87JLWDNoj4AOLj7kMjF4vjhzAOz6T1u6t8L5fcqcqkb3ucqfx8qRD5C+5a0J/EDbijUu1Jy3fSCdSBdUReC0757SzQtJ6TVw3+0kyqIAcup4Nq1zvgAeYaPEXvvn5jeyhHFN19z/jd82CEKPqLHymq5vw7/D4TjjDKLqTFsD9z3P05vMypY5+hHdrtz5rlZFy3Lu210QWixK4UaqOYt1n6BFZFvKDCsJEwD8ECtdJxzW1hNdkVi6WRtdxfjbmhWTkjEyU6ga02OrPNHknkkqHyLJqaRoAUP1kK2KC5+w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K25QVnZSaDlpWkVUNDhSNGlJcXlTbkZabFYzeXREV3Zvc3VjaWt1VnRlc1o3?= =?utf-8?B?VVozWVFxWTNMZVRvRHBsRXh5a2pLTS9uLzlKaTE1VUdnR0h3WWFhS1FYL3V0?= =?utf-8?B?ZUY1RmVvSlpDbDgvUzFxdjY0M2U5NEdmLzBFWWVyUlZxTWF1emRQRW1xV0ds?= =?utf-8?B?M2tId2J4cHZYRnlTR2JqcENrWFBodHVvZ3FLRDFpeWVQRGdwV0FEdS85djZT?= =?utf-8?B?K1pPZ001Rk9VK0xDbTFPdlhNTXdwdnlmUEJPQUs1QWJyRktPL0dZM1M0RFUx?= =?utf-8?B?a0ZoV0F3dm1WM3VQNkRucE5SRTdwcGNSS1RrSHNBM1VoQnZ1Y2duZEEyZkpy?= =?utf-8?B?TUpyNHR0RUc2NHQvMFIrSlY0SURLcmxDSnMyOWhINjlySnFnYllKY3dtRnlv?= =?utf-8?B?bVRVaFliVmlXa1FHWUhzTVptMk5RS2pxWG5UQkE3RVZXd05ST0lHVWRPcnhk?= =?utf-8?B?akQ3VzZpVExQTG85SCtoUjRtUERVcCtqTm84alJHNm5MenM1cTVLMVVTUFFO?= =?utf-8?B?Y3BLbmh2WWlkN0ZjclBMbVhUR2NOLzcrNTdFdXpwWHJ0ditJU1FiVzM0Kzd2?= =?utf-8?B?aXFSQnlwQjB4Y09MTXZSbytJNUNlYWpaWEhqTklmczNnWGs4VmUwUTcyMHdK?= =?utf-8?B?bkd0ZThPaHNLTVpKU2MxQmtGYzQxWFVrWVoyTWdHT1NvbnMrUlpoRjFYcmlE?= =?utf-8?B?QldLazMrSkNUamQ3MzBVMEwwSHpoV3Nhbml6amhEQ3RrOW1qbTZjMnNuMmY4?= =?utf-8?B?OFMwSlVSYmMwTkNJMWY5WldDRkVYczhZNkZOdURjSDNhSGwwR0JsVSt0a2hq?= =?utf-8?B?ckpLZnIyWEdVQ3NoK3NQNmlUVTRqa0diR2F6Zld1cEI1Ukw5cm5wdXI2Q00x?= =?utf-8?B?OEtERVBlY2RHQTgxeTRCZXVZalFZb0dDRXdJbncvTkhneENPcEdPODZGNzRY?= =?utf-8?B?UnFsM2FHTWZZWDJoT25zN21YQ3NoZ3l6ZXp4dEFPVHBtdW1PLzRXOW1iNnpn?= =?utf-8?B?S3Z3QTg3azZGSGFlMHlLMlpKb29GMUhFQnlNZHZRcVp5UTNDZG1GaXhkbGNS?= =?utf-8?B?Rkd1ZEZpM2Zmd3k4UE9XQ0xTaE9pNEdFT3dTYnlOVy9nMlI2d1Fpb2pXdVA3?= =?utf-8?B?MFBUZDdJT25PaUFPNUFoMFdMcnROK1A4NDVGc1YwL0FUMjVZZitXSWI0cGNt?= =?utf-8?B?bUxPcjVxcDBSUkxnR0ZQbEFKdGxqN1kyRUwzT3l0eXBHd2JoTnJselVZREh3?= =?utf-8?B?bzFGdWI3djYvUWE0Mm9uSlFqeFk2NG9hU1VOVU1naGJvaUVJZ1I3QnRoaTBk?= =?utf-8?B?Mk5DblB6QW11bmp1OHUrN0hJdTRKTWlUSVZ6Nkc5RVVnRWhEMzM4eVZaenR3?= =?utf-8?B?OGlYZUJoUVFJcEVZcnBwNlVQa29kWnkzRDdEaWo1R2Yvd0VTdjBHYnF5MGNy?= =?utf-8?B?eHVHQW5QM0t0NlNIaE15SW5PSXdSbzJCQS9WQ0hCWFQwbTBRRUFLcmhiaU5M?= =?utf-8?B?bG02SHR0TVBqUFRyNmdxL1JBSlo4WHU5dmR6R0FqMXE2cWRGV1FEMk4rejU1?= =?utf-8?B?b3dCTHA5Rjh6MHhMNFYyWGpkWTBCaU12cm5Cd0poSkFiTFZ5UnBmeGVQMXlJ?= =?utf-8?B?c3lNRFVyalI5RDhhZzgySTFuekc2eG00OS9JeDJvaDBob1BDRGNZeGZRSEJk?= =?utf-8?B?Tm8ra2NLbU5TYlF5NjRKVVQ2U3FSaTRpNXNJRHRHbzZBMHE1bDVTTzlNc1Q3?= =?utf-8?B?RDlDRnU1QW1NemNQSGVVaStwNTF5ek5ZMDhDSUpPbnlWTDJ0Q2p3SmRMWTd3?= =?utf-8?B?eFl6SGRwbERGL2J3WjQ2ZWJGdXdqTkQyTHJVNXJobUVqaFh4N2xTS2d4MEVm?= =?utf-8?B?Y1pCcG8yUllXTjYvNXBkM0lSRzJEMG9uUlpOdG1BZDh5U09xNGFMOCtlZnRF?= =?utf-8?B?eHNJS1ZJcGFQNHBRY0NROUFUMURsZjhjcElLZ1NBTjN0d3MxR0RLdFZRZ0JV?= =?utf-8?B?WE1mRjFseWVMc1grWVhvemIrSGd1Q3NnbkkyL2x6TnU2Q0cwcWNMR1d3SE42?= =?utf-8?B?dkFIZEFyUFRvY3VraUVRUlphL3I5b0ZkM1lDMFlISCtGSG1Hb0lGOERaYmZt?= =?utf-8?B?Z2crNmZseEFxeG1uQ1R0MmkveHZGM0IvaVdCL1QySzBGZmltY1dNUjVTWE5G?= =?utf-8?B?UjQxdjgzaG5Uc2lXQXVHTkRvWXA1R1NmNHdRWUpDbGRrNENqVGwvQlIyUGVH?= =?utf-8?B?OU0xRzJpT3NxUDlvRVc0M08yMENCdGM3Zk1KL1dNdFNCNCtWM3lYekh4eENp?= =?utf-8?B?ZEZ4dTF1eUpDTVhBNnVVRXpEdkk5azRkdnBrMlV1S3NkcW9GSmFFeUdFTE1P?= =?utf-8?Q?lsOxTErIY6r5Yc1gF0UQ98ThNxy69/tIIa1QtkKf3Z1ny?= X-MS-Exchange-AntiSpam-MessageData-1: 01aT/ajYc3lmDw== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b0eec7b-ca6d-4861-98d8-08dea6c89313 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 14:55:52.5651 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PdjN9vqwATeBrROo/l0YeP1fjeDOwfJFdjoim/BLR40f/mTjQiU5dJ73N2PZKOYwTL1oP3mpIWnEcc8wukn7XQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501 Export a few items from nova-core and use them from nova-drm in order to print the chipset of the GPU being probed. Some documentation items are added to make Clippy happy. This is only meant for demonstration purposes, and won't be merged. Signed-off-by: Alexandre Courbot --- drivers/gpu/drm/nova/driver.rs | 6 ++++++ drivers/gpu/nova-core/driver.rs | 20 ++++++++++++++++++-- drivers/gpu/nova-core/gpu.rs | 9 ++++++--- drivers/gpu/nova-core/nova_core.rs | 4 ++-- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/nova/driver.rs b/drivers/gpu/drm/nova/driver.rs index b1af0a099551..e18e9fccc067 100644 --- a/drivers/gpu/drm/nova/driver.rs +++ b/drivers/gpu/drm/nova/driver.rs @@ -15,6 +15,8 @@ use crate::file::File; use crate::gem::NovaObject; =20 +use nova_core::driver::NovaCore; + pub(crate) struct NovaDriver { #[expect(unused)] drm: ARef>, @@ -54,6 +56,10 @@ impl auxiliary::Driver for NovaDriver { const ID_TABLE: auxiliary::IdTable =3D &AUX_TABLE; =20 fn probe(adev: &auxiliary::Device, _info: &Self::IdInfo) -> impl= PinInit { + let chipset =3D NovaCore::chipset(adev)?; + + pr_info!("Chipset from nova-core: {}\n", chipset); + let data =3D try_pin_init!(NovaData { adev: adev.into() }); =20 let drm =3D drm::Device::::new(adev.as_ref(), data)?; diff --git a/drivers/gpu/nova-core/driver.rs b/drivers/gpu/nova-core/driver= .rs index 84b0e1703150..985f65e13bd5 100644 --- a/drivers/gpu/nova-core/driver.rs +++ b/drivers/gpu/nova-core/driver.rs @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 =20 +//! Main driver module. + use kernel::{ auxiliary, device::Core, @@ -23,13 +25,17 @@ }, }; =20 -use crate::gpu::Gpu; +use crate::gpu::{ + self, + Gpu, // +}; =20 /// Counter for generating unique auxiliary device IDs. static AUXILIARY_ID_COUNTER: Atomic =3D Atomic::new(0); =20 +/// Driver-associated data. #[pin_data] -pub(crate) struct NovaCore { +pub struct NovaCore { #[pin] pub(crate) gpu: Gpu, #[pin] @@ -112,3 +118,13 @@ fn unbind(pdev: &pci::Device, this: Pin<&Self>) { this.gpu.unbind(pdev.as_ref()); } } + +impl NovaCore { + /// Returns the chipset of this GPU. + pub fn chipset(adev: &auxiliary::Device) -> Result= { + let dev =3D adev.parent(); + let drvdata =3D dev.drvdata::()?; + + Ok(drvdata.gpu.spec.chipset) + } +} diff --git a/drivers/gpu/nova-core/gpu.rs b/drivers/gpu/nova-core/gpu.rs index 659f6a24ee13..75190ca0693b 100644 --- a/drivers/gpu/nova-core/gpu.rs +++ b/drivers/gpu/nova-core/gpu.rs @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 =20 +//! Declares some core driver types. + use kernel::{ device, devres::Devres, @@ -31,7 +33,8 @@ macro_rules! define_chipset { { /// Enum representation of the GPU chipset. #[derive(fmt::Debug, Copy, Clone, PartialOrd, Ord, PartialEq, Eq)] - pub(crate) enum Chipset { + #[allow(missing_docs)] + pub enum Chipset { $($variant =3D $value),*, } =20 @@ -185,7 +188,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Resul= t { /// Structure holding a basic description of the GPU: `Chipset` and `Revis= ion`. #[derive(Clone, Copy)] pub(crate) struct Spec { - chipset: Chipset, + pub(crate) chipset: Chipset, revision: Revision, } =20 @@ -247,7 +250,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Resul= t { /// Structure holding the resources required to operate the GPU. #[pin_data] pub(crate) struct Gpu { - spec: Spec, + pub(crate) spec: Spec, /// MMIO mapping of PCI BAR 0 bar: Arc>, /// System memory page required for flushing all pending GPU-side memo= ry writes done through diff --git a/drivers/gpu/nova-core/nova_core.rs b/drivers/gpu/nova-core/nov= a_core.rs index 3a609f6937e4..ccb98c73457b 100644 --- a/drivers/gpu/nova-core/nova_core.rs +++ b/drivers/gpu/nova-core/nova_core.rs @@ -13,11 +13,11 @@ #[macro_use] mod bitfield; =20 -mod driver; +pub mod driver; mod falcon; mod fb; mod firmware; -mod gpu; +pub mod gpu; mod gsp; #[macro_use] mod num; --=20 2.54.0