1d73dccc | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I1210c7b95e65a82cc5675ada03441af6727a3930 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0fe13aba | 17-Jun-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://githu
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://github.com/codespell-project/codespell
Change-Id: Ifde736cdcf3ccca19b9e65afac69018628a19631 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
7190f3a3 | 26-Feb-2024 |
Potin Lai <potin.lai@quantatw.com> |
cpuinfo_utils: Change OS state busname and objpath
Change the busname and object path of OS state interface.
This commit relies on the patch below: [1] https://gerrit.openbmc.org/c/openbmc/x86-powe
cpuinfo_utils: Change OS state busname and objpath
Change the busname and object path of OS state interface.
This commit relies on the patch below: [1] https://gerrit.openbmc.org/c/openbmc/x86-power-control/+/69589
Change-Id: Ia22fd05bf37364146e323c35c6fdcedf777b4461 Signed-off-by: Potin Lai <potin.lai@quantatw.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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
226357e8 | 20-Jul-2023 |
Saitwal, Meghan <meghan.saitwal@intel.com> |
Add GNR-D to cpuinfoapp support
Change-Id: Ia9ee31ef4a5cb7d6677a0ec726345a57205c1108 Signed-off-by: Saitwal, Meghan <meghan.saitwal@intel.com> |
6106d54a | 29-Jun-2023 |
Konstantin Aladyshev <aladyshev22@gmail.com> |
blobs: Close file before calling 'AgentSynchronizeData'
The IPMI BLOB handler fills smbios2 file with content and calls 'AgentSynchronizeData' method for synchronization. Because currently the file
blobs: Close file before calling 'AgentSynchronizeData'
The IPMI BLOB handler fills smbios2 file with content and calls 'AgentSynchronizeData' method for synchronization. Because currently the file is not closed before the call to 'AgentSynchronizeData', this can lead to errors that smbios-mdr tries to parse file that was not yet flushed to the disk. Add file close operation to fix the issue.
Tested: tested on the AMD EthanolX CRB. Before the change on the blob commit operation the file was created in the BMC filesystem, but the call to 'AgentSynchronizeData' failed with the error message: "MDR V2 file size is smaller than mdr header". After the change the file is correctly created in the BMC filesystem and the sync operation finishes without any errors.
Change-Id: I7140f24a68e9e27665fe69bb4dd64495aa24c1aa Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
036374a2 | 14-Jun-2023 |
George Liu <liuxiwei@inspur.com> |
Change the byte of the MemoryAttributes attribute to the size type
We prefer to use size_t type instead of byte type in PDI[1]
[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/63
Change the byte of the MemoryAttributes attribute to the size type
We prefer to use size_t type instead of byte type in PDI[1]
[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/63799
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I211a7cd553338995170407fa583d8926a6c98f53
show more ...
|
132d037e | 19-Jun-2023 |
Ankita Vilas Gawade <ankita.gawade@intel.com> |
Clear cpuInfoMap on platform config discovery
UniqueIdentifier D-Bus interface from cpuInfo (struct) was not getting removed from dbus on platform configuration discovery.
Later as CPUInfo object g
Clear cpuInfoMap on platform config discovery
UniqueIdentifier D-Bus interface from cpuInfo (struct) was not getting removed from dbus on platform configuration discovery.
Later as CPUInfo object gets reconstructed for same UniqueIdentifier interface throws exception since interface is still there followed shortly by a crash:
terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' what(): sd_bus_add_object_vtable: org.freedesktop.DBus.Error.FileExists: File exists
With this change in place, cpuinfoapp runs smoothly across a host reboot/entity-manager restart.
Change-Id: I470afd3d7cba4285470e7bdf66b617a18c8bfbf1 Signed-off-by: Ankita Vilas Gawade <ankita.gawade@intel.com>
show more ...
|
5a122a6e | 03-May-2023 |
Brandon Kim <brandonkim@google.com> |
mdrv2: Attempt to update D-Bus objects in place
When systemInfoUpdate() is called multiple times, there's a potential race condition of a user polling for the objects while the array of D-Bus object
mdrv2: Attempt to update D-Bus objects in place
When systemInfoUpdate() is called multiple times, there's a potential race condition of a user polling for the objects while the array of D-Bus objects are erased and being repopulated. This results in incomplete set of memory or CPU counts, which can lead to unforseen consequences.
Tested: Verified that a corner case that was hitting this case consistently (when SMBIOS was transferred using ipmi-blob repeatedly) goes away with this implementation.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I312aa91cd11b1dd06502d04272889922108d39a2
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 ...
|