From nobody Sat Feb 7 17:42:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BC2CE22A817 for ; Sat, 10 Jan 2026 13:48:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052925; cv=none; b=NRuUIcAzYxsGc44B5ozANHga5LASHsejpxmAtcS6uThU0/3d6kPK3IMihu6G8grm1S2YQmgEAuE3dB+3VLzgZxxOlULCyoGADswsHEHw+FI8h0VphOx/AjsZyBqxW5O113JgoZJmXRok0ONsLVygkJTl7SZm48Lejo43G3N4pmw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052925; c=relaxed/simple; bh=pgdDW7ireEglwKas2aLd68lH+FyAl9F3znhco8U5X7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jorp8FXcvJgrgh/xt+y58BIG4rpQKYoUq3VJ07b7a5D1tzZFTf9Q3XzwhwDPQtASkacNtfzKvdGop6NMYoO2CSiafMTcJAFWAW38AuVSBkA8uJz8OaBDT20O2oyCwi0Ddkw1gCDU3HFqUCmftKb5dHeQfpUNvOpZXgy+FfYeXCM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=S5Hp4u1Q; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="S5Hp4u1Q" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16B35C4CEF7; Sat, 10 Jan 2026 13:48:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768052925; bh=pgdDW7ireEglwKas2aLd68lH+FyAl9F3znhco8U5X7k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S5Hp4u1QOqJCwTIoplH/e20p07GnDMC4hGSHYmPmDOx55fGZUPe2+fWx0ao4NkGze CiOu6cjLrnMmEBkSmQHTsvZcs+W2ShDuwgUDTsVap9zDL1HPERiB0ZjMOZgkWEMMrH vZa0WrY+7c+HfX+E7t6HftM+Wpqq3A3r1mEfSuCJUv2XuZM6T0drFvkW1JE21dgGA3 pRmIaVF5q1r+5YzGe24SUfbcssZzBIOnrVy3ZbwAS7A8BcEiv2mQKslGYpSQdJ5F2f M7jstfsc36g9Op8PHjclRPNKu9h3k4CiXamaCLWdYme6mHQoFm3bAkQTmfwaP7SgCI lfe8CN+d6TRGg== From: "Mario Limonciello (AMD)" To: Yazen Ghannam , Jean Delvare Cc: linux-kernel@vger.kernel.org, Borislav Petkov , "Mario Limonciello (AMD)" Subject: [PATCH v3 1/5] firmware: dmi: Correct an indexing error in dmi.h Date: Sat, 10 Jan 2026 07:48:30 -0600 Message-ID: <20260110134835.1296600-2-superm1@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260110134835.1296600-1-superm1@kernel.org> References: <20260110134835.1296600-1-superm1@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The entries later in `enum dmi_entry_type` don't match the SMBIOS specification. The entry for type 33: `64-Bit Memory Error Information` is not present and thus the index for all later entries is incorrect. Add the missing type 33 entry. Fixes: 93c890dbe5287 ("firmware: Add DMI entry types to the headers") Link: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_= 3.4.0a.pdf Reviewed-by: Yazen Ghannam Signed-off-by: Mario Limonciello (AMD) --- v3: * Rename to DMI_ENTRY_64_MEM_ERROR (Jean) --- include/linux/dmi.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 927f8a8b7a1dd..32b2529a73301 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h @@ -60,6 +60,7 @@ enum dmi_entry_type { DMI_ENTRY_OOB_REMOTE_ACCESS, DMI_ENTRY_BIS_ENTRY, DMI_ENTRY_SYSTEM_BOOT, + DMI_ENTRY_64_MEM_ERROR, DMI_ENTRY_MGMT_DEV, DMI_ENTRY_MGMT_DEV_COMPONENT, DMI_ENTRY_MGMT_DEV_THRES, --=20 2.43.0 From nobody Sat Feb 7 17:42:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C24B2346787 for ; Sat, 10 Jan 2026 13:48:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052926; cv=none; b=h1a7ouQhXxtIs8znnN7rCJPz4WHEEwQB2s3gpXwP/XbOBq/08s7fq7AQ1lZpLEwJu8qFXtxx4143cuCwGAkvhsW5UdjvFcD51HEwnRSv++s9Uc2H3AUiRvB2qgQgxNQ5MqyfsEfSZgunuZyhSGmxW9qHrm+wSMSYfi09bYolArQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052926; c=relaxed/simple; bh=84Y6ThfIpAkKLwZ9CuqzVP+MukiAI1efPplzFkCqGRc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Dy9Itcuq+sFREjXKRNRaE6uitiY1zctP8AlTpEI70yK7i7yI3Al50VklNR4Uv2l+Cfg1haiWuN5d2/Qxi/CQMFq6pfd8QSRyt+1CnUD8f16aGEeF4Qm/Kv9U3SGccK/wB8QdNdEDcb9bg3sPG9nQCvWTt/J8HOwMayaZImod02c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mVNvU3HU; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mVNvU3HU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB655C19423; Sat, 10 Jan 2026 13:48:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768052926; bh=84Y6ThfIpAkKLwZ9CuqzVP+MukiAI1efPplzFkCqGRc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mVNvU3HUmGCtcVqqAMQDpJnM7L+w4SVK+NEbmVJP30WQNLyvx6/Dr5y7s8mYEzwn7 1+RBvkDDEtDwsOqqfaEzCxDk8OB07s8EBW8LyfBHUsm8bvjZUbWHnM4AEiTJK0UySG ckjUyhQS+jvjspkL739MIZnxSCnPyGuLcmWu55aEbY+3K/TV5OeDFeMfchkYWNSBkw auMJUVeaB5bixMlvpnXyQCThACrwncOpHTagmfAyTAh3/aAZ95mHtWYkP4ZHY82fkG Y8xJgYUBDlVaBfcIhp2izPr2+V92bww+2Skezd0jUTwGdF+QFgg3KcYFrpxrcRsgOD U6DCZDsLihI8Q== From: "Mario Limonciello (AMD)" To: Yazen Ghannam , Jean Delvare Cc: linux-kernel@vger.kernel.org, Borislav Petkov , "Mario Limonciello (AMD)" , Jean Delvare Subject: [PATCH v3 2/5] firmware: dmi: Adjust dmi_decode() to use enums Date: Sat, 10 Jan 2026 07:48:31 -0600 Message-ID: <20260110134835.1296600-3-superm1@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260110134835.1296600-1-superm1@kernel.org> References: <20260110134835.1296600-1-superm1@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" dmi_decode() has hardcoded values with comments for each DMI entry type. The same information is already in dmi.h though, so drop the comments and use the definitions instead. Reviewed-by: Jean Delvare Reviewed-by: Yazen Ghannam Signed-off-by: Mario Limonciello (AMD) --- v3: * pick up tag (Jean) --- drivers/firmware/dmi_scan.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 70d39adf50dca..80aded4c778bc 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -484,14 +484,14 @@ static void __init dmi_memdev_walk(void) static void __init dmi_decode(const struct dmi_header *dm, void *dummy) { switch (dm->type) { - case 0: /* BIOS Information */ + case DMI_ENTRY_BIOS: dmi_save_ident(dm, DMI_BIOS_VENDOR, 4); dmi_save_ident(dm, DMI_BIOS_VERSION, 5); dmi_save_ident(dm, DMI_BIOS_DATE, 8); dmi_save_release(dm, DMI_BIOS_RELEASE, 21); dmi_save_release(dm, DMI_EC_FIRMWARE_RELEASE, 23); break; - case 1: /* System Information */ + case DMI_ENTRY_SYSTEM: dmi_save_ident(dm, DMI_SYS_VENDOR, 4); dmi_save_ident(dm, DMI_PRODUCT_NAME, 5); dmi_save_ident(dm, DMI_PRODUCT_VERSION, 6); @@ -500,33 +500,33 @@ static void __init dmi_decode(const struct dmi_header= *dm, void *dummy) dmi_save_ident(dm, DMI_PRODUCT_SKU, 25); dmi_save_ident(dm, DMI_PRODUCT_FAMILY, 26); break; - case 2: /* Base Board Information */ + case DMI_ENTRY_BASEBOARD: dmi_save_ident(dm, DMI_BOARD_VENDOR, 4); dmi_save_ident(dm, DMI_BOARD_NAME, 5); dmi_save_ident(dm, DMI_BOARD_VERSION, 6); dmi_save_ident(dm, DMI_BOARD_SERIAL, 7); dmi_save_ident(dm, DMI_BOARD_ASSET_TAG, 8); break; - case 3: /* Chassis Information */ + case DMI_ENTRY_CHASSIS: dmi_save_ident(dm, DMI_CHASSIS_VENDOR, 4); dmi_save_type(dm, DMI_CHASSIS_TYPE, 5); dmi_save_ident(dm, DMI_CHASSIS_VERSION, 6); dmi_save_ident(dm, DMI_CHASSIS_SERIAL, 7); dmi_save_ident(dm, DMI_CHASSIS_ASSET_TAG, 8); break; - case 9: /* System Slots */ + case DMI_ENTRY_SYSTEM_SLOT: dmi_save_system_slot(dm); break; - case 10: /* Onboard Devices Information */ + case DMI_ENTRY_ONBOARD_DEVICE: dmi_save_devices(dm); break; - case 11: /* OEM Strings */ + case DMI_ENTRY_OEMSTRINGS: dmi_save_oem_strings_devices(dm); break; - case 38: /* IPMI Device Information */ + case DMI_ENTRY_IPMI_DEV: dmi_save_ipmi_device(dm); break; - case 41: /* Onboard Devices Extended Information */ + case DMI_ENTRY_ONBOARD_DEV_EXT: dmi_save_extended_devices(dm); } } --=20 2.43.0 From nobody Sat Feb 7 17:42:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 791603469F8 for ; Sat, 10 Jan 2026 13:48:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052927; cv=none; b=rNzyfuL3DrT8mQSJj5eCOtERo3pgFpKemrsgUhyHi0H7dGUVnhR9VhwmflrJe/iiYY+2EJrkc1ZDDs/fIeSbkdaWuDmZaHIJ804pNv1oeo92FJnS6I4yGLPqbpBBQmkAYtF88mb2qOQSOgfru5P12nJCxrktOuLLs72KCj1f/EA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052927; c=relaxed/simple; bh=HNkzaqWGymjjEIVLk6AMMQ61Bs2ErGPhK5uyyUf90kI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iYKAeZ1SViumViqckHQkvCcD0Z00p+Do4VnzmuDvnpYwk9RZV2CPnc6qMQ1bDAmyD+pQYiKK6+aySGl9va1yDHbN2y0ODYMfCx9aZisEjEAHqFYkxHSRs4G5Gts1o4h37JzprxDFjVyhBusw9hMJBMoAgjPkbY052CXt1KRsGkE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sCpY4Qlz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sCpY4Qlz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD505C4CEF7; Sat, 10 Jan 2026 13:48:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768052927; bh=HNkzaqWGymjjEIVLk6AMMQ61Bs2ErGPhK5uyyUf90kI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sCpY4Qlz6WQMegmuFmstL4FMH3rQ7m5RBXN/RB3Z+tzyJ75YQnsBdLNwYb4cNAYs4 wO0wGx6Bv0981UqtniXyzqUeOLFDC+gyd8p4uZNwcLwjkk1zOVMoyyUOtVkr50N/HR LaHLdynWcN3BLBtc/VzhA+vhCjEfbG+e6OLgiJyjYn5038GsprtNC2u9v/bpQWBU/H LPiBwDkGx3A3s/l+zN9TiNCMpbuQFD1A+Tbwy5v1C0IO1RksODAV1ift40QQuZ4gX5 sS8dmOP1Ud+RQqOwnkBfx27T9xy1kghuiEP4qAZaDJyc91HD4HNT2VL0MTv554OvOG 47ZWvk/EqyKtw== From: "Mario Limonciello (AMD)" To: Yazen Ghannam , Jean Delvare Cc: linux-kernel@vger.kernel.org, Borislav Petkov , "Mario Limonciello (AMD)" , Jean Delvare Subject: [PATCH v3 3/5] firmware: dmi: Add missing DMI entry types Date: Sat, 10 Jan 2026 07:48:32 -0600 Message-ID: <20260110134835.1296600-4-superm1@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260110134835.1296600-1-superm1@kernel.org> References: <20260110134835.1296600-1-superm1@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Type 42 through type 46 entry types are missing from the definitions in the dmi_entry_type enum. Link: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_= 3.7.1.pdf Suggested-by: Yazen Ghannam Reviewed-by: Jean Delvare Signed-off-by: Mario Limonciello (AMD) Reviewed-by: Yazen Ghannam --- v3: * Add tag (Jean) --- include/linux/dmi.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 32b2529a73301..2eedf44e68012 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h @@ -70,6 +70,10 @@ enum dmi_entry_type { DMI_ENTRY_ADDITIONAL, DMI_ENTRY_ONBOARD_DEV_EXT, DMI_ENTRY_MGMT_CONTROLLER_HOST, + DMI_ENTRY_TPM_DEVICE, + DMI_ENTRY_PROCESSOR_ADDITIONAL, + DMI_ENTRY_FIRMWARE_INVENTORY, + DMI_ENTRY_STRING_PROPERTY, DMI_ENTRY_INACTIVE =3D 126, DMI_ENTRY_END_OF_TABLE =3D 127, }; --=20 2.43.0 From nobody Sat Feb 7 17:42:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 7E6BD1DFD8B for ; Sat, 10 Jan 2026 13:48:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052930; cv=none; b=GCJaF9b75+6GywJ5LwnUyk14NWvgj6V3x77mNOQ1NZcfK8jtCHNSZ2Q8uuYw+VKbhiLpjKENIfBqEae/+C4lAEM+jJoDOf2ErKvlmpmIXQKDtav2/m2UidnEECOngKH6ZNGlZLn1AK9HIOReTchH7r8TK9MwN8ObZvospr7Y9sc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052930; c=relaxed/simple; bh=GboPW1xvv2fQS4NFbhfdGf19Y2LlJ/5z1tdL3C98iCI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BI754MJzqOkDJ+NUjgTMRuBNIY2oaca6HuaPjebPoScIGs9SU26ptVYhSRbNDItxQDySDxrPOBc21Vb+noMd676oohMA30dj+yMgPc6OAHGrgoEgfafxjPGcczoP7vs2JcFBqQxR2AxvuwhikTyz1ps//omCZUGHmL3HbEvW4oI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lX+hdj6R; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lX+hdj6R" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9CDCAC4CEF1; Sat, 10 Jan 2026 13:48:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768052928; bh=GboPW1xvv2fQS4NFbhfdGf19Y2LlJ/5z1tdL3C98iCI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lX+hdj6RCjCQXp3gavO47nHvFIlBXRT7dil+Ny3zx45VPf9JD06zv9zXkOscSwhnx emW+oG8l4Fa7w3PkxUFhoTEYY3MTVA427Zf8bK/wYjJ3Jeg/tUZDXerDo+BJcOiT6b hNKsJ7vT3saxshQpqabrjPNaI688YvqLs9hUVj7A2SJd9qJ5/uqknrrdsVOUnn2qPy /NspUjSoLPRV+RaDvfJKZfVVZmQkATrfiXmSFAMBoBYW11BbyKHDYpRbZ28ETVbIe1 uECb+qjr7/GQ7LE4Qt8bhz2Nv05j+D8itRVnoMz8cvZjiHD8OFKGAHYVkXlYx1wcVU H6zBaezH6RsMg== From: "Mario Limonciello (AMD)" To: Yazen Ghannam , Jean Delvare Cc: linux-kernel@vger.kernel.org, Borislav Petkov , Mario Limonciello Subject: [PATCH v3 4/5] firmware: dmi: Add pr_fmt() for dmi_scan.c Date: Sat, 10 Jan 2026 07:48:33 -0600 Message-ID: <20260110134835.1296600-5-superm1@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260110134835.1296600-1-superm1@kernel.org> References: <20260110134835.1296600-1-superm1@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mario Limonciello Several prints inconsistently use DMI: or dmi: or nothing. To make it clear which prints come from dmi_scan.c, add a pr_fmt macro. Signed-off-by: Mario Limonciello --- drivers/firmware/dmi_scan.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 80aded4c778bc..caa09ddf0dfa7 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -1,4 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only + +#define pr_fmt(fmt) "DMI: " fmt + #include #include #include @@ -634,7 +637,7 @@ static int __init dmi_present(const u8 *buf) dmi_ver >> 16, (dmi_ver >> 8) & 0xFF); } dmi_format_ids(dmi_ids_string, sizeof(dmi_ids_string)); - pr_info("DMI: %s\n", dmi_ids_string); + pr_info("%s\n", dmi_ids_string); return 0; } } @@ -663,7 +666,7 @@ static int __init dmi_smbios3_present(const u8 *buf) dmi_ver >> 16, (dmi_ver >> 8) & 0xFF, dmi_ver & 0xFF); dmi_format_ids(dmi_ids_string, sizeof(dmi_ids_string)); - pr_info("DMI: %s\n", dmi_ids_string); + pr_info("%s\n", dmi_ids_string); return 0; } } @@ -810,7 +813,7 @@ static int __init dmi_init(void) kobject_del(tables_kobj); kobject_put(tables_kobj); err: - pr_err("dmi: Firmware registration failed.\n"); + pr_err("Firmware registration failed.\n"); =20 return ret; } @@ -831,7 +834,7 @@ void __init dmi_setup(void) return; =20 dmi_memdev_walk(); - pr_info("DMI: Memory slots populated: %d/%d\n", + pr_info("Memory slots populated: %d/%d\n", dmi_memdev_populated_nr, dmi_memdev_nr); dump_stack_set_arch_desc("%s", dmi_ids_string); } --=20 2.43.0 From nobody Sat Feb 7 17:42:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 4D6852777F3 for ; Sat, 10 Jan 2026 13:48:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052935; cv=none; b=mhh2+41N3dhmF2CGgB29IIPL1Gyl3CXgsnkiaC11uTgsMitMiTjD+UUh1vTJKHNJqyMNjNAEyfIlGg3SamlqoMPSaz07nxjIGVXg1C7dGO0/tcM0O98EF1HZJvMx6/kSku5z4h5UiG69vAtClY8g6Y1L0G0BVSp2O4GxNHQAHEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768052935; c=relaxed/simple; bh=DoHviEjbcNLdaHAMUQrjfjLis0nz9xmH/J7b68liDes=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J/a1YBDXCeXytQpUo/Oh6j8ppugXfmP1jO5qiElFR9fLxviZ0ogLMkioLWsyASbJy+vk/qJ7v+AyQtmTaw+Hqn7AvwpTfKUiOVCm04alrtOl9zuiC1U7P2e5+ferjTJ7GTTkjROEGZFRZ43B6m9sTqupooOc+FEimOedqzQzgg4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YYMq3bW+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YYMq3bW+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68AC9C16AAE; Sat, 10 Jan 2026 13:48:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768052929; bh=DoHviEjbcNLdaHAMUQrjfjLis0nz9xmH/J7b68liDes=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YYMq3bW+dC0ER4zvMFrD2YnoVxx0SYuE/ZHiDYqmVWpiyd9v/soX1q/o23xXI8mN0 veOP42qzwQXgt332VznyKqiNGqFJhIyS2wTTW/epvFbiVMa3HVCD0/1Y7pu4rUEBnA ++rvcphYKYmX6gEb1NYHYhHH0U1IQYvCwZc7tjHXTWfTC66FBuWo1LCtlj9Ff9tJxH t2k9IywGDcZ6B/BIcJECM0ry8hyMQS8S6vuDRgbUTwYdRhuHgwaVe6qCef0yho0YQ1 0/080U49aSKV7TLhk1nD4WalvmK0oN/r3PGFzotA2wMTBIY5pK/UIdP3un1LbcP6xF HRFUSMlSJItWg== From: "Mario Limonciello (AMD)" To: Yazen Ghannam , Jean Delvare Cc: linux-kernel@vger.kernel.org, Borislav Petkov , "Mario Limonciello (AMD)" Subject: [PATCH v3 5/5] firmware: dmi: Read additional information when decoding DMI table Date: Sat, 10 Jan 2026 07:48:34 -0600 Message-ID: <20260110134835.1296600-6-superm1@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260110134835.1296600-1-superm1@kernel.org> References: <20260110134835.1296600-1-superm1@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Type 40 entries (Additional information) are summarized in section 7.41 as part of the SMBIOS specification. These entries aren't all interesting enough to save, but on some AMD Zen systems the AGESA version is stored here and can be useful to save into debugging logs for cross referencing issues when reported. Signed-off-by: Mario Limonciello (AMD) --- v3: * Merge patch to show AGESA version (Jean) * Don't save strings (Jean) * Avoid out of bounds (Jean) --- drivers/firmware/dmi_scan.c | 32 ++++++++++++++++++++++++++++++++ include/linux/dmi.h | 7 +++++++ 2 files changed, 39 insertions(+) diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index caa09ddf0dfa7..e1125d011d24b 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -396,6 +396,34 @@ static void __init dmi_save_dev_pciaddr(int instance, = int segment, int bus, list_add(&dev->dev.list, &dmi_devices); } =20 +static void __init dmi_scan_additional(const struct dmi_additional_info *i= nfo) +{ + const u8 *data; + int i; + + if (!info || info->header.length < 5) + return; + + data =3D info->entries; + + for (i =3D 0; i < info->count; i++) { + u8 string_num =3D data[i * 5 + 4]; + const char *string_ptr; + int len; + + string_ptr =3D dmi_string_nosave(&info->header, string_num); + if (!string_ptr || !*string_ptr) + continue; + + len =3D strlen(string_ptr); + if (len =3D=3D 0) + continue; + + if (!strncmp(string_ptr, "AGESA", 5)) + pr_info("%s\n", string_ptr); + } +} + static void __init dmi_save_extended_devices(const struct dmi_header *dm) { const char *name; @@ -529,8 +557,12 @@ static void __init dmi_decode(const struct dmi_header = *dm, void *dummy) case DMI_ENTRY_IPMI_DEV: dmi_save_ipmi_device(dm); break; + case DMI_ENTRY_ADDITIONAL: + dmi_scan_additional((const struct dmi_additional_info *)dm); + break; case DMI_ENTRY_ONBOARD_DEV_EXT: dmi_save_extended_devices(dm); + break; } } =20 diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 2eedf44e68012..4bb1b7882237f 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h @@ -24,6 +24,7 @@ enum dmi_device_type { DMI_DEV_TYPE_OEM_STRING =3D -2, DMI_DEV_TYPE_DEV_ONBOARD =3D -3, DMI_DEV_TYPE_DEV_SLOT =3D -4, + DMI_DEV_TYPE_ADDITIONAL =3D -5, }; =20 enum dmi_entry_type { @@ -91,6 +92,12 @@ struct dmi_device { void *device_data; /* Type specific data */ }; =20 +struct dmi_additional_info { + struct dmi_header header; + u8 count; + u8 entries[]; +} __packed; + #ifdef CONFIG_DMI =20 struct dmi_dev_onboard { --=20 2.43.0