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 ...
|
1e5c81e0 | 03-May-2024 |
Riya Dixit <riyadixitagra@gmail.com> |
pldm: Remove unnecessary type casting in logs
This commit removes the unnecessary type casting of values of the journal logs based on supported types mentioned in LG2 documentation [1].
Testing: Ve
pldm: Remove unnecessary type casting in logs
This commit removes the unnecessary type casting of values of the journal logs based on supported types mentioned in LG2 documentation [1].
Testing: Verified the debug traces to correct.
''' For Instance: Earlier - error(”TYPE = {TYPE} “, “TYPE”, static_cast<unsigned>(PLDM_STATE_EFFECTER_PDR)); Journal trace - May 27 08:16:51 p10bmc pldmd[931]: TYPE = 11
After Correction - error(”TYPE = {TYPE}“, “TYPE”, PLDM_STATE_EFFECTER_PDR); Journal trace - May 27 08:16:51 p10bmc pldmd[931]: TYPE = Enum(11) '''
[1]: https://github.com/openbmc/phosphor-logging/blob/master/docs/structured-logging.md#lg2
Change-Id: Ia649ecd4ecbb73c421f7844885f58a6835805719 Signed-off-by: Riya Dixit <riyadixitagra@gmail.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 ...
|
89644441 | 31-Mar-2024 |
Riya Dixit <riyadixitagra@gmail.com> |
libpldmresponder: Improving Logs (lg2)
This commit corrects the severity level of logs and also formats the message string, fixing the ill-defined message string of the logs as mentioned in the anti
libpldmresponder: Improving Logs (lg2)
This commit corrects the severity level of logs and also formats the message string, fixing the ill-defined message string of the logs as mentioned in the anti-pattern document [1]. Additionally, based on the requirement this commit adds more debug information to logs.
[1]: https://github.com/openbmc/docs/blob/master/anti-patterns.md#ill-defined-data-structuring-in-lg2-message-strings
Change-Id: I7dc5c308a8cd76573995e07d01d1a6037bca31ba Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>
show more ...
|
18145f7d | 11-Apr-2022 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
oem_ibm: Implement timer for Surveillance Pings
This commit introduces a timer for surveillance pings sent by the remote terminus to monitor the BMC. If a ping is not received within 120 seconds, an
oem_ibm: Implement timer for Surveillance Pings
This commit introduces a timer for surveillance pings sent by the remote terminus to monitor the BMC. If a ping is not received within 120 seconds, an informational error will be logged.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: Ia52ed2461b2c2f8ea0102e60ed2a22c7691b2d2a
show more ...
|
15ce5a18 | 07-May-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
oem-ibm: Adding entity path correction function
This commit introduces enhancements to rectify entity paths over DBus. Formerly, the conventional DBus path involved appending an instance number, suc
oem-ibm: Adding entity path correction function
This commit introduces enhancements to rectify entity paths over DBus. Formerly, the conventional DBus path involved appending an instance number, such as 'system' becoming 'system1', 'motherboard' becoming 'motherboard1', and 'chassis' becoming 'chassis1'. This function is designed to align with IBM's specific use case, ensuring the numbering system adheres appropriately.
Testing: Unit tests passed
Change-Id: I671f8486078054b44110ffa2cbf169c63d164cf1 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
516122e0 | 07-May-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Add Json Config support for entity to DBus string
The entity map comprises both entity types and their corresponding names, essential for generating unique D-Bus paths for each entity. However, chal
Add Json Config support for entity to DBus string
The entity map comprises both entity types and their corresponding names, essential for generating unique D-Bus paths for each entity. However, challenges arise due to variations in path generation across companies, often dictated by differing entity types. To address this, enabling configurability of EntityID becomes imperative, empowering communities to tailor configurations to their specific use cases.
Testing: Unit tests passed
Change-Id: I3981fde64bd00940caa5067a9472fd948e74cbf0 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
4e69d252 | 10-May-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
host-bmc: refine remote terminus functionality
This commit introduces support for migrating remote terminus-related functionalities into the host-bmc directory, a move aimed at optimizing remote ter
host-bmc: refine remote terminus functionality
This commit introduces support for migrating remote terminus-related functionalities into the host-bmc directory, a move aimed at optimizing remote terminus operations for future endeavors. By consolidating these functionalities, tracking and implementing future enhancements become more streamlined and manageable.
Change-Id: I52b6ced7acacb004b6055ae710193a959d986659 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.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 ...
|
72c06541 | 17-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
fix inconsistent spacing in BIOS logs
This commit fixes odd looking inconsistent spacing while tracing the BIOS attribute updates.
Change-Id: Ib9dba3ca28e86ac64d67fe2b7ef5e3f66ce971b5 Signed-off-by
fix inconsistent spacing in BIOS logs
This commit fixes odd looking inconsistent spacing while tracing the BIOS attribute updates.
Change-Id: Ib9dba3ca28e86ac64d67fe2b7ef5e3f66ce971b5 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
3daf7a1c | 17-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
libpldmresponder: fix a potential pldm crash
In the current state, pldm does create the sensor/effecter even in the absence of the underlying dbus resource. There is a bug in the responder code due
libpldmresponder: fix a potential pldm crash
In the current state, pldm does create the sensor/effecter even in the absence of the underlying dbus resource. There is a bug in the responder code due to which we emplace an empty dbus value map into the handler with a sensor ID. And if the remote PLDM endpoint queries for the state of the sensor, pldm would crash since it tries to read content from the empty dbus value map. This commit would fix the crash by adding necessary bound checks.
Testing: 1. Unit tests passed. 2. Functionally verified the fix by giving a dummy dbus object path and making sure that the sensor/effecter is not created & also ensured that pldm does not crash.
Change-Id: I5fb06677f6ae1bd74f9ec741b311f59737caf79d Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
92fb0b55 | 17-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Revert "Adding severity when reporting an error"
This reverts commit d28f08cf0238435ac92184fabaafd9c76bff62cf.
Reason for revert : Pel severity is completely openpower-specific , we should not poll
Revert "Adding severity when reporting an error"
This reverts commit d28f08cf0238435ac92184fabaafd9c76bff62cf.
Reason for revert : Pel severity is completely openpower-specific , we should not polluting common code with IBM specific things, hence reverting this change for now.
Change-Id: If11721b1522097460ba07d51335b7ebbe821311a 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 ...
|
d6b00561 | 31-Mar-2024 |
Archana Kakani <archana.kakani@ibm.com> |
oem-ibm: PCIe Topology support
This is the infrastructure commit to support PCIe Topology
PCIe topology refers to the physical arrangement of PCIe devices within the system. Topology data contains
oem-ibm: PCIe Topology support
This is the infrastructure commit to support PCIe Topology
PCIe topology refers to the physical arrangement of PCIe devices within the system. Topology data contains links connecting PCIe device to the PCIe Controller. This commit adds support for PCIe Topology and Cable information filetype. Topology information is provided by host using FILIO mechanism. This commit adds support for handling 1. Topology file(PLDM_FILE_TYPE_PCIE_TOPOLOGY) 2. Cable information file(PLDM_FILE_TYPE_CABLE_INFO)
Tested: Updated Unit test and tested power on.
Change-Id: Ic77f4f9921dd855c61c3929b5a458d80b1691b48 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 ...
|
754041d0 | 20-Feb-2024 |
Riya Dixit <riyadixitagra@gmail.com> |
utils: Retrieval of managed objects of DBUS
This commit implements functionality to retrieve the managed object of a specific DBUS service on a particular path. Additionally implements a function t
utils: Retrieval of managed objects of DBUS
This commit implements functionality to retrieve the managed object of a specific DBUS service on a particular path. Additionally implements a function template for inventory objects which efficiently enables retrieval of managed object for Inventory Manager.
Tested: Added unit test cases for checking the return value.
Change-Id: Ide652f843db1623bdacebf3e269e03895bbb7f1a Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>
show more ...
|
d28f08cf | 15-Dec-2021 |
Pavithra Barithaya <pavithra.b@ibm.com> |
Adding severity when reporting an error
Severity is part of the PEL User Header section, and is used to specify the PEL severity. This commit adds an option to pass severity parameter while logging
Adding severity when reporting an error
Severity is part of the PEL User Header section, and is used to specify the PEL severity. This commit adds an option to pass severity parameter while logging PEL. This will help to classify PELs based on their severity. The commit also maintains uniformity in the PEL Error logged.
Tested: By creating the error logs(pel) in error scenarios.
Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> Change-Id: Ic084d49b8ffe9aaea2c36c9fefa95a10a9c1c3ec
show more ...
|
06f9b29e | 31-Mar-2024 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Use std::map.contains as per latest c++
This commit replaces occurrences of 'find' with 'contains' to access elements in a std::map according to the latest C++ standard (since C++20).
However, cont
Use std::map.contains as per latest c++
This commit replaces occurrences of 'find' with 'contains' to access elements in a std::map according to the latest C++ standard (since C++20).
However, contains() is not suitable in all situations as in the case where we want to use the element contained in the map using contains(), then it would do 2 searches instead of 1 in the case where we use find() which fetches the element from the map also.
Here are some relevant links to C++ documentation and resources:
[1]: https://en.cppreference.com/w/cpp/container/map/find [2]: https://en.cppreference.com/w/cpp/container/map/contains [3]: https://wg21.link/N4861
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: If589e52026417c1c14a6a946e48826b749034e9a
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 ...
|
2edc34bb | 23-Feb-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Addressing a DBus query crash in pldm
This update resolves a crash occurring in pldm when attempting to retrieve the system type from the entity manager service. The issue is resolved by implementin
Addressing a DBus query crash in pldm
This update resolves a crash occurring in pldm when attempting to retrieve the system type from the entity manager service. The issue is resolved by implementing exception handling for potential errors during the dbus call.
Testing: Tested in simulator and pldm is working fine without crash.
Change-Id: I6dae2c6b5a5001b801f02d359a48acb497ad7323 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|