c13c8754 | 22-Apr-2024 |
Konstantin Aladyshev <aladyshev22@gmail.com> |
meson: Provide wrap file for boost
Currently local build on the system without boost can fail with the following message: """ meson.build: ERROR: Dependency "boost" not found, tried system """ Provi
meson: Provide wrap file for boost
Currently local build on the system without boost can fail with the following message: """ meson.build: ERROR: Dependency "boost" not found, tried system """ Provide "boost.wrap" file to fix the issue.
Change-Id: I47af3febe4fc95e730d37305ce7d5c9230fb8a72 Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
b86e4f19 | 01-Apr-2024 |
Jason M. Bills <jason.m.bills@intel.com> |
Use the new CPUModel enum names from libpeci
libpeci was updated with new CPUModel names, so update uses here to match.
Change-Id: I60db4ea624bdb8defe3d937cc48fb798e5f49207 Signed-off-by: Jason M.
Use the new CPUModel enum names from libpeci
libpeci was updated with new CPUModel names, so update uses here to match.
Change-Id: I60db4ea624bdb8defe3d937cc48fb798e5f49207 Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
show more ...
|
4e1cf099 | 08-Mar-2024 |
Jonathan Doman <jonathan.doman@intel.com> |
cpuinfoapp: Make PECI features optional
Add a feature flag `cpuinfo-peci` to optionally disable the features in cpuinfoapp that rely on PECI (PPIN, SST), to support configurations that want I2C-base
cpuinfoapp: Make PECI features optional
Add a feature flag `cpuinfo-peci` to optionally disable the features in cpuinfoapp that rely on PECI (PPIN, SST), to support configurations that want I2C-based SSPEC detection but don't want to use libpeci.
Tested: Disabled `cpuinfo-peci` and verified SSPEC was still written into the Model property.
Change-Id: Ie3ab9214d9d6ab238a61933de3e3856eca298fa8 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
abdccd3a | 26-Jan-2024 |
Josh Lehan <krellan@google.com> |
Add assoc-trim-path option and Board match
When a custom object path is being used (not the default object path that comes from IPMI), allow the Board interface to be a valid interface for associati
Add assoc-trim-path option and Board match
When a custom object path is being used (not the default object path that comes from IPMI), allow the Board interface to be a valid interface for associating the Inventory object with, not just the System interface.
The purpose is to support large systems of the blade server style, which have CPU and DIMM attached to a Board that is itself attached to a System, not attached to the System directly.
Adding the assoc-trim-path option, disabled by default, to drop the rightmost path component when setting up this association. This bypasses the Board and associates the CPU and DIMM directly with the underlying System.
Cleaning up the systemInfoUpdate() function, to correct a logic error in which the match rule would not be set up for later if an exception happened the first time. Also sleeping, to work around a race condition with Object Mapper.
Tested: I tested it both with and without the assoc-trim-path option, and it seemed to have the desired effect. With this option enabled, I was able to attach CPU and DIMM to the proper System, even though there was a Board object in the hierarchy between them.
Change-Id: Ibb5302e01b9d1b0453bdb14092ede594a9e71415 Signed-off-by: Josh Lehan <krellan@google.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 ...
|
0f7704a3 | 20-Feb-2024 |
Konda Reddy Kachana <kkachana@google.com> |
Add effectiveFamily, effectiveModel and Step to AMD Zen family
Reference: https://kib.kiev.ua/x86docs/AMD/AMD-CPUID-Spec/25481-r2.28.pdf
Change-Id: Ic4df2ab047a561e565ea3c72321d3e0dc42067e4 Signed-
Add effectiveFamily, effectiveModel and Step to AMD Zen family
Reference: https://kib.kiev.ua/x86docs/AMD/AMD-CPUID-Spec/25481-r2.28.pdf
Change-Id: Ic4df2ab047a561e565ea3c72321d3e0dc42067e4 Signed-off-by: Konda Reddy Kachana <kkachana@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 ...
|
c6d87a5c | 08-Feb-2024 |
Josh Lehan <krellan@google.com> |
Clean up some buffer allocations
While investigating some memory corruption, I found two bugs: the backing store the SMBIOS data gets loaded into was left uninitialized, and the buffer used for the
Clean up some buffer allocations
While investigating some memory corruption, I found two bugs: the backing store the SMBIOS data gets loaded into was left uninitialized, and the buffer used for the version check was allocated using a pointer where a size should have been used instead.
Tested: While I can not say for sure this solves the corruption, it seems to make it much less frequent, during my testing. I am not saying it is gone, but I can no longer reproduce it.
Change-Id: Ic5d28a0d55cfb179c1bd73e95df2a6bf119f6d8c Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
bff853e7 | 08-Feb-2024 |
Josh Lehan <krellan@google.com> |
gitignore: Underline nlohmann_json
The nlohmann_json external package uses an underline, not a dash.
Tested: The `git status` listing now hides it, as intended.
Change-Id: Iae5b308fcb1e269b955170e
gitignore: Underline nlohmann_json
The nlohmann_json external package uses an underline, not a dash.
Tested: The `git status` listing now hides it, as intended.
Change-Id: Iae5b308fcb1e269b955170eeb9264145505cb1a3 Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
b5d7222f | 11-Jan-2024 |
Jonathan Doman <jonathan.doman@intel.com> |
sst: Don't always wake idle CPU
Some parts of SST are important (initial discovery, appliedConfig change) and should use wake-on-PECI to ensure success even if the CPU is in an idle PkgC state. Othe
sst: Don't always wake idle CPU
Some parts of SST are important (initial discovery, appliedConfig change) and should use wake-on-PECI to ensure success even if the CPU is in an idle PkgC state. Other parts are not important enough to justify increasing the CPU power draw. Add a WakePolicy parameter to the SSTInterface infrastructure to use a different policy in different contexts.
Change-Id: I91435cc0357ab60ca4656e1bc51286e046ae3809 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
117671ed | 07-Dec-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Catch PECIErrors from supportsControl()
In future backend where supportsControl() requires a PECI call, make sure any calls are inside a try/catch so potential errors are handled.
Change-Id: Ib3503
Catch PECIErrors from supportsControl()
In future backend where supportsControl() requires a PECI call, make sure any calls are inside a try/catch so potential errors are handled.
Change-Id: Ib35030fa4df764a3cccd922099cd76c77823b7c4 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
badedf10 | 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 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-17 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: Ib52f953657f0c75fcf0ea191a7eadfbd8b94c917 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
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 ...
|
e05a5423 | 23-Aug-2023 |
David Wang <davidwang@quantatw.com> |
Add CPU functional property
ProcessorSummary in bmcweb always shows disable. Because bmcweb depends on `xyz.openbmc_project.State.Decorator.OperationalStatus` interface and `Functional` property to
Add CPU functional property
ProcessorSummary in bmcweb always shows disable. Because bmcweb depends on `xyz.openbmc_project.State.Decorator.OperationalStatus` interface and `Functional` property to return CPU functional state. In this change, include the interface into smbios-mdr and re-add the property `Functional` removed by smbios-mdr/+/36177
Tested: ``` GET /redfish/v1/Systems/system/ "ProcessorSummary": { "CoreCount": 112, "Count": 2, "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }
busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0 xyz.openbmc_project.State.Decorator.OperationalStatus interface - - - .Functional property b true emits-change writable ```
Change-Id: I1b4d239ce02d2634a54afb98e4b5e72923fda4fb Signed-off-by: David Wang <davidwang@quantatw.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 ...
|
6076d2c3 | 19-Sep-2023 |
Josh Lehan <krellan@google.com> |
Entered remaining CPU family text strings
The table of CPU family text strings was incomplete, missing many entries, of processors both historical and bleeding-edge. Added the missing entries, as pe
Entered remaining CPU family text strings
The table of CPU family text strings was incomplete, missing many entries, of processors both historical and bleeding-edge. Added the missing entries, as per Table 23 of DSP0134 3.7.0 spec.
Following the consistent format of whatever spelling and capitalization the entry had in the spec, but with the dropping of special marketing characters like (C), (R), (TM).
Tested: My CPU no longer shows up as "Unknown Processor Family".
Change-Id: I499cb516de27bf4adec7d034030c3d9c19c2c833 Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
e513c9c3 | 14-Sep-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
sst: Initialize OsMailboxCommand status
Static analyzer raised an issue on this unitialized member. It's not an issue in current usage of the struct, but in theory the success() function would have
sst: Initialize OsMailboxCommand status
Static analyzer raised an issue on this unitialized member. It's not an issue in current usage of the struct, but in theory the success() function would have UB for OsMailboxCommands created with a Throw error policy.
Change-Id: I16650173add98efecc96535f30c90132481cf231 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
f59051f1 | 08-Sep-2023 |
Josh Lehan <krellan@google.com> |
Remove obsolete CMakeLists.txt file
Since the build is now being performed by Meson, remove the obsolete CMakeLists.txt file.
Change-Id: I9c64ecd7c34899dcdba89ad6d73f608e228e2abc Signed-off-by: Jos
Remove obsolete CMakeLists.txt file
Since the build is now being performed by Meson, remove the obsolete CMakeLists.txt file.
Change-Id: I9c64ecd7c34899dcdba89ad6d73f608e228e2abc Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
0e5b658f | 01-Sep-2023 |
Josh Lehan <krellan@google.com> |
gitignore: Ignore autogenerated Meson wrap files
Ignoring each autogenerated wrap file individually, to avoid inadvertently ignoring manually created wrap files.
Although tempting, a general wildca
gitignore: Ignore autogenerated Meson wrap files
Ignoring each autogenerated wrap file individually, to avoid inadvertently ignoring manually created wrap files.
Although tempting, a general wildcard would not make sense here, because, in the subprojects directory, there are also some manually created wrap files mixed in amongst the autogenerated wrap files. (I wonder why Meson chose to do it this way, since it goes completely against the overall design of Meson wanting to keep the build dir separate from the source dir.)
Tested: The directory "git status" now looks clean again.
Change-Id: I01ab21ca96a2ec4e39253e80ca135aab59a51f4d Signed-off-by: Josh Lehan <krellan@google.com>
show more ...
|
21cb0e87 | 16-Aug-2023 |
Michael Shen <gpgpgp@google.com> |
Change MemoryInfo.attributes type to uint8_t
PDI changed the type of `attributes` from uint8_t to size_t. However the SMBIOS spec only reserved 1 byte for this field. So we need to keep `attribute`
Change MemoryInfo.attributes type to uint8_t
PDI changed the type of `attributes` from uint8_t to size_t. However the SMBIOS spec only reserved 1 byte for this field. So we need to keep `attribute` in 1 byte otherwise the field after `attribute` will be shifted.
Tested: Before .MemorySizeInKB property u 1258291200
After .MemorySizeInKB property u 33554432
Change-Id: I1e2bfa78d4259c7b86a471ed880f2c5ca923bc66 Signed-off-by: Michael Shen <gpgpgp@google.com>
show more ...
|
366546cf | 24-Jul-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Add meson build support
Tested: 1. Project builds with each meson option turned on or off. 2. Unit tests build and pass. 3. On platform FW built with updated recipe (I23fabdf57b8d6ac35c3aea0ece66
Add meson build support
Tested: 1. Project builds with each meson option turned on or off. 2. Unit tests build and pass. 3. On platform FW built with updated recipe (I23fabdf57b8d6ac35c3aea0ece667be118de4b61): a. SMBIOS blob store library is properly picked up by IPMI blob store manager and handles OEM IPMI commands. b. smbiosmdrv2app is running and populates objects on D-Bus. c. cpuinfoapp is running and populates objects on D-Bus.
Change-Id: Ie65b281900cc07e7d0145445bcc65bbab1979214 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
85aaf53b | 28-Jul-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Add README.md
Add a high level description of this repository.
Change-Id: I46c13a793fd552ce1039d338b758f7eb7fcfc40d Signed-off-by: Jonathan Doman <jonathan.doman@intel.com> |
f2d8bb48 | 26-Jul-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Fix compilation warnings
Various small issues: * Member initialization order * Comparison of different signedness * Unused parameters * Unused variable
Change-Id: Ie59db239b4216ad089f7cf0f289e6ed3d
Fix compilation warnings
Various small issues: * Member initialization order * Comparison of different signedness * Unused parameters * Unused variable
Change-Id: Ie59db239b4216ad089f7cf0f289e6ed3d6ac8e18 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
410bbc27 | 12-Jul-2023 |
Joseph Fu <joseph.fu@quantatw.com> |
Populate MemoryTotalWidth property
The "MemoryTotalWidth" property did not display correct information from the smbios file. Add function to transfer "totalWidth" type and return data in sdbusplus f
Populate MemoryTotalWidth property
The "MemoryTotalWidth" property did not display correct information from the smbios file. Add function to transfer "totalWidth" type and return data in sdbusplus format.
Tested: Before ``` root@qbmc:root@qbmc:~# busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.Inventory.Item.Dimm NAME TYPE SIGNATURE RESULT/VALUE FLAGS .AllowedSpeedsMT property aq 0 emits-change writable .CASLatencies property q 0 emits-change writable .ECC property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .FormFactor property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MaxMemorySpeedInMhz property q 4800 emits-change writable .MemoryAttributes property y 2 emits-change writable .MemoryConfiguredSpeedInMhz property q 4800 emits-change writable .MemoryDataWidth property q 64 emits-change writable .MemoryDeviceLocator property s "DIMM0" emits-change writable .MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemorySizeInKB property t 33554432 emits-change writable .MemoryTotalWidth property q 0 emits-change writable .MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemoryTypeDetail property s "SynchronousUnbuffered" emits-change writable .RevisionCode property q 0 emits-change writable ``` After patching, MemoryTotalWidth property get correct value. ``` root@qbmc:~# busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.Inventory.Item.Dimm NAME TYPE SIGNATURE RESULT/VALUE FLAGS .AllowedSpeedsMT property aq 0 emits-change writable .CASLatencies property q 0 emits-change writable .ECC property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .FormFactor property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MaxMemorySpeedInMhz property q 4800 emits-change writable .MemoryAttributes property y 2 emits-change writable .MemoryConfiguredSpeedInMhz property q 4800 emits-change writable .MemoryDataWidth property q 64 emits-change writable .MemoryDeviceLocator property s "DIMM0" emits-change writable .MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemorySizeInKB property t 33554432 emits-change writable .MemoryTotalWidth property q 72 emits-change writable .MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemoryTypeDetail property s "SynchronousUnbuffered" emits-change writable .RevisionCode property q 0 emits-change writable ```
Change-Id: I355ef057d7d28e4507d7c91eb45ab2453ed1923e Signed-off-by: Joseph Fu <joseph.fu@quantatw.com>
show more ...
|
a1ff2445 | 15-Jun-2023 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Populate Memory attributes
Add support to populate MemoryMedia, Slot and Socket attribute values to dbus attributes.
Tested: Memory attributes MemoryMedia,Slot and Socket are populated in dbus thro
Populate Memory attributes
Add support to populate MemoryMedia, Slot and Socket attribute values to dbus attributes.
Tested: Memory attributes MemoryMedia,Slot and Socket are populated in dbus through busctl command Command: busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 Response: NAME TYPE SIGNATURE RESULT/VALUE FLAGS ....
xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - - .LocationCode property s "BANK 0 CPU0_DIMM_A" 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.Dimm interface - - -
.MemoryAttributes property u 8388610 emits-change writable .MemoryConfiguredSpeedInMhz property q 19460 emits-change writable .MemoryDataWidth property q 64 emits-change writable .MemoryDeviceLocator property s "BANK 0 CPU0_DIMM_A" emits-change writable .MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemorySizeInKB property u 1468006400 emits-change writable .MemoryTotalWidth property q 0 emits-change writable .MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable .MemoryTypeDetail property s "SynchronousRegistered" emits-change writable .RevisionCode property q 0 emits-change writable xyz.openbmc_project.Inventory.Item.Dimm.MemoryLocation interface - - - .Channel property y 0 emits-change writable .MemoryController property y 0 emits-change writable .Slot property y 65 emits-change writable .Socket property y 1 emits-change writable .....
Signed-off-by: poram srinivasa rao <poramx.srinivasa.rao@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: Iabc2a58642167344711550b669ed4f207fb39d45
show more ...
|