[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251214185309.152614-6-superm1@kernel.org>
Date: Sun, 14 Dec 2025 12:53:09 -0600
From: "Mario Limonciello (AMD)" <superm1@...nel.org>
To: Yazen Ghannam <yazen.ghannam@....com>,
x86@...nel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
Jean Delvare <jdelvare@...e.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H . Peter Anvin" <hpa@...or.com>,
linux-kernel@...r.kernel.org,
"Mario Limonciello (AMD)" <superm1@...nel.org>
Subject: [PATCH 5/5] x86/amd_node: Output the AGESA version to the logs
On AMD Zen platforms that are running AGESA, there is sometimes
DMI additional string for the AGESA version that can be helpful when
debugging an issue. If this string is found output to kernel logs.
Signed-off-by: Mario Limonciello (AMD) <superm1@...nel.org>
---
This is not strictly AMD node related; it was a proxy for a good location
for the message late enough on boot and only run on AMD Zen machines.
I'm open to other suggestions.
arch/x86/Kconfig | 1 +
arch/x86/kernel/amd_node.c | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 80527299f859a..eae139a91fb84 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -3116,6 +3116,7 @@ config AMD_NB
config AMD_NODE
def_bool y
depends on CPU_SUP_AMD && PCI
+ select DMI
endmenu
diff --git a/arch/x86/kernel/amd_node.c b/arch/x86/kernel/amd_node.c
index 3d0a4768d603c..575d727c5827e 100644
--- a/arch/x86/kernel/amd_node.c
+++ b/arch/x86/kernel/amd_node.c
@@ -9,6 +9,7 @@
*/
#include <linux/debugfs.h>
+#include <linux/dmi.h>
#include <asm/amd/node.h>
/*
@@ -247,6 +248,7 @@ __setup("amd_smn_debugfs_enable", amd_smn_enable_dfs);
static int __init amd_smn_init(void)
{
u16 count, num_roots, roots_per_node, node, num_nodes;
+ const struct dmi_device *dev = NULL;
struct pci_dev *root;
if (!cpu_feature_enabled(X86_FEATURE_ZEN))
@@ -310,6 +312,12 @@ static int __init amd_smn_init(void)
smn_exclusive = true;
+ while ((dev = dmi_find_device(DMI_DEV_TYPE_ADDITIONAL, NULL, dev)))
+ if (!strncmp(dev->name, "AGESA", 5)) {
+ pr_info("%s\n", dev->name);
+ break;
+ }
+
return 0;
}
--
2.43.0
Powered by blists - more mailing lists