[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251215212338.GC355290@yaz-khff2.amd.com>
Date: Mon, 15 Dec 2025 16:23:38 -0500
From: Yazen Ghannam <yazen.ghannam@....com>
To: "Mario Limonciello (AMD)" <superm1@...nel.org>
Cc: "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
Jean Delvare <jdelvare@...e.com>,
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
Subject: Re: [PATCH 5/5] x86/amd_node: Output the AGESA version to the logs
On Sun, Dec 14, 2025 at 12:53:09PM -0600, Mario Limonciello (AMD) wrote:
> 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.
Maybe do like print_s5_reset_status_mmio() with a late_initcall()?
We could have an amd_zen_late_initcall() function in
arch/x86/kernel/cpu/amd.c that collects appropriate functions.
We have two now:
- print_s5_reset_status_mmio()
- print_agesa_dmi_info()
Thanks,
Yazen
> 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