Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2023 03:21:43 GMT
From:      "Stephen J. Kiernan" <stevek@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: b5c3ade7657a - main - libsa: Update comments about SMBIOS specification
Message-ID:  <202304180321.33I3LhxW024029@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by stevek:

URL: https://cgit.FreeBSD.org/src/commit/?id=b5c3ade7657a0ebb0c0f829d90919858a39dba94

commit b5c3ade7657a0ebb0c0f829d90919858a39dba94
Author:     Stephen J. Kiernan <stevek@FreeBSD.org>
AuthorDate: 2023-04-18 01:36:37 +0000
Commit:     Stephen J. Kiernan <stevek@FreeBSD.org>
CommitDate: 2023-04-18 03:21:04 +0000

    libsa: Update comments about SMBIOS specification
    
    Summary:
    Include details from the SMBIOS 3 specification and some additional
    details for SMBIOS 2.1.
    
    Obtained from:  Juniper Networks, Inc.
    
    Reviewers: jmg, manu
    
    Subscribers: imp, dab
    
    Differential Revision: https://reviews.freebsd.org/D39635
---
 stand/libsa/smbios.c | 47 +++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 41 insertions(+), 6 deletions(-)

diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c
index 1bb78faa3b01..257aa15bd5f5 100644
--- a/stand/libsa/smbios.c
+++ b/stand/libsa/smbios.c
@@ -43,16 +43,51 @@ __FBSDID("$FreeBSD$");
  *
  * System Management BIOS Reference Specification, v2.6 Final
  * http://www.dmtf.org/standards/published_documents/DSP0134_2.6.0.pdf
+ *
+ * System Management BIOS (SMBIOS) Reference Specification, 3.6.0
+ * https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf
  */
 
 /*
- * 2.1.1 SMBIOS Structure Table Entry Point
+ * The first quoted paragraph below can also be found in section 2.1.1 SMBIOS
+ * Structure Table Entry Point of System Management BIOS Reference
+ * Specification, v2.6 Final
+ *
+ * (From System Management BIOS (SMBIOS) Reference Specification, 3.6.0)
+ * 5.2.1 SMBIOS 2.1 (32-bit) Entry Point
+ *
+ * "On non-UEFI systems, the 32-bit SMBIOS Entry Point structure, can be
+ * located by application software by searching for the anchor-string on
+ * paragraph (16-byte) boundaries within the physical memory address
+ * range 000F0000h to 000FFFFFh. This entry point encapsulates an intermediate
+ * anchor string that is used by some existing DMI browsers.
+ *
+ * On UEFI-based systems, the SMBIOS Entry Point structure can be located by
+ * looking in the EFI Configuration Table for the SMBIOS GUID
+ * (SMBIOS_TABLE_GUID, {EB9D2D31-2D88-11D3-9A16-0090273FC14D}) and using the
+ * associated pointer. See section 4.6 of the UEFI Specification for details.
+ * See section 2.3 of the UEFI Specification for how to report the containing
+ * memory type.
+ *
+ * NOTE While the SMBIOS Major and Minor Versions (offsets 06h and 07h)
+ * currently duplicate the information that is present in the SMBIOS BCD
+ * Revision (offset 1Eh), they provide a path for future growth in this
+ * specification. The BCD Revision, for example, provides only a single digit
+ * for each of the major and minor version numbers."
+ *
+ * 5.2.2 SMBIOS 860 3.0 (64-bit) Entry Point
+ *
+ * "On non-UEFI systems, the 64-bit SMBIOS Entry Point structure can be located
+ * by application software by searching for the anchor-string on paragraph
+ * (16-byte) boundaries within the physical memory address range 000F0000h to
+ * 000FFFFFh.
  *
- * "On non-EFI systems, the SMBIOS Entry Point structure, described below, can
- * be located by application software by searching for the anchor-string on
- * paragraph (16-byte) boundaries within the physical memory address range
- * 000F0000h to 000FFFFFh. This entry point encapsulates an intermediate anchor
- * string that is used by some existing DMI browsers."
+ * On UEFI-based systems, the SMBIOS Entry Point structure can be located by
+ * looking in the EFI Configuration Table for the SMBIOS 3.x GUID
+ * (SMBIOS3_TABLE_GUID, {F2FD1544-9794-4A2C-992E-E5BBCF20E394}) and using the
+ * associated pointer. See section 4.6 of the UEFI Specification for details.
+ * See section 2.3 of the UEFI Specification for how to report the containing
+ * memory type."
  */
 #define	SMBIOS_START		0xf0000
 #define	SMBIOS_LENGTH		0x10000



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304180321.33I3LhxW024029>