From patchwork Thu Feb 13 16:45:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 13973720 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2065.outbound.protection.outlook.com [40.107.92.65]) (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 69D55245007; Thu, 13 Feb 2025 16:46:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739465200; cv=fail; b=TT5JwcqKD4UU3WmTyC+hyEM8jP19XVsFPYZUL7f7505vSLVp5Yg2fBFNyONRBVjhWRvMDc87auapk8XBk8Iu9C1fYOWu311UDdsWdk+7P0DAfNasy1t3wVbOKVHJz28yjeH12zLzkwkVwH/1lyTszQW4aiZLzBHRanr5jGR7EqE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739465200; c=relaxed/simple; bh=E8XewbvSwpflzFnxlIW6n3i0hzVm5R30KSj7KbhBB88=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=aQgBnEdzQszqrOyysT5IkPSodX3Bj+W9PwuYaVrlxUrjfLon21Hjukac7VVgejY1t6/Gi7HizR1WRJXc84MOuyp90U8oQwSHKnYT9sgbuW41UcXZgITXzQ57MVZSxuaXjU7yq2c33ZHh/mADa89BJDgfbaVR/WC3bFUgr+WFcOA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=rK76SorC; arc=fail smtp.client-ip=40.107.92.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="rK76SorC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=w1JnrKVVrE8m4yjt433norUogL31Eyi2/AQGX5b3ZlGlKIn7xMLdIGshHR++yH5SCvq3vOPYR/6CoqHfrsyGNH/T9xCiBC720k7OvC8c3vVaXvaVF5JPhCWGrsTCWV3D13gRhrk8+97PfFDg71BlKk4nzz0vkSd7ZazSwx5BxzK61MFND1GIoHyXlbJ+VMXakMS8PUTwSFQEztIo2rocuzxf0wCZ0TwzF/5SWtXJ37SNy7Nh0bEZREbU2rOvhuUi/sYERZ7CD9ew7XeTuULKEtAafOwRfTyDHIX+raa/PDLvIfvlPWMC4lk6ew7faGCGcOYF4c5SChwDyuwvT3z+kg== 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=u2KfDR94+kX7cHHfHeloLUENsMoJGqbXponq/BC4ZvQ=; b=gB7YrbQz7cr0kK5cOWUUypulGFl36kH7O4+LdSeDXszb9SnEhzsrMZkpG4/nXvjPZ5XnDDgDDs0loaIANg638M8R+UgYxrEBz0Fcz/Firpc5kYGc8kRbar0O3cIP2yxSzJgxXRafp5Tyinkzo78zkFftWCiPvJi7Xp5SPTeY7WvBKy3pLMgyVlKZol6xEaHa/IaDQa3uM15nY+q07CG57B80/UtqmfwsUVXZk8iYjxeo1CJTCuFOlH5GR2fnD+myMQwKY9ROgMwO5irjBkk0hhg8Bktha0d3lGPR2v+7pKisB4w/yaFZSidPeOXSqIxupOmbztpQuRdJwNvHodBwIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u2KfDR94+kX7cHHfHeloLUENsMoJGqbXponq/BC4ZvQ=; b=rK76SorCLQuxsoNhfFNT3HCoXOpIk1G/HKGE8eKFbc9oE4cnbSucp9Ql6jgcOTq0LQ2Om4K6Fx6StyPpgM+I5Gbtdgc8ZnRLqfYa1o7NoKxCCqh8+rssusu93OSQN0OhJBg1Ien+xgYcimnABZZaAo4xF1q8OzbgzM5Re3M7Pb0= Received: from DM6PR11CA0031.namprd11.prod.outlook.com (2603:10b6:5:190::44) by MW4PR12MB7117.namprd12.prod.outlook.com (2603:10b6:303:221::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Thu, 13 Feb 2025 16:46:30 +0000 Received: from DS1PEPF0001709C.namprd05.prod.outlook.com (2603:10b6:5:190:cafe::74) by DM6PR11CA0031.outlook.office365.com (2603:10b6:5:190::44) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.13 via Frontend Transport; Thu, 13 Feb 2025 16:46:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF0001709C.mail.protection.outlook.com (10.167.18.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8445.10 via Frontend Transport; Thu, 13 Feb 2025 16:46:30 +0000 Received: from [127.0.1.1] (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 13 Feb 2025 10:46:27 -0600 From: Yazen Ghannam Date: Thu, 13 Feb 2025 16:45:57 +0000 Subject: [PATCH v2 08/16] x86/mce: Define BSP-only SMCA init Precedence: bulk X-Mailing-List: linux-edac@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <20250213-wip-mca-updates-v2-8-3636547fe05f@amd.com> References: <20250213-wip-mca-updates-v2-0-3636547fe05f@amd.com> In-Reply-To: <20250213-wip-mca-updates-v2-0-3636547fe05f@amd.com> To: , Tony Luck CC: , , , Yazen Ghannam X-Mailer: b4 0.15-dev-e27d6 X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709C:EE_|MW4PR12MB7117:EE_ X-MS-Office365-Filtering-Correlation-Id: 855552c7-ccfe-458b-1b4e-08dd4c4df79e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?q?mvnFmgyJliMMGkTzgXVLbX9Yhx0TiX6?= =?utf-8?q?bUf8fi0xwp+6QllTD3mfUoKG6+5idOp+DKurq6O7fBMGdrOFgbVs06dXUG6xHcku7?= =?utf-8?q?sb4IOPA6J9yewQrDG4zF8kwAH3olONMZ1+mxEbLpr77/yviNePBBPOiVyahHdu5Yz?= =?utf-8?q?Qq3dzXlB8laiJ/3hyffiZMlU2dIElaDDNDH4iQgoLoNzO5pZJ1rDuRBztCPA8Gaor?= =?utf-8?q?eNP7g0Np4SCeO40S6NF9wfHhW/rbnjmE4xvOTThFD7JSInrFRVmQaHHs7OZgI+RsQ?= =?utf-8?q?Gp+wIgTNowgC0z+kPWaUH77NsklNxAUHbHunRUi0KoaHDviUOQ2lIxcUHq0/a7L9L?= =?utf-8?q?9j6hHkk0AYG4DF0mmuZSjhdWmZBWNpbq9Y4reYLPZS2OTYS4XbDA0fT9HfOoU1QBW?= =?utf-8?q?wq3Yl4k0wwQCmri4ykxliCgqViZJd9rD6l1Kr+vMTc5jRAgLBnqoHFYQeQa8k/rwx?= =?utf-8?q?bkMWIv4Y6legyOZy5iaOwBv6nvqKEFsx7dU1czWi+l3n34mbElmlK+KcvP3DHACTl?= =?utf-8?q?q3IsUJQ6RCFzE0O9kw7yTpTfUV+ZLe258RjDQX5+PFxEPQiQkeX9vLfJRBj4ZAYP4?= =?utf-8?q?/7XIePIJ7D3TJSjvwRfP/OzwOgK37H/feipMMQXrkA2HKtuOY0v2IFnJ87LuDN4z6?= =?utf-8?q?5SWjOl6B+Qa319I3PVMg8l1x7zyldv5RioTKZPq9fQMXETmx0jIEUgf4HfqU+rCxH?= =?utf-8?q?8r3jmDoB+/gzUHLZ3XzQurmDoTkdrDlmZUcNwxFeKkDri7mRf/5Wz5pWyFquDJtw4?= =?utf-8?q?8INvcNBNzM32+PoBh9LVY31j92+sLqykKoRPdOzMtoVTb5s/FQuisVJXMnetUkjvi?= =?utf-8?q?VRF1YDF1FBsCRMPm/eJm+oMYnG+1RgbJNhEUetzdLMuKELxlZ5k5xuFQr+uoO8lvp?= =?utf-8?q?VK2x/KCNJwNwlsgK5Ps6x70p57i0SI9lsLHZ0PWf7lxDH+4w3jrIEkjqnl7C03WUK?= =?utf-8?q?hV90f1TSEKKJ7wLHqIdsl2KqASwPF57QUtP9RBXnXsEGrRjbs6uBzReGrX+LrHs1M?= =?utf-8?q?OgRCUrMRcaOrHrh8mATBXCDeqmzni2+9gazp2/ajBjIdiaeJTcHD8ZSdjBAWosZnQ?= =?utf-8?q?oHTV3CdhSTZrpUdGTbpTHyIXHlljZrJkeE/kBFHVWTV13Ghs4F7cvt3KCY/taIoxl?= =?utf-8?q?/ddB8IPvAuG3CURxrpZJBXmwHBzQqaOKGasL5Uw3mcOwRNNd4t7IU1Z0jwwxd/0mr?= =?utf-8?q?7Q6L3Ut4N1IpFGZvGTLfpU/ng1PHuCWOD799ewhhGWj6HyO2LkHjJXk2p6iCk6YwJ?= =?utf-8?q?yeA9j2dEeZPFPbqqbHRBRLuDwLwPLEw3pP6UYGG7gLSPS4lIo71Sz6ymScqU/j8qe?= =?utf-8?q?WximTrWry/AbkdvAlqxnvOFSHMxjhSi1fzbase+WRzEUoK92oJKPGNk6BJDRb5cKS?= =?utf-8?q?hOpX8Pt392SDFrosLICV8+IAKedTVa40niljfph95C196H7TBQ5RkU=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2025 16:46:30.5911 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 855552c7-ccfe-458b-1b4e-08dd4c4df79e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0001709C.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7117 Currently on AMD systems, MCA interrupt handler functions are set during CPU init. However, the functions only need to be set once for the whole system. Assign the handlers only during BSP init. Do so only for SMCA systems to maintain the old behavior for legacy systems. Signed-off-by: Yazen Ghannam --- Notes: Link: https://lore.kernel.org/r/20240604154635.GTZl8222q7WAEVSJKH@fat_crate.local v1->v2: * New in v2. arch/x86/kernel/cpu/mce/amd.c | 6 ++++++ arch/x86/kernel/cpu/mce/core.c | 3 +++ arch/x86/kernel/cpu/mce/internal.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c index a4ef4ff1a7ff..bf2b1dc5aaa9 100644 --- a/arch/x86/kernel/cpu/mce/amd.c +++ b/arch/x86/kernel/cpu/mce/amd.c @@ -687,6 +687,12 @@ void mce_amd_feature_init(struct cpuinfo_x86 *c) deferred_error_interrupt_enable(c); } +void mce_smca_cpu_init(void) +{ + mce_threshold_vector = amd_threshold_interrupt; + deferred_error_int_vector = amd_deferred_error_interrupt; +} + /* * DRAM ECC errors are reported in the Northbridge (bank 4) with * Extended Error Code 8. diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c index f13d3f7ca56e..402d7993eb96 100644 --- a/arch/x86/kernel/cpu/mce/core.c +++ b/arch/x86/kernel/cpu/mce/core.c @@ -2243,6 +2243,9 @@ void cpu_mca_init(struct cpuinfo_x86 *c) mce_flags.succor = cpu_feature_enabled(X86_FEATURE_SUCCOR); mce_flags.smca = cpu_feature_enabled(X86_FEATURE_SMCA); + if (mce_flags.smca) + mce_smca_cpu_init(); + rdmsrl(MSR_IA32_MCG_CAP, cap); /* Use accurate RIP reporting if available. */ diff --git a/arch/x86/kernel/cpu/mce/internal.h b/arch/x86/kernel/cpu/mce/internal.h index 231ba8ca4a3e..a4bae8c0cf4c 100644 --- a/arch/x86/kernel/cpu/mce/internal.h +++ b/arch/x86/kernel/cpu/mce/internal.h @@ -293,11 +293,13 @@ static __always_inline void smca_extract_err_addr(struct mce *m) m->addr &= GENMASK_ULL(55, lsb); } +void mce_smca_cpu_init(void); #else static inline void mce_threshold_create_device(unsigned int cpu) { } static inline bool amd_filter_mce(struct mce *m) { return false; } static inline bool amd_mce_usable_address(struct mce *m) { return false; } static inline void smca_extract_err_addr(struct mce *m) { } +static inline void mce_smca_cpu_init(void) {} #endif #ifdef CONFIG_X86_ANCIENT_MCE