[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <65cfc33d-cd8e-41d1-82b7-58a4fcb01207@kernel.org>
Date: Mon, 15 Dec 2025 15:25:31 -0600
From: Mario Limonciello <superm1@...nel.org>
To: Yazen Ghannam <yazen.ghannam@....com>
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 12/15/25 3:23 PM, Yazen Ghannam wrote:
> 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()
Good idea, that is a more logical location. Lemme try it out.
>
> 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