ac0da58c | 24-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove setup.cfg file from the repository
OpenBMC CI has migrated from using `pycodestyle` to `flake8` as part of this[1] commit. Unlike `pycodestyle` , `flake8` does not rely on the presence of set
Remove setup.cfg file from the repository
OpenBMC CI has migrated from using `pycodestyle` to `flake8` as part of this[1] commit. Unlike `pycodestyle` , `flake8` does not rely on the presence of setup.cfg file in their root path as a trigger, but it runs on all repositories by default. Hence there is no need of having setup.cfg file, so removing it from the repository.
[1]: https://github.com/openbmc/openbmc-build-scripts/commit/c5ad7ff440cfd94fc025efbd45a3859475b18820
Change-Id: I8e648f3230d1f2a83b620978b36bda88aba7ebc0 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
cd4cd457 | 22-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
common: Improve printBuffer() & added unit tests
This patchset is improved version of the existing code for several reasons:
1.The code is more concise and easier to read. It uses modern C++ featur
common: Improve printBuffer() & added unit tests
This patchset is improved version of the existing code for several reasons:
1.The code is more concise and easier to read. It uses modern C++ features such as `std::ranges::for_each` and `std::format`, which express the intent of the code more clearly compared to the nested if-else statements and manual formatting.
2.The code now has fewer lines of code and avoids the need for creating and managing an `std::ostringstream` object manually, which simplifies the function and reduces the risk of errors.
3.This patch uses type-safe range-based for loop and `uint8_t` type directly, whereas the existing code uses `int` for iterating over the buffer elements, which may lead to unintentional type conversions or loss of precision.
4.While the performance impact may not be significant for this patch, using `std::ranges::for_each` with lambdas might allow for more optimization opportunities by the compiler compared to the traditional loop used in existing code.
Overall, this patchset leverages modern C++ features to achieve the same functionality in a more concise, readable, and type-safe manner, making it preferable.
Change-Id: I7be547ade053638cb4ca459ee795195f6f0883bf Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
312c3735 | 23-Apr-2024 |
DelphineCCChiu <delphine_cc_chiu@wiwynn.com> |
fw-update: Fix variable being used before initialized
Initialize "totalNumComponentUpdates" and "compUpdateCompletedCount" to 0 to avoid potential errors caused by uninitialized variables.
Change-I
fw-update: Fix variable being used before initialized
Initialize "totalNumComponentUpdates" and "compUpdateCompletedCount" to 0 to avoid potential errors caused by uninitialized variables.
Change-Id: I27f57330e77f98109a09b3270a3dd6fd50e8fb52 Signed-off-by: DelphineCCChiu <delphine_cc_chiu@wiwynn.com>
show more ...
|
bfb929cc | 23-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove unused variables
cppcheck flags style warnings to indicate when we declare a variable and never use it. Its effective dead code, this patch aims at fixing all the [unusedVariable] warnings re
Remove unused variables
cppcheck flags style warnings to indicate when we declare a variable and never use it. Its effective dead code, this patch aims at fixing all the [unusedVariable] warnings reported by the openbmc repo-ci.
Change-Id: Ie51176c6b2ced7251b467b2d456e9f3088637121 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 ...
|
963c0fdf | 12-Feb-2024 |
Archana Kakani <archana.kakani@ibm.com> |
oem-ibm: Adding system specific bios attribute files
Below are the, System specific bios attribute infrastructure commits Commit - https://gerrit.openbmc.org/c/openbmc/pldm/+/55997 - https://
oem-ibm: Adding system specific bios attribute files
Below are the, System specific bios attribute infrastructure commits Commit - https://gerrit.openbmc.org/c/openbmc/pldm/+/55997 - https://gerrit.openbmc.org/c/openbmc/pldm/+/68451
Adding BIOS Attribute files for system types mentioned below 1. Rainier-1s4u 2. Rainier-2u 3. Rainier-4u 4. Everest 5. Bonnell
Change-Id: I209dcff347cf83322857a2ac23353269f23217f3 Signed-off-by: Archana Kakani <archana.kakani@ibm.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 ...
|
e98c51b1 | 08-Jun-2021 |
Zach Clark <zach@ibm.com> |
Update pldm-softpoweroff application with working values
This commit updates the pldm-softpoweroff application so that it can properly locate the PLDM effecter and sensor PDRs for the graceful power
Update pldm-softpoweroff application with working values
This commit updates the pldm-softpoweroff application so that it can properly locate the PLDM effecter and sensor PDRs for the graceful poweroff request. It also updates the host terminus ID to the correct value.
Tested by:
Running the application when Hostboot was IPLing, and also when PHYP was at standby.
root@ever39bmc:~# /tmp/pldm-softpoweroff Getting the response. PLDM RC = 0 Timer started waiting for host soft off, TIMEOUT_IN_SEC = 0x1c20 root@ever39bmc:~# echo $? 0
Signed-off-by: Zach Clark <zach@ibm.com> Change-Id: I7408611881abecfb5169816af032e2fb9d3a8a09
show more ...
|
4d99c311 | 28-Mar-2024 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Softoff: Add config support for PDR entities
This commit introduces a config file for the soft power off app. The config file specifies the order of remote PDRs to be checked during the soft power o
Softoff: Add config support for PDR entities
This commit introduces a config file for the soft power off app. The config file specifies the order of remote PDRs to be checked during the soft power off process.
Previously, the entity type was hardcoded in the codebase, limiting scalability. With this change, the softoff app gains flexibility for future expansions.
TESTED: By running 'obmcutil poweroff' with various remote entities during boot-up.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: Ib8d2aba6a05fc4e9da4b042fd67890e6282ed784
show more ...
|
897b0f8b | 14-Apr-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Change-Id: Id9161c24e5ed91f7194d6d536a29ecda02e8dc84 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
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 ...
|
efacb6f7 | 11-Apr-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
pldmd: fix memory leak
`pldmTransport.recvMsg` in `pldmd` will call `pldm_transport_af_mctp_recv` in libpldm. This function allocates memory of `requestMsg` and copy the MCTP request message data to
pldmd: fix memory leak
`pldmTransport.recvMsg` in `pldmd` will call `pldm_transport_af_mctp_recv` in libpldm. This function allocates memory of `requestMsg` and copy the MCTP request message data to `requestMsg`. `pldmd` should free memory of requestMsg after using.
Tested: 1. Check the memory usage of `pldmd`. There is no memory leak.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: Ie9270509e60790618c1a399fa3c9bf34f6f54907
show more ...
|
5e3a2478 | 10-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
clang-error: fix clang-analyzer-deadcode.DeadStores error
This clang error is generated when the value stored to a variable is never read in the code.
Change-Id: Ib68741b3aaf8856010d0073675abc2fdb3
clang-error: fix clang-analyzer-deadcode.DeadStores error
This clang error is generated when the value stored to a variable is never read in the code.
Change-Id: Ib68741b3aaf8856010d0073675abc2fdb3012712 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
cfefc15d | 07-Feb-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
fix usage of broken feature in meson.build file
It seems that we are trying to convert file objects to strings which is considered as a misfeature since it does not work reliably.
This is the warni
fix usage of broken feature in meson.build file
It seems that we are trying to convert file objects to strings which is considered as a misfeature since it does not work reliably.
This is the warning that is seen while building pldm:
``` WARNING: Broken features used: * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'} ```
Tested:
Rebuild pldm repository with the fix and it builds pldm without the mentioned warning above.
Change-Id: If8fedf488d33de6dccc2c1b45c2bfe124fbc3384 Signed-off-by: Manojkiran Eda <manojkiran.eda@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 ...
|
8db5f193 | 19-Mar-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
oem-ibm: Hex value support for the PCIe config space data
This commit sets the PCIE config space data sent from host with a prefix '0x' and the hex value. This change was needed as the Redfish valid
oem-ibm: Hex value support for the PCIe config space data
This commit sets the PCIE config space data sent from host with a prefix '0x' and the hex value. This change was needed as the Redfish validator [1] expects the fields to be in a particular Regex form otherwise it fails to validate.
Tested: Ran a Redfish Validator against the changes. Result: Before this change: ERROR - VendorId: String '5348' does not match pattern ''^0[xX](([a-fA-F]|[0-9]){2}){2}$'' ERROR - DeviceId: String '5719' does not match pattern ''^0[xX](([a-fA-F]|[0-9]){2}){2}$'' .....
After this change : Successfully passed
[1] https://www.dmtf.org/sites/default/files/standards/documents/ DSP0268_2022.2.pdf
Change-Id: I2b1d34532e94b84b34577cb2d1d7f5b955633bf6 Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
83e068ad | 21-Mar-2024 |
nothingIIersonal <velochimc@mail.ru> |
pldmtool: Add GetSensorReading command
Added GetSensorReading command to get the current sensor value and its state.
Tested results: ``` root@bmc:~# pldmtool platform getSensorReading -h get the nu
pldmtool: Add GetSensorReading command
Added GetSensorReading command to get the current sensor value and its state.
Tested results: ``` root@bmc:~# pldmtool platform getSensorReading -h get the numeric sensor reading Usage: pldmtool platform GetSensorReading [OPTIONS]
Options: -h,--help Print this help message and exit -m,--mctp_eid UINT MCTP endpoint ID -v,--verbose -n,--retry-count UINT Number of retry when PLDM request message is failed -i,--sensor_id UINT REQUIRED Sensor ID that is used to identify and access the sensor -r,--rearm UINT REQUIRED Manually re-arm EventState after responding to this request root@bmc:~# pldmtool platform getSensorReading -m9 -r0 -i300 { "sensorDataSize": "uint8", "sensorOperationalState": "Sensor Enabled", "sensorEventMessageEnable": "Sensor Events Enabled", "presentState": "Sensor Normal", "previousState": "Sensor Unknown", "eventState": "Sensor Normal", "presentReading": 38 } ```
Change-Id: I83a111eef73ee20a06c699405a9cdf1f848dd66a Signed-off-by: Ruslan Magomedov <velochimc@mail.ru>
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 ...
|
71c01e9b | 12-Mar-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
OWNERS: Add Pavithra as a reviewer
I have been actively contributing to OpenBMC/PLDM for quite some time now. Attached is a summary of my contributions to the repository [1].
I would like to learn
OWNERS: Add Pavithra as a reviewer
I have been actively contributing to OpenBMC/PLDM for quite some time now. Attached is a summary of my contributions to the repository [1].
I would like to learn and help out on pldm reviews.
[1]: https://github.com/openbmc/pldm/commits?author=Pavithrab7
Change-Id: I374c55f7e01a7648010c2964b3cd60d5deb0ef57 Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|