From patchwork Tue May 7 19:02:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Fabio M. De Francesco" X-Patchwork-Id: 13657633 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.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 BCF3414E2EF; Tue, 7 May 2024 19:07:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108864; cv=none; b=QFA9syuJNMCdTn2A/dA0YMbgMQXdONUouEvf1/3R0BqnepmSA7FeqTFWwB3z28JeADR0sRppTdvbJQUrQcNg/a+IChVm5z2u7m/FSwl+JVjiBsAuLYFpaKbcfYKyt+wlhyuHopvC/kB+WxccEY5s1QsZ/IaqmPdNHUMojwLF8vM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108864; c=relaxed/simple; bh=TexMWZHQ26C//ctAHxaVIeIDYvtnMtzZSIGXCtmoJns=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PzfpWJRvhl68+P8MJifXvyjvkmJx/cdJpYUevv9GbbrRHz4M/RPkWG0dp+pSleciHHxR0mHMyEpCi2zd1gIxI9pOLO0GuBYKwCIh3TAH/QABVIvaOQhB1aP0y8yJfQTgGBPE+zwT088T8xk5AdhBXnVzt6NlDli4GEGLiSXrCe0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WYz2M5R2; arc=none smtp.client-ip=192.198.163.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WYz2M5R2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715108862; x=1746644862; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=TexMWZHQ26C//ctAHxaVIeIDYvtnMtzZSIGXCtmoJns=; b=WYz2M5R2g2d3t/xWeJfXP9cw408I677/1/KSDYe7azyoH+N3D0FlfKUI 5RfuePRoRQ2nDzJUJ2aJIZEpBl9Py737msuKkZEuoQ/4Gx2zgJQTm8w2M gv2tjiGjD/ZfNkhq7SsHOPrCFvkJrIeWmKbqFEX6uC04z3GeY/Z8+lLhG pcDiQcC1DFtC4OA3C4ONHoRf5pts41S7ggxSb9hCoIskxpgmYkKXPt+y4 nMF9D56W88OjXA8AxH45sYcA4Yh2gswwMam77lBYd9SLK1IRWsP9P6PcD lV1sqhwc8eI9xmB4tDn/y6ykWr1MKD3LZJUGMVHw/UMxnb5XIMsXykPCf A==; X-CSE-ConnectionGUID: pSn9ThY5THW5wYz3jvmWJA== X-CSE-MsgGUID: xmYZpf3ERR6EN70KhOD0MQ== X-IronPort-AV: E=McAfee;i="6600,9927,11066"; a="11087458" X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="11087458" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:42 -0700 X-CSE-ConnectionGUID: 1g+rVmrNSDehNo9hLKvaGw== X-CSE-MsgGUID: c/eTo/CZRpmFkp6WOhsPrQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="28682092" Received: from fdefranc-mobl3.ger.corp.intel.com (HELO localhost.localdomain) ([10.245.246.52]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:40 -0700 From: "Fabio M. De Francesco" To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Dan Williams , "Fabio M . De Francesco" Subject: [RFC PATCH 1/3] ACPI: extlog: Trace CPER Non-standard Section Body Date: Tue, 7 May 2024 21:02:20 +0200 Message-ID: <20240507190724.323269-2-fabio.m.de.francesco@linux.intel.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> References: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> Precedence: bulk X-Mailing-List: linux-acpi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Make extlog_print() (ELOG) trace "Non-standard Section Body" reported by firmware to the OS via Common Platform Error Record (CPER) (UEFI v2.10 Appendix N 2.3). This adds further debug information and makes ELOG logs consistent with ghes_do_proc() (GHES). Cc: Dan Williams Signed-off-by: Fabio M. De Francesco --- drivers/acpi/acpi_extlog.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c index ca87a0939135..4e62d7235d33 100644 --- a/drivers/acpi/acpi_extlog.c +++ b/drivers/acpi/acpi_extlog.c @@ -182,6 +182,12 @@ static int extlog_print(struct notifier_block *nb, unsigned long val, if (gdata->error_data_length >= sizeof(*mem)) trace_extlog_mem_event(mem, err_seq, fru_id, fru_text, (u8)gdata->error_severity); + } else { + void *err = acpi_hest_get_payload(gdata); + + trace_non_standard_event(sec_type, fru_id, fru_text, + gdata->error_severity, err, + gdata->error_data_length); } } From patchwork Tue May 7 19:02:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Fabio M. De Francesco" X-Patchwork-Id: 13657634 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.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 457E216EBE0; Tue, 7 May 2024 19:07:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108866; cv=none; b=fwM35R0elwrJGAOFIumRcF/gMon+MP2NVKlwPBCjeO8ReGoqaWjESI9leVMuQhKbHgV9sm527EGkXxR34ngn52U124JJ067IpgSiSENbfr9X3qdhJnZW678CMg1fAqPz14ao38Jj+QKEBmFpWketZ8opEzvJUOwqMRVmGDBXVSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108866; c=relaxed/simple; bh=PQ/gSxurBgyu06eRHs/rJNYqfbmMMka7kznfXnJ8i80=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p4AK7kbckTEsF+Q7grQ8OuOqVA3YsfqQKHI+j2KXCxXCGGB3rTQi3hvfvz24+Y2WgtSd1DXYpzN58a4svLF81ymmmz90zl6AuXgYiIcsc8EEZAM5mcWLjkabeP3pFy8ghRpwi3+okR+5q43yQ7AecGji9cMLD4wgjOfn+k5ephM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=SJN/ED4a; arc=none smtp.client-ip=192.198.163.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="SJN/ED4a" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715108865; x=1746644865; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=PQ/gSxurBgyu06eRHs/rJNYqfbmMMka7kznfXnJ8i80=; b=SJN/ED4a577o39Xt2qHF6QbwW5QPVan/+8pGRkkj7bCL2cHENNfzjn1T iUPzLm1N3VjsrqKkWlCQltovOwXaKw7+Mf3scVxBEK7CR/oB5q/TMNxxc 5f/I8gqk15ajSKNsZOMUGGb3hi9+O/ligirDjF1ax1lxlB6ibkuWspDvl BxeRE/XxN0LP8N2ufaRPEGnslyrJRLpeQF04NQnmh2u9kBM2IoLCYUOi/ ozERqImsOsORTqDGTGxcEY89cSr7SrpednzubAaTonejm3E95ppt+ThFI gCq9MzznE6GbREa6ARdxvG2M+6DKYiz0GrxpPw7DWYOzZL2KvBSE4R0m4 A==; X-CSE-ConnectionGUID: 1uynUcSCRZG6O6dfrEfBdw== X-CSE-MsgGUID: NpFiuvuIS4O6fKit5thhOQ== X-IronPort-AV: E=McAfee;i="6600,9927,11066"; a="11087464" X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="11087464" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:45 -0700 X-CSE-ConnectionGUID: 3ABlObkuTMqhTFca2u6xbg== X-CSE-MsgGUID: 6TaLySOVS5iY1Li6/VfYng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="28682096" Received: from fdefranc-mobl3.ger.corp.intel.com (HELO localhost.localdomain) ([10.245.246.52]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:43 -0700 From: "Fabio M. De Francesco" To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Dan Williams , "Fabio M . De Francesco" Subject: [RFC PATCH 2/3] ACPI: extlog: Trace PCI Express Error Section Date: Tue, 7 May 2024 21:02:21 +0200 Message-ID: <20240507190724.323269-3-fabio.m.de.francesco@linux.intel.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> References: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> Precedence: bulk X-Mailing-List: linux-acpi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Currently, extlog_print() (ELOG) only reports CPER PCIe section (UEFI v2.10, Appendix N.2.7) to the kernel log via print_extlog_rcd(). Instead, the similar ghes_do_proc() (GHES) prints to kernel log and calls pci_print_aer() to report via the ftrace infrastructure. Add support to report the CPER PCIe Error section also via the ftrace infrastructure by calling pci_print_aer() to make ELOG act consistently with GHES. Cc: Dan Williams Signed-off-by: Fabio M. De Francesco --- drivers/acpi/acpi_extlog.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c index 4e62d7235d33..c167e391ba43 100644 --- a/drivers/acpi/acpi_extlog.c +++ b/drivers/acpi/acpi_extlog.c @@ -131,6 +131,32 @@ static int print_extlog_rcd(const char *pfx, return 1; } +static void extlog_print_pcie(struct cper_sec_pcie *pcie_err, + int aer_severity) +{ + struct aer_capability_regs *aer; + struct pci_dev *pdev; + unsigned int devfn; + unsigned int bus; + int domain; + + if (pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID && + pcie_err->validation_bits & CPER_PCIE_VALID_AER_INFO) { + aer = (struct aer_capability_regs *)pcie_err->aer_info; + domain = pcie_err->device_id.segment; + bus = pcie_err->device_id.bus; + devfn = PCI_DEVFN(pcie_err->device_id.device, + pcie_err->device_id.function); + pdev = pci_get_domain_bus_and_slot(domain, bus, devfn); + if (!pdev) { + pr_err("no pci_dev for %04x:%02x:%02x.%x\n", + domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); + return; + } + pci_print_aer(pdev, aer_severity, aer); + } +} + static int extlog_print(struct notifier_block *nb, unsigned long val, void *data) { @@ -182,6 +208,11 @@ static int extlog_print(struct notifier_block *nb, unsigned long val, if (gdata->error_data_length >= sizeof(*mem)) trace_extlog_mem_event(mem, err_seq, fru_id, fru_text, (u8)gdata->error_severity); + } else if (guid_equal(sec_type, &CPER_SEC_PCIE)) { + struct cper_sec_pcie *pcie_err = acpi_hest_get_payload(gdata); + int aer_severity = cper_severity_to_aer(gdata->error_severity); + + extlog_print_pcie(pcie_err, aer_severity); } else { void *err = acpi_hest_get_payload(gdata); @@ -331,3 +362,4 @@ module_exit(extlog_exit); MODULE_AUTHOR("Chen, Gong "); MODULE_DESCRIPTION("Extended MCA Error Log Driver"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(CXL); From patchwork Tue May 7 19:02:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Fabio M. De Francesco" X-Patchwork-Id: 13657635 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.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 6A83616EC18; Tue, 7 May 2024 19:07:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108868; cv=none; b=myiPZEETKAIVgaCKxpM79eM8S3Wogz6T848GaZUYYJacmG1gI/q0Yqa4XLCjBL4vhyHsbazDE2LaujvRjZa1J7iPr/0LCX11/1p3GHbF6y2b9Y8tuGmQ81TasbNC6z4Yc773AMxwoOTCvz5xCMJ88VNYjELqLO433GncStnZXCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715108868; c=relaxed/simple; bh=waLCspmlg8j9NTDYt1T+THr2DrqmxLmYPqVHAIrBI9U=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nkzWOwdRHCczc7glW/i21fYXuT5f9a8cmMMrwjVlmarm3B1ZTJVGr0dCAxAAaZpd/HcfpTtwM4bDfR07r+n0CsneELFmYZvCpHC0eeaSA4z/Mg7puEP8qLygWqbn4pZkyt6kEmaWIB3Kscq9oTdqRBNx2i9vhbxAZDvt4xfXT5o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Mr86xFKX; arc=none smtp.client-ip=192.198.163.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Mr86xFKX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715108867; x=1746644867; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=waLCspmlg8j9NTDYt1T+THr2DrqmxLmYPqVHAIrBI9U=; b=Mr86xFKXpVM/VLtgCeUq++mndLdNV6Kmnag+wbvUqCqEqug1ruEdGdAS ePp2SIadlNC8zgFpJuyLE1tFGvwj8DL4dvtRPtI1vKH8gU+j4IXTTUKSU 2aykqHsr/pUZstVh5cIdiWkOcl5aJbx9m7N1twpUpn2dpD/NEMAgpqPt2 hQ55bqFtNWV6raDMDHxOxQ0yY1K8RHcLFV5skP1YWPW/LLMVpyMeBMiJW UV9b16J8UF0lEh4J9+IzkkHhbxx3gfpCu76taivJhEAF/M0jBYJts8r4M MksbmvAoa6uyWHF38BEw8CgWjWfyK+NxNoCziXkeLF7jE4sVkT5ZrLTtt A==; X-CSE-ConnectionGUID: HDkV8y1FTxyqrAGoZf1/vg== X-CSE-MsgGUID: wZPIpfE8QVKl0wxZ3/0dsg== X-IronPort-AV: E=McAfee;i="6600,9927,11066"; a="11087471" X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="11087471" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:47 -0700 X-CSE-ConnectionGUID: IkH+ULFaTsmsOFJSl5JxuQ== X-CSE-MsgGUID: JlmXhDtLTROfPDazgTOrvA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,143,1712646000"; d="scan'208";a="28682099" Received: from fdefranc-mobl3.ger.corp.intel.com (HELO localhost.localdomain) ([10.245.246.52]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 12:07:45 -0700 From: "Fabio M. De Francesco" To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Dan Williams , "Fabio M . De Francesco" Subject: [RFC PATCH 3/3] ACPI: extlog: Make print_extlog_rcd() log unconditionally Date: Tue, 7 May 2024 21:02:22 +0200 Message-ID: <20240507190724.323269-4-fabio.m.de.francesco@linux.intel.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> References: <20240507190724.323269-1-fabio.m.de.francesco@linux.intel.com> Precedence: bulk X-Mailing-List: linux-acpi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Make extlog_print_rcd() log unconditionally to report errors even if userspace is not consuming trace events. Remove ras_userspace_consumers() because it is not anymore used. This change makes extlog_print() (ELOG) to act consistently to ghes_proc() (GHES). Cc: Dan Williams Signed-off-by: Fabio M. De Francesco --- drivers/acpi/acpi_extlog.c | 6 +----- drivers/ras/debugfs.c | 6 ------ include/linux/ras.h | 2 -- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c index c167e391ba43..7bb1204080ef 100644 --- a/drivers/acpi/acpi_extlog.c +++ b/drivers/acpi/acpi_extlog.c @@ -185,10 +185,7 @@ static int extlog_print(struct notifier_block *nb, unsigned long val, tmp = (struct acpi_hest_generic_status *)elog_buf; - if (!ras_userspace_consumers()) { - print_extlog_rcd(NULL, tmp, cpu); - goto out; - } + print_extlog_rcd(NULL, tmp, cpu); /* log event via trace */ err_seq++; @@ -222,7 +219,6 @@ static int extlog_print(struct notifier_block *nb, unsigned long val, } } -out: mce->kflags |= MCE_HANDLED_EXTLOG; return NOTIFY_OK; } diff --git a/drivers/ras/debugfs.c b/drivers/ras/debugfs.c index 42afd3de68b2..6633844acdd6 100644 --- a/drivers/ras/debugfs.c +++ b/drivers/ras/debugfs.c @@ -13,12 +13,6 @@ struct dentry *ras_get_debugfs_root(void) } EXPORT_SYMBOL_GPL(ras_get_debugfs_root); -int ras_userspace_consumers(void) -{ - return atomic_read(&trace_count); -} -EXPORT_SYMBOL_GPL(ras_userspace_consumers); - static int trace_show(struct seq_file *m, void *v) { return 0; diff --git a/include/linux/ras.h b/include/linux/ras.h index a64182bc72ad..98840f16b697 100644 --- a/include/linux/ras.h +++ b/include/linux/ras.h @@ -7,11 +7,9 @@ #include #ifdef CONFIG_DEBUG_FS -int ras_userspace_consumers(void); void ras_debugfs_init(void); int ras_add_daemon_trace(void); #else -static inline int ras_userspace_consumers(void) { return 0; } static inline void ras_debugfs_init(void) { } static inline int ras_add_daemon_trace(void) { return 0; } #endif