0ce01d78 | 18-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have b
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have been deprecated, so adjust the style file accordingly.
See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style. See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.
Change-Id: Ib4c4ef537fa02f63865d807d42ccb12e23ab709e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
b3b84b49 | 23-Aug-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://rel
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://releases.llvm.org/13.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html
Change-Id: Ia3b1df10175e2e661c8fffb82e357c9db81b2e9c Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
51d66b59 | 06-Aug-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
platform-mc: Set the local terminus as event receiver
Send `SetEventReceiver` to the discoveried terminus with the configurable local EID to set the local terminus as event receiver. Before send `Se
platform-mc: Set the local terminus as event receiver
Send `SetEventReceiver` to the discoveried terminus with the configurable local EID to set the local terminus as event receiver. Before send `SetEventReceiver` the local terminus also send `EventMessageSupported` to get the `synchronyConfigurationSupported`. The `eventMessageGlobalEnable` and `heartbeatTimer` options in the `SetEventReceiver` command will depend on the responded `synchronyConfigurationSupported`.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Signed-off-by: Gilbert Chen <gilbertc@nvidia.com> Change-Id: Ia798c1cd5d946ac519933bca60620e970fe10b0a
show more ...
|
3012b632 | 22-Aug-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Format meson files with meson.format
Meson 1.5.0 introduced a new feature to format all the meson files. Formatting all the meson files is now as simple as running `meson format -i -r` command in th
Format meson files with meson.format
Meson 1.5.0 introduced a new feature to format all the meson files. Formatting all the meson files is now as simple as running `meson format -i -r` command in the repository root folder.
more details : https://mesonbuild.com/Commands.html#format
Change-Id: I9c5468cc502ae78b7a055e2de2a10296930cb9ec Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
16c2a0a0 | 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: I8c84201cb2343a8c8a5507a49de0721a1bee7063 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0fc6abe7 | 31-Jul-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
clang-diagnostic error: no type named 'BIOSAttribute'
Clang was throwing no type named 'BIOSAttribute' in namespace 'pldm::responder::bios' as the necessary header was not included.
Change-Id: Id5d
clang-diagnostic error: no type named 'BIOSAttribute'
Clang was throwing no type named 'BIOSAttribute' in namespace 'pldm::responder::bios' as the necessary header was not included.
Change-Id: Id5df1be4b811f5206d69841896bba8357e0c9e5d Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
b49b7d80 | 08-Feb-2021 |
George Liu <liuxiwei@inspur.com> |
oem-ibm: Implement Host lamp test interface
IBM has a feature called LampTest and what it does is this: - BMC would set the state of LEDs to [ON] on all the BMC accessible LEDs. - For LEDs t
oem-ibm: Implement Host lamp test interface
IBM has a feature called LampTest and what it does is this: - BMC would set the state of LEDs to [ON] on all the BMC accessible LEDs. - For LEDs that are not accessible by BMC, a message is sent to the Host, so that the Host can exercise all the LEDs on the connected drawers and anything else that the BMC does not have access to.
This commit adds support to send message to Host when BMC has to tell the Host to exercise LEDs accessible by host.
When Host sees the effector is set, it goes ahead and turns [ON] all the LEDs for a specified time and automatically restores the states at timer expiration. BMC does not have to tell the Host to stop the test and it is part of Host's lamp test requirement.
TESTED: By setting the asserted property of the LED groups object
busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/lamp_test xyz.openbmc_project.Led.Group Asserted b true
And verifying that the setEffecterStates call was made to the remote state effecter to turn on all LEDs
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I990dce28d3017f20c73ff9029fced0e7ac84868f
show more ...
|
2576aecd | 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: I539a0c5baa63be240fc1c76367c0af338dd89c7b Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
a881c170 | 21-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Reduce multiple oem_ibm entry points in pldmd
Abstract the custom method of `OEM-IBM` into the oem-ibm.hpp file to prevent the continuous increase of custom code and reduce multiple `OEM-IBM` entry
Reduce multiple oem_ibm entry points in pldmd
Abstract the custom method of `OEM-IBM` into the oem-ibm.hpp file to prevent the continuous increase of custom code and reduce multiple `OEM-IBM` entry points in pldmd.
Tested: enabled oem-ibm and built pldm successfully.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ieddb8d12281553e70bdb1c333bd29425c9d14fb0
show more ...
|
d6608096 | 23-May-2024 |
Archana Kakani <archana.kakani@ibm.com> |
bios: Converting bios json keys to lower snake case
Converting following bios attribute json keys to lower snake case displayName --> display_name helpText --> help_text readOnly --> read_only
bios: Converting bios json keys to lower snake case
Converting following bios attribute json keys to lower snake case displayName --> display_name helpText --> help_text readOnly --> read_only
Tested: Power on/off Gtest passed
Change-Id: Iad88ed7bc381d66182c99e31e7d385f65750e0ed Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
7d47570c | 22-May-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Removing default string length
Removing default string length from BIOS json configuration files.
String BIOS attributes defined in BIOS configuration json file contains "default_string_lengt
pldm: Removing default string length
Removing default string length from BIOS json configuration files.
String BIOS attributes defined in BIOS configuration json file contains "default_string_length". Providing default string length manually is error prone. As String length can be calculated and populated easily in the code, removing json support for default_string_length.
Tested: Power on/off Gtests passed.
Change-Id: I7604d8ccedd60a39ba07e1df67ff5712f31e7f6e Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
ac713eec | 20-May-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Add bios configuration in single json file
Currently bios attributes are added in three json configuration files based on the attribute type(integer, string, enum). Combining all the attribute
pldm: Add bios configuration in single json file
Currently bios attributes are added in three json configuration files based on the attribute type(integer, string, enum). Combining all the attributes in single bios attribute json file to organize the attributes based on the usage pattern.
Tested: BMC powered on successfully Unit tests passed
Change-Id: I42cc7c2394918e48d27dca2041f8ce00509c565a Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
fa084700 | 26-May-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Make containerId optional in the event json file
During the PDR exchange, normalization causes the container IDs of remote entities to change. Therefore, checking for a predefined container ID from
Make containerId optional in the event json file
During the PDR exchange, normalization causes the container IDs of remote entities to change. Therefore, checking for a predefined container ID from a remote terminus for sensor events does not provide any benefit. This commit adds support for optionally skipping the check for remote container id for sensor events when needed.
Tested: Unit tests passed.
Change-Id: I871044815194b7aed507c105ae04f1418e084de1 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
ace4e14d | 24-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Deprecate the support for x86 sdk
OpenBMC as a project has moved away from using yocto x86 sdks for unit testing. Instead now the preferred way to build and test code is by two ways:
1. Leveraging
Deprecate the support for x86 sdk
OpenBMC as a project has moved away from using yocto x86 sdks for unit testing. Instead now the preferred way to build and test code is by two ways:
1. Leveraging the meson subproject support 2. Using openbmc docker container
Since x86 sdks needed some weird hacks in the code base like figuring out the linker arguments ourselves & running custom bash commands from the meson build files. Also with changing yocto code base, its a large maintainer burden to make sure this support works.
Tested: Code builds & unit tests are passed with both the approaches mentioned above.
Change-Id: Iaf55e2c003ffd9ee1a295de5bdfd14d81222e94b Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
15b94111 | 10-Apr-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
fix constVariableReference cpp style check
Declaring the const-ness of a parameter is just another form of type safety. The benefit of const correctness is that it prevents you from inadvertently mo
fix constVariableReference cpp style check
Declaring the const-ness of a parameter is just another form of type safety. The benefit of const correctness is that it prevents you from inadvertently modifying something you didn’t expect would be modified. The commit fixes places in the code where a parameter could be a constant.
Change-Id: Ie6f1d4b37373979a3efef8cb617294d41dec888c Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
46f352ed | 17-Mar-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Meson option for system specific bios attributes
PLDM users who want to use bios attributes based on the system type can enable this meson option. With disabled option default bios json files
pldm: Meson option for system specific bios attributes
PLDM users who want to use bios attributes based on the system type can enable this meson option. With disabled option default bios json files are picked to build bios attribute tables.
Added meson option "system-specific-bios-json" to add the support for system specific bios attributes. Below is the pre-requisite to support system specific bios attributes: 1. Entity Manager service is active 2. Entity Manager should have Decorator.Compatible interface and system type in Names property under this interface 3. BIOS Attribute json files are added into the folder(Named on the System Type property value) and should be installed under /usr/share/pldm/bios/
With disabled "system-specific-bios-json" option default bios attributes are populated.
Tested: Poweron system-specific-bios-json enabled/disabled
Change-Id: I95a953cdb12c344d22f487b83040356a1b5fa937 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
62dd8ff2 | 12-Feb-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Build BIOS Table Lazily
Entity manager service hosts the compatible interface and populates the Names property with the chassis type. It is seen that the Names property is updated pretty late
pldm: Build BIOS Table Lazily
Entity manager service hosts the compatible interface and populates the Names property with the chassis type. It is seen that the Names property is updated pretty late on the way to BMC ready state. And by that time pldmd is already creating the bios table assuming that the system type is not detected.
To fix this behavior, rather than creating the bios table early, we need to wait until we get the system type from the entity manager daemon.
System Type is fetched from Entity Manager Decorator.Compatible interface [1].
PLDM registers the service name only after building the BIOS tables, to avoids failures to bios updates from other applications
Tested: Power off/On successfully in Simulator
[1] https://github.com/openbmc/entity-manager/commit/9bac6409d4bd684f058517f41de33ba1d17e5666
Change-Id: I4d431061eaaf8842f6382c2e83807f725653e19b Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
ae933cc2 | 21-Feb-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add support for Previous State in Sensor events
Previously, the sensor events generated by the PLDM stack only included the current state of the sensor without any reference to the previous state.
Add support for Previous State in Sensor events
Previously, the sensor events generated by the PLDM stack only included the current state of the sensor without any reference to the previous state.
This commit introduces a new feature to address this limitation by caching the previous states of all sensors.
The enhancement ensures that platform event messages(sensor events) now contain the correct previous state information alongside the current state.
Behavior Model: 1. Upon the initial occurrence of a sensor event, both the current state and the previous state are identical, adhering to the specification. 2. Subsequently, when the PLDM stack sends out sensor events, it retrieves the previous state from its cache and populates it accordingly.
Testing: 1. Example: Change the value of a sensor, such as dimm8 identify, to false using busctl. Tx: 81 02 0a 01 00 00 4d 00 01 00 [ 01 01 ] - Note: Initially, both the event state and the previous state are 01.
2. Change the value of dimm8 identify to true. Tx: 81 02 0a 01 00 00 4d 00 01 00 [ 02 01 ] - Result: Event state: 02, Previous state: 01.
3. Change the value of dimm8 identify back to false. Tx: 81 02 0a 01 00 00 4d 00 01 00 [ 01 02 ] - Result: Event state: 01, Previous state: 02.
4. Similar results can be obtained using the getStateSensorReadings command for the same sensor at respective times.
Change-Id: Ic93a55e61fd5128cecc698b3555a6639876882ed Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
cbe68b2d | 23-Feb-2024 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Remove iostream references
With the adoption of LG2 we do not need iostream prints to the journal. The library was referred but never used in these cases.
Signed-off-by: Sagar Srinivas <sagar.srini
Remove iostream references
With the adoption of LG2 we do not need iostream prints to the journal. The library was referred but never used in these cases.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I11d3f00284e4f16b63cddb8da2fed14d59672ba1
show more ...
|
e3607a3c | 16-Feb-2024 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Add state set id support for remote sensor events
In the current state, PLDM does not support having a state set ID field in the event JSONs, this commit would add that support in PLDM there by allo
Add state set id support for remote sensor events
In the current state, PLDM does not support having a state set ID field in the event JSONs, this commit would add that support in PLDM there by allowing hosts to have multiple sensors with the same entity instance number, type and container id, but with different state sets.
TESTED: with pldmtool raw commands sending sensor events to the BMC.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: If9bb9bde27d6b35f5904ac199801dbdffde0f57e
show more ...
|
a410c658 | 22-Jul-2021 |
Pavithra Barithaya <pavithra.b@ibm.com> |
oem:ibm :Implement SetFruRecordTable
The commit implements the setFruRecordTable command and also updates the DBus property for the IBM cable cards for which the host sends a setFruRecordTable comma
oem:ibm :Implement SetFruRecordTable
The commit implements the setFruRecordTable command and also updates the DBus property for the IBM cable cards for which the host sends a setFruRecordTable command.
Tested: using pldmtool
Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> Change-Id: I70e4f85f627577d8ca1bc90447b10e9e2e8e7ccd
show more ...
|
3c50c82a | 30-Jan-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Adding Platform specific PDR support
- Adding platform check to generate pdr based on platform type.
- Currently PDR generation is happening based on default configuration, so this commit adds su
Adding Platform specific PDR support
- Adding platform check to generate pdr based on platform type.
- Currently PDR generation is happening based on default configuration, so this commit adds support to generate PDR's based in the platform type.
Testing: - Added traces and check from which path the files has been taken for pdr generation. - Removed power supply from default path and oem layer and identified that power supply pdr is not generating.
Change-Id: I6bedf06be7392e02c1ad32af7a552a5a4d6d42c0 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
7927f90c | 09-Oct-2023 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
bios: Add support for enum value display names
This commits adds changes to add support for the value display names for the Enum BIOS attributes.
GET on /redfish/v1/Registries/BiosAttributeRegistry
bios: Add support for enum value display names
This commits adds changes to add support for the value display names for the Enum BIOS attributes.
GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/ shows list of Attributes under RegistryEntries. Each attribute corresponds to a knob in BIOS.
If knob in BIOS is of type Enumeration, it will have 'option' with 'text' and 'value'. This text should be mapped to attribute->Value->ValueDisplayName.
This change only applies to ENUM type of BIOS attributes and does not make sense for Integer and String attributes. Hence, we are sending attribute name in place of the value display name field for these attributes.
The corresponding bios-setting-mgr change which mandated this change in PLDM is at-
[1] https://github.com/openbmc/bios-settings-mgr/commit/1a448ad88fdaec7e082b4a1c437f7f3c990402cd
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: Ib2882c93e81a70332e4897b196ae812b63cf6184
show more ...
|
90314a3f | 17-Oct-2023 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Reorganize the setEventReceiver code
This commit is to re-organise the code to make the setEventReceiver optional when GetTID gets called.
Currently, it is being called on every GetTID command. Thi
Reorganize the setEventReceiver code
This commit is to re-organise the code to make the setEventReceiver optional when GetTID gets called.
Currently, it is being called on every GetTID command. This is and OEM behaviour, which was implemented at - https://gerrit.openbmc.org/c/openbmc/pldm/+/41779/36
Also, setEventReceiver is a command defined in the platform Spec, so rightfully placing it under the platform handler.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: Ib60e9d46a8eaf4806c5ec2e9575f4e219bc80eab
show more ...
|
cf772846 | 07-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: adjust nlohmann-json dependency
Simplify the meson dependency for nlohmann-json, use the consistent dependency name, and align the wrap file name with other repositories.
Signed-off-by: Patr
meson: adjust nlohmann-json dependency
Simplify the meson dependency for nlohmann-json, use the consistent dependency name, and align the wrap file name with other repositories.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3a682a3e07e38d0a1bfe35858e24f1bb74b4ec34
show more ...
|