lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ