#
5af42bbf |
| 11-Feb-2025 |
Prithvi Pai <ppai@nvidia.com> |
smbios-mdr: Add TPM Device Information
Type 43 of SMBIOS records defines the data structure to expose TPM Device information. Add patch which displays the TPM Device information on dbus. Introduced
smbios-mdr: Add TPM Device Information
Type 43 of SMBIOS records defines the data structure to expose TPM Device information. Add patch which displays the TPM Device information on dbus. Introduced `TPM_DBUS` meson option which will be disabled by default When enabled, the TPM information is populated on DBUS.
Tested:
TPM information is available under dbus tree of smbios-mdr ``` :~# busctl tree xyz.openbmc_project.Smbios.MDR_V2 `- /xyz `- /xyz/openbmc_project |- /xyz/openbmc_project/Smbios | `- /xyz/openbmc_project/Smbios/MDR_V2 |- /xyz/openbmc_project/inventory | `- /xyz/openbmc_project/inventory/system | `- /xyz/openbmc_project/inventory/system/chassis | |- /xyz/openbmc_project/inventory/system/chassis/motherboard/bios | `- /xyz/openbmc_project/inventory/system/chassis/motherboard/tpm ```
Change-Id: Icd42f4f043bf5a970f4829e5d318568360fe4b59 Signed-off-by: Prithvi Pai <ppai@nvidia.com>
show more ...
|
#
669e4c3c |
| 20-Jan-2025 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Add SMBIOS version 3.8 to supported version list
Added latest SMBIOS release version v3.8 (which is backward compatible) to supported version list, without introducing new v3.8 structures.
Tested:
Add SMBIOS version 3.8 to supported version list
Added latest SMBIOS release version v3.8 (which is backward compatible) to supported version list, without introducing new v3.8 structures.
Tested: SMBIOS table on test system sending SMBIOS in v3.8 properly exposed on D-Bus
Signed-off-by: Jan Sowinski <jan.sowinski@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I9910c8f8c12f1ee1380ff4c5e9c67687189da5d9
show more ...
|
#
8049822c |
| 02-Dec-2024 |
Quang Nguyen <quangnguyen@os.amperecomputing.com> |
Enable support for SMBIOS version 3.7
Currently, SMBIOS-MDR supports up to version 3.5, and the changes introduced in versions 3.6 and 3.7 are largely supported as well. Therefore, enable the suppor
Enable support for SMBIOS version 3.7
Currently, SMBIOS-MDR supports up to version 3.5, and the changes introduced in versions 3.6 and 3.7 are largely supported as well. Therefore, enable the supported version to 3.7.
Tested: The implementation was verified using EDK2, which supports SMBIOS version 3.7, ensuring that all SMBIOS data is correctly populated on D-Bus.
Change-Id: I61d3667d6ecf5635750022153ab30a54530ef2d3 Signed-off-by: Quang Nguyen <quangnguyen@os.amperecomputing.com>
show more ...
|
#
7a2cf16c |
| 12-Nov-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Enable support for SMBIOS version 3.0
SMBIOS 3.2 is essentially a superset of SMBIOS 3.0. The changes from SMBIOS 3.0 to 3.2 added new structures and fields to accommodate more recent hardware featu
Enable support for SMBIOS version 3.0
SMBIOS 3.2 is essentially a superset of SMBIOS 3.0. The changes from SMBIOS 3.0 to 3.2 added new structures and fields to accommodate more recent hardware features and capabilities, but they did not remove or fundamentally alter any pre-existing structures from 3.0. This means that:
- SMBIOS 3.2 remains backward-compatible with SMBIOS 3.0. Any software or system expecting information from SMBIOS 3.0 should still be able to interpret the data in SMBIOS 3.2 without issues.
Since we already support 3.2, its safe to assume that the code can also parse the smbios table version 3.0 without any issues. Hence adding 3.0 in the list of supported versions.
Tested By: Tested this change by sending the SMBIOS 3.0 tables from coreboot to BMC via IPMI, and the smbios app seems to parse the data successfully and host the dbus objects of CPU's and DIMM's.
Change-Id: I2af595ed49b7c697abb6d19331470ad17e060836 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
06eb6300 |
| 15-Feb-2024 |
Josh Lehan <krellan@google.com> |
Enable support for SMBIOS version 3.4
As the currently supported 3.5 standard is a superset of 3.4, according to a glance at the https://www.dmtf.org/standards/smbios spec, enabling support for 3.4
Enable support for SMBIOS version 3.4
As the currently supported 3.5 standard is a superset of 3.4, according to a glance at the https://www.dmtf.org/standards/smbios spec, enabling support for 3.4 should be as straightforward as simply adding it to this allowlist of supported versions.
This change is inspired by the proposed https://github.com/openbmc/smbios-mdr/issues/6 which suggests a similar change for 3.1 version. The only reason I am not adding 3.1 at the same time here, is that I only have a 3.4 SMBIOS in the machine I am testing now.
Tested: The SMBIOS from my host is no longer needlessly rejected for being of 3.4 version.
Change-Id: I29bcb872377c87088b2ed4fc0ec90a03d89c15d8 Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
#
d8dd1208 |
| 08-Aug-2023 |
Yaswanth Reddy M <yaswanthx.reddy.munukuru@intel.com> |
Increase timeout to 2-sec for syncing SMBIOS data
MDRv2 (Send Data Set Done) command, sent from bios to BMC is taking more time in some cases. The timeout should be 2 sec instead of 0.02 sec.
Teste
Increase timeout to 2-sec for syncing SMBIOS data
MDRv2 (Send Data Set Done) command, sent from bios to BMC is taking more time in some cases. The timeout should be 2 sec instead of 0.02 sec.
Tested: While sending mdr2 command from bios to BMC timeout is not seen.
Change-Id: I6f8a6109ea20f1ca1a1b00d497bd362934f14290 Signed-off-by: Yaswanth Reddy M <yaswanthx.reddy.munukuru@intel.com>
show more ...
|
#
027277a4 |
| 11-Sep-2023 |
Josh Lehan <krellan@google.com> |
Refactor MDRV2 class to allow more than one
Refactored the main MDRV2 class to allow more than one object of this class to exist at the same time. All hardcoded paths have been made parameters to th
Refactor MDRV2 class to allow more than one
Refactored the main MDRV2 class to allow more than one object of this class to exist at the same time. All hardcoded paths have been made parameters to the constructor, so that they can be varied at runtime as needed, to avoid overlap.
Also did some necessary internal cleanups to facilitate this.
Tested: Created multiple copies of the MDRV2 object at the same time, it worked, all appeared on D-Bus, under distinct object paths and inventory paths. Destructed the MDRV2 object, it disappeared from D-Bus, constructed it again, it came back.
https://gist.github.com/Krellan/6930bc2ed1ac16b93afcc3a12c02e545
Change-Id: Icd1ebf50086b526cf0cff149eb8ddc59da78f0a9 Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
#
f079e836 |
| 19-Sep-2023 |
Josh Lehan <krellan@google.com> |
Initialize first byte in IPMI cache file
In the IPMI cache file, the first byte of this file was always essentially random, because it was in a structure that had this field uninitialized. Fixing it
Initialize first byte in IPMI cache file
In the IPMI cache file, the first byte of this file was always essentially random, because it was in a structure that had this field uninitialized. Fixing it, by arbitrarily choosing the value 0x01.
Added a new constant "mdrDirVersion" for this, and also added a similar constant for "smbiosDirVersion" (which was being initialized, but to a magic number directly in the code, not a constant).
Tested: Cache files now appear consistently.
Change-Id: I1f13ae973965b1a7105e2ac054ae30c52f45e2a9 Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
#
c39d3dfc |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I172b14c1a881c734851b7dc6e0e90ee2e11cce03 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
b492838a |
| 26-Aug-2022 |
shamim-ali <shamima@ami.com> |
Add Support for SMBIOS VERSION - 3.5
As per SMBIOS specification(DSP0134) conformance guidelines,Before parsing the SMBIOS data the system will check for SMBIOS Version. Added 3.5 to the supported v
Add Support for SMBIOS VERSION - 3.5
As per SMBIOS specification(DSP0134) conformance guidelines,Before parsing the SMBIOS data the system will check for SMBIOS Version. Added 3.5 to the supported version.Now BMC will be able to validate the SMBIOS version.
Tested:
Verified BMC is able to validate SMBIOS Version 3.5
Signed-off-by: shamim-ali <shamima@ami.com> Change-Id: Ic886ab78395733b8e8a52b5219caf7e4b9502c3c
show more ...
|
#
e4ea3771 |
| 23-Feb-2022 |
Brandon Kim <brandonkim@google.com> |
Add SMBIOS 3.0 compatibility to version check
As per SMBIOS specification (DSP0134 Section 5.2.2) SMBIOS 3.0 requires a different Entry Point Structure, including a different Anchor String check.
T
Add SMBIOS 3.0 compatibility to version check
As per SMBIOS specification (DSP0134 Section 5.2.2) SMBIOS 3.0 requires a different Entry Point Structure, including a different Anchor String check.
Tested: After appending the Entry Point Structure to the end of the SMBIOS table, this code started working. We will most likely want to document this somewhere as it's not industry standard to have the entry point structure appended to the back like this.
Jan 01 00:01:03 smbiosmdrv2app[902]: SMBIOS 2.1 Anchor String not found. Looking for SMBIOS 3.0 Jan 01 00:03:05 smbiosmdrv2app[1680]: SMBIOS VERSION - 3.2 Jan 01 00:03:06 smbiosmdrv2app[1680]: VERSION INFO - BIOS - 99.99.99.99
Resolves: openbmc/smbios-mdr#3 Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Ied5e0df545ec046cc1e0823d9f48317881493325
show more ...
|
#
473d890e |
| 17-Feb-2022 |
Gokul Sanker V G <gokul.sanker.v.g@intel.com> |
Added correction for empty text strings
As per SMBIOS specification Text strings associated with a given SMBIOS structure are appended directly after the formatted portion of the structure. (https:/
Added correction for empty text strings
As per SMBIOS specification Text strings associated with a given SMBIOS structure are appended directly after the formatted portion of the structure. (https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.4.0.pdf , sec 6.1.3)
If the formatted portion of the structure contains string-reference fields and all the string fields are set to 0 (no string references), the formatted section of the structure is followed by two null (00h) BYTES.
Signed-off-by: Gokul Sanker V G <gokul.sanker.v.g@intel.com> Change-Id: Ib8d0004384bad67168cb367442ba41528a376ae2
show more ...
|
#
0435a483 |
| 01-Feb-2022 |
Arun P. Mohanan <arun.p.m@linux.intel.com> |
SMBIOS version check
As per SMBIOS specification(DSP0134) conformance guidelines, before parsing the SMBIOS data the system needs to check for anchor string and SMBIOS version information.
Define E
SMBIOS version check
As per SMBIOS specification(DSP0134) conformance guidelines, before parsing the SMBIOS data the system needs to check for anchor string and SMBIOS version information.
Define Entry Point structure and implement SMBIOS version check support.
Tested: Verified BMC is able to validate the version information from the SMBIOS table data which BIOS sends.
Jan 01 00:00:20 intel-obmc smbiosmdrv2app[429]: SMBIOS VERSION - 3.2
Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com> Change-Id: I6dfa9eb23f02343a47937747e8e9070b8f0cb227
show more ...
|
#
08e4a6df |
| 23-Aug-2021 |
Jie Yang <jjy@google.com> |
smbios-mdr: Parse PCIE slot tables
System slot tables have SMBIOS table type 9. Parse system slot tables and select all PCIE slots. PCIE slot inventory DBus objects will have the xyz.openbmc_project
smbios-mdr: Parse PCIE slot tables
System slot tables have SMBIOS table type 9. Parse system slot tables and select all PCIE slots. PCIE slot inventory DBus objects will have the xyz.openbmc_project.Inventory.Item.PCIeSlot interface defined in phosphor-dbus-interfaces.
Tested: Tests on a Intel platform. Some DBus command outputs as follows:
busctl introspect xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3
NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - -herboard/p .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - - .LocationCode property s "PE3" emits-change writable xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change writable .PrettyName property s "" emits-change writable xyz.openbmc_project.Inventory.Item.PCIeSlot interface - - - .Generation property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable .HotPluggable property b false emits-change writable .Lanes property u 16 emits-change writable .SlotType property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable
busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \ xyz.openbmc_project.Inventory.Item.PCIeSlot Generation
s "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Gen5"
busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \ xyz.openbmc_project.Inventory.Item.PCIeSlot SlotType
s "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.Unknown"
Note that it shows unknown PCIE slot types, as SMBIOS system slot record does not have the information that a PCIE slot is full-length, half-length or low-profile.
Signed-off-by: Jie Yang <jjy@google.com> Change-Id: Ie9179ceb57dea3f659c15939611e873411de7320
show more ...
|
#
59bb9d94 |
| 27-Oct-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Fix issue on null ptr in funciton positionToString
Error message is as below: smbiosmdrv2app[5607]: terminate called after throwing an instance of 'std::logic_error' smbiosmdrv2app[5607]: what():
Fix issue on null ptr in funciton positionToString
Error message is as below: smbiosmdrv2app[5607]: terminate called after throwing an instance of 'std::logic_error' smbiosmdrv2app[5607]: what(): basic_string::_M_construct null not valid systemd[1]: smbios-mdrv2.service: Main process exited, code=dumped, status=6/ABRT systemd[1]: smbios-mdrv2.service: Failed with result 'core-dump'.
Have to check ptr is not null before using.
Tested: When target prt is null return empty string, not crash app.
Change-Id: I5bc4c2681150fd1a7aeb0a2dc7b5d19e5b54dab0 Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|
#
18a5ab91 |
| 01-Sep-2020 |
Zhikui Ren <zhikui.ren@intel.com> |
Move downstream package to upstream
Use upstream cpu interface
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I490482b212df4b73cbdedaba0bc5fefa229a5489
|