#
5ea72377 |
| 04-Feb-2025 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
tests: Migrate to placement_new from reinterpret casting
reinterpret_cast is prohibited by the C++ core guidelines because it takes the behavior outside the language definition and gives problems wi
tests: Migrate to placement_new from reinterpret casting
reinterpret_cast is prohibited by the C++ core guidelines because it takes the behavior outside the language definition and gives problems with type safety. Placement-new on the other-hand allows to control the object storage while still properly instantiating an object,keeping the behavior inside the C++ language specification.
Change-Id: Ifab9ea58b932db11d7af0b9def119bed1bfdc44d 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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
6ece21fb |
| 10-Oct-2023 |
Archana Kakani <archana.kakani@ibm.com> |
libpldmresponder:Support GetNumericEffecterValue responder
The GetNumericEffecterValue command is used to return the present numeric setting of a PLDM Numeric Effecter. This commit adds responder su
libpldmresponder:Support GetNumericEffecterValue responder
The GetNumericEffecterValue command is used to return the present numeric setting of a PLDM Numeric Effecter. This commit adds responder support for GetNumericEffecterValue Cmd as mentioned in Section22.3 of DSP0248_1.2.0. Currently "effecterOperationalState" field in the response msg is set to "enabled-noUpdatePending". Actual value can be fetched once the support for EffecterEvent/SetNumericEffecterEnable is added.
Test: Using pldmtool raw command Success Case: pldmtool raw -d 0x80 0x02 0x32 0x23 00 pldmtool: Tx: 08 01 80 02 32 23 00 pldmtool: Rx: 08 01 00 02 32 00 00 01 03 03 Failure Case: pldmtool raw -d 0x80 0x02 0x32 0x25 0x00 pldmtool: Tx: 08 01 80 02 32 25 00 pldmtool: Rx: 08 01 00 02 32 80
Change-Id: I64a7205d8f69e3925b75b02558a0857b63c70ebf Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
#
797f338f |
| 22-Aug-2023 |
Riya Dixit <riyadixitagra@gmail.com> |
PLDM: Implementing Phosphor-Logging/LG2 logging
This commit migrates std::cerr/cout added as part of new changes in PLDM to LG2.
Change-Id: I8e85732684d47b6740521e95712433a7c6760d8a Signed-off-by:
PLDM: Implementing Phosphor-Logging/LG2 logging
This commit migrates std::cerr/cout added as part of new changes in PLDM to LG2.
Change-Id: I8e85732684d47b6740521e95712433a7c6760d8a Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>
show more ...
|
#
6da4f91b |
| 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: I61b093f75011417cc9c7acf9605200f4fa429bac Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
cc5f1586 |
| 29-Sep-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Make Terminus ID & Terminus Handle configurable
The current pldm code hardcoded the terminus id and the terminus handles, making it configurable so that the oem vendors can set them as per thier nee
Make Terminus ID & Terminus Handle configurable
The current pldm code hardcoded the terminus id and the terminus handles, making it configurable so that the oem vendors can set them as per thier need in the bitbake meta data.
Also,in the current state the FRU record set PDR's and the Sensor/Effecter PDR's are generated with terminus handle 0, but the terminus locator PDR is hardcoded with handle 1. This commit also fixes that behaviour.
Tested :
1. Terminus locator PDR { "nextRecordHandle": 89, "responseCount": 19, "recordHandle": 88, "PDRHeaderVersion": 1, "PDRType": "Terminus Locator PDR", "recordChangeNumber": 0, "dataLength": 9, "PLDMTerminusHandle": 1, "validity": "valid", "TID": 1, "containerID": 0, "terminusLocatorType": "MCTP_EID", "terminusLocatorValueSize": 1, "EID": 8 } 2. FRU record set PDR { "nextRecordHandle": 77, "responseCount": 20, "recordHandle": 76, "PDRHeaderVersion": 1, "PDRType": "FRU Record Set PDR", "recordChangeNumber": 0, "dataLength": 10, "PLDMTerminusHandle": 1, "FRURecordSetIdentifier": 76, "entityType": "[Physical] Slot", "entityInstanceNumber": 12, "containerID": 3 } 3. Sensor PDR { "nextRecordHandle": 208, "responseCount": 28, "recordHandle": 207, "PDRHeaderVersion": 1, "PDRType": "State Sensor PDR", "recordChangeNumber": 0, "dataLength": 18, "PLDMTerminusHandle": 1, "sensorID": 2, "entityType": "[Physical] External Environment", "entityInstanceNumber": 0, "containerID": 1, "sensorInit": "noInit", "sensorAuxiliaryNamesPDR": false, "compositeSensorCount": 1, "stateSetID[0]": "Health State(1)", "possibleStatesSize[0]": 2, "possibleStates[0]": [ "Normal(1)", "Upper Fatal(9)" ] } 4. Effecter PDR { "nextRecordHandle": 142, "responseCount": 29, "recordHandle": 141, "PDRHeaderVersion": 1, "PDRType": "State Effecter PDR", "recordChangeNumber": 0, "dataLength": 19, "PLDMTerminusHandle": 1, "effecterID": 53, "entityType": "[Physical] Fan", "entityInstanceNumber": 1, "containerID": 3, "effecterSemanticID": 0, "effecterInit": "noInit", "effecterDescriptionPDR": false, "compositeEffecterCount": 1, "stateSetID[0]": "Identify State(17)", "possibleStatesSize[0]": 1, "possibleStates[0]": [ "Identify State Unasserted(1)", "Identify State Asserted(2)" ] }
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I68d1c5c121b9389cc9b89dde9f1a8d8679b068f1
show more ...
|
#
5079ac4a |
| 19-Aug-2021 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
treewide: remove 'using namespace' from headers
Using namespace at global scope in a header file violates the cpp core guidelines. Quoting the guidelines:
"Doing so takes away an #includer’s abi
treewide: remove 'using namespace' from headers
Using namespace at global scope in a header file violates the cpp core guidelines. Quoting the guidelines:
"Doing so takes away an #includer’s ability to effectively disambiguate and to use alternatives. It also makes #included headers order-dependent as they might have different meaning when included in different orders."
For further reading: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-using-directive
The guidelines don't call out using using namespace from namespace scope, but it is only marginally less problematic and still unexpected, so this patch removes those as well.
The process used to do the update is roughly:
1 - git grep 'using namespace' **.hpp 2 - For each instance, remove the offending 'using namespace' line 3 - build 4 - add 'using namespace' to cpp files or fully resolve types in hpp files until the project builds again.
Further cleanup is possible - for example cpp files could be scrubbed for unnecessary namespace qualification - this was not done here to make review as simple as possible.
Change-Id: I4931f5e78a1b5b74b4a4774c035a549f4d59b91a Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
#
45cd16be |
| 01-Jul-2021 |
Pavithra Barithaya <pavithra.b@ibm.com> |
PLDM: Fix in the setNumericEffecterValueHandler
The effecter value for the numeric effecter can be limited only till uint32 as per PLDM spec.We have a property ScheduledTime under the interface xyz.
PLDM: Fix in the setNumericEffecterValueHandler
The effecter value for the numeric effecter can be limited only till uint32 as per PLDM spec.We have a property ScheduledTime under the interface xyz.openbmc_project.State.ScheduledHostTransition which has the propertyType as uint64. When host tries to set that numeric effecter we were hitting an error. This commit resolves this.
Tested: Before the fix Received Msg 09 01 9d 02 31 71 00 04 00 00 00 00 Error setting property, ERROR=std::get: wrong index for variant PROPERTY=ScheduledTime INTERFACE=xyz.openbmc_project.State.ScheduledHostTransition PATH=/xyz/openbmc_project/state/host0 Sending Msg 1d 02 31 01
After the fix pldmtool raw -d 0x80 0x02 0x31 0x71 0x00 0x04 0x00 0x00 0x00 0x00 Request Message: 08 01 80 02 31 71 00 04 00 00 00 00 Response Message: 08 01 00 02 31 00
Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> Change-Id: I289471d1e11bc1f47ed8af4254ac6baf975c2d1d
show more ...
|
#
5327988e |
| 28-Apr-2021 |
Tom Joseph <rushtotom@gmail.com> |
tests: Organize the test code to make it modular
The unit test code for libpldmresponder, host-bmc and common is in a shared test directory. This patch separates the test code to the respective dire
tests: Organize the test code to make it modular
The unit test code for libpldmresponder, host-bmc and common is in a shared test directory. This patch separates the test code to the respective directory.
Tested: Ran the unit test and tests passed.
Signed-off-by: Tom Joseph <rushtotom@gmail.com> Change-Id: I31d53681fa6c0d8bc6eb7c4e3341aaff4bc341ee
show more ...
|