smbios.c (13597be965b7bcc7ff2c3c0bc240f3e0acc255cf) smbios.c (b5c3ade7657a0ebb0c0f829d90919858a39dba94)
1/*-
2 * Copyright (c) 2005-2009 Jung-uk Kim <jkim@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 29 unchanged lines hidden (view full) ---

38#endif
39
40/*
41 * Detect SMBIOS and export information about the SMBIOS into the
42 * environment.
43 *
44 * System Management BIOS Reference Specification, v2.6 Final
45 * http://www.dmtf.org/standards/published_documents/DSP0134_2.6.0.pdf
1/*-
2 * Copyright (c) 2005-2009 Jung-uk Kim <jkim@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 29 unchanged lines hidden (view full) ---

38#endif
39
40/*
41 * Detect SMBIOS and export information about the SMBIOS into the
42 * environment.
43 *
44 * System Management BIOS Reference Specification, v2.6 Final
45 * http://www.dmtf.org/standards/published_documents/DSP0134_2.6.0.pdf
46 *
47 * System Management BIOS (SMBIOS) Reference Specification, 3.6.0
48 * https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf
46 */
47
48/*
49 */
50
51/*
49 * 2.1.1 SMBIOS Structure Table Entry Point
52 * The first quoted paragraph below can also be found in section 2.1.1 SMBIOS
53 * Structure Table Entry Point of System Management BIOS Reference
54 * Specification, v2.6 Final
50 *
55 *
51 * "On non-EFI systems, the SMBIOS Entry Point structure, described below, can
52 * be located by application software by searching for the anchor-string on
53 * paragraph (16-byte) boundaries within the physical memory address range
54 * 000F0000h to 000FFFFFh. This entry point encapsulates an intermediate anchor
55 * string that is used by some existing DMI browsers."
56 * (From System Management BIOS (SMBIOS) Reference Specification, 3.6.0)
57 * 5.2.1 SMBIOS 2.1 (32-bit) Entry Point
58 *
59 * "On non-UEFI systems, the 32-bit SMBIOS Entry Point structure, can be
60 * located by application software by searching for the anchor-string on
61 * paragraph (16-byte) boundaries within the physical memory address
62 * range 000F0000h to 000FFFFFh. This entry point encapsulates an intermediate
63 * anchor string that is used by some existing DMI browsers.
64 *
65 * On UEFI-based systems, the SMBIOS Entry Point structure can be located by
66 * looking in the EFI Configuration Table for the SMBIOS GUID
67 * (SMBIOS_TABLE_GUID, {EB9D2D31-2D88-11D3-9A16-0090273FC14D}) and using the
68 * associated pointer. See section 4.6 of the UEFI Specification for details.
69 * See section 2.3 of the UEFI Specification for how to report the containing
70 * memory type.
71 *
72 * NOTE While the SMBIOS Major and Minor Versions (offsets 06h and 07h)
73 * currently duplicate the information that is present in the SMBIOS BCD
74 * Revision (offset 1Eh), they provide a path for future growth in this
75 * specification. The BCD Revision, for example, provides only a single digit
76 * for each of the major and minor version numbers."
77 *
78 * 5.2.2 SMBIOS 860 3.0 (64-bit) Entry Point
79 *
80 * "On non-UEFI systems, the 64-bit SMBIOS Entry Point structure can be located
81 * by application software by searching for the anchor-string on paragraph
82 * (16-byte) boundaries within the physical memory address range 000F0000h to
83 * 000FFFFFh.
84 *
85 * On UEFI-based systems, the SMBIOS Entry Point structure can be located by
86 * looking in the EFI Configuration Table for the SMBIOS 3.x GUID
87 * (SMBIOS3_TABLE_GUID, {F2FD1544-9794-4A2C-992E-E5BBCF20E394}) and using the
88 * associated pointer. See section 4.6 of the UEFI Specification for details.
89 * See section 2.3 of the UEFI Specification for how to report the containing
90 * memory type."
56 */
57#define SMBIOS_START 0xf0000
58#define SMBIOS_LENGTH 0x10000
59#define SMBIOS_STEP 0x10
60#define SMBIOS_SIG "_SM_"
61#define SMBIOS3_SIG "_SM3_"
62#define SMBIOS_DMI_SIG "_DMI_"
63

--- 516 unchanged lines hidden ---
91 */
92#define SMBIOS_START 0xf0000
93#define SMBIOS_LENGTH 0x10000
94#define SMBIOS_STEP 0x10
95#define SMBIOS_SIG "_SM_"
96#define SMBIOS3_SIG "_SM3_"
97#define SMBIOS_DMI_SIG "_DMI_"
98

--- 516 unchanged lines hidden ---