#
a31ceb91 |
| 21-Jul-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
oem_ibm: Add Slot enable infrastructure in BMC
With this commit PDRs are created for each of these PCIe slots and adapters which have a corresponding entry in the entity associate map. The sensor/ef
oem_ibm: Add Slot enable infrastructure in BMC
With this commit PDRs are created for each of these PCIe slots and adapters which have a corresponding entry in the entity associate map. The sensor/effector states are monitored and accordingly D-Bus calls are sent for enabling a slot, process property change of a PCIe slot, etc.
Tested By: SIMICS power on/off and reset reload.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I51b79b75c909ddf2cc29872fec6aa01c2d56b418
show more ...
|
#
eb43d6c8 |
| 01-May-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Add support for the coreCount property in DBus
This commit introduces support for counting the number of CPU cores during BMC power-on and populates this information to a DBus property named coreCou
Add support for the coreCount property in DBus
This commit introduces support for counting the number of CPU cores during BMC power-on and populates this information to a DBus property named coreCount. Upon BMC power-on, the remote terminus detects the number of CPU cores and send this data and PLDM will updates the coreCount property accordingly.
Tested: tested on simulator for hosting DBus property
Change-Id: I37adbe399414fcff3f089fb819349ca4bb537edd Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
3687e2b6 |
| 10-Apr-2023 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
oem_ibm: Persist the remote PDRs before merging
This commit persists the remote range PDRs in the repo before they are merged. This change was needed as the remote terminus would not send down to BM
oem_ibm: Persist the remote PDRs before merging
This commit persists the remote range PDRs in the repo before they are merged. This change was needed as the remote terminus would not send down to BMC the entity Association PDRs of the remote terminus after the BMC takes a reset after the PDR exchange as the PDRs will be in BMC range of record handles.
TESTED: Tested by triggering a PDR exchange with the remote terminus by doing poweron test and also reset the BMC after the PDR exchange.
Change-Id: Iec2109073f984e5980d9b6e445ce0fa4198d4a0f Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
show more ...
|
#
11ce8d22 |
| 28-Jul-2022 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
PLDM: System specific BIOS attributes
This commit adds code to populate BIOS attributes based on the system type that is the platform.
The BIOS Jsons are installed based on the platform/ system typ
PLDM: System specific BIOS attributes
This commit adds code to populate BIOS attributes based on the system type that is the platform.
The BIOS Jsons are installed based on the platform/ system type. The system type is populated by entity manager.
TESTED on hardware across different platform/system type. On systems where the compatible system interface is not implemented or entity manager not running, then the BIOS Jsons with default values are installed.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I179dad34537ed0d1fb263584d687a1b8cb64c335
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 ...
|
#
d21b57d7 |
| 09-Feb-2023 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
PLDM: Add the full namespaces reference
This commit is to add complete namespaces for function parameters.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I2b55bd3a0b0f78ce0299a46
PLDM: Add the full namespaces reference
This commit is to add complete namespaces for function parameters.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I2b55bd3a0b0f78ce0299a46e6a624934d7ac2116
show more ...
|
#
99854a70 |
| 29-Sep-2021 |
Pavithra Barithaya <pavithra.b@ibm.com> |
PLDM: Reset Reload usecase to check the BMC state This commit implements the RR usecase. When the BMC takes a reboot when the host is up and we get the getPDR request from host even
PLDM: Reset Reload usecase to check the BMC state This commit implements the RR usecase. When the BMC takes a reboot when the host is up and we get the getPDR request from host even when BMC is NotReady which leads to problem. This commit checks if the BMC is ready or not and then handles the getPDR request from host. In the current state, pldm stack does not dynamically generate all the PDRs for us to send PDR repository change event to host at runtime. IBM has plans to make the PDR exchange dynamic in future, but until we come up with that feature, just as a temporary fix we check the BMC state to determine if PLDM stack is ready for a PDR exchange. When services like inventory and led manager are added to the dependency list of pldm, MCTP will start first but PLDM starts late, the host assumes that BMC is not back and reboots us. This commit also solves the pldmd crash which was because some fru was getting a remove signal but the fru table was not completely built after a reboot. Tested: set the BMC state property to NotReady using busctl and then using pldmtool requested a getPDR. pldmtool platform getpdr -d 2 BMC is not ready Response Message Error: rc=0,cc=4 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> Change-Id: I6599409a154d6359db389be5e44da139ee2f3205
show more ...
|
#
7f760b36 |
| 12-May-2021 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
oem_ibm: Disable Watchdog Timer The Host watchdog timer is started when the BMC is powered on with a predefined timer interval. BMC monitors if the Host boots without failures and
oem_ibm: Disable Watchdog Timer The Host watchdog timer is started when the BMC is powered on with a predefined timer interval. BMC monitors if the Host boots without failures and Host is supposed to ping the BMC(through PlatformEventMessages) within the watchdog timer interval expiration and BMC resets the watchdog timer on receiving pings from Host and in case the Host fails to ping the BMC within the timer interval expiration, then BMC will trigger a host dump. This commit is to disable the watchdog timer after host poweron completion, which will be followed by surveillance(monitoring of BMC by Host). Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I734e6e98f6c2936aebd04c0b56bdfebba4cfd40b
show more ...
|
#
79669c94 |
| 28-Apr-2021 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
oem_ibm: Reset Watchdog Timer The watchdog timer is started as soon as the BMC is powered on. Host sends GetTID to BMC, BMC responds to that and sends SetEventReceiver command wi
oem_ibm: Reset Watchdog Timer The watchdog timer is started as soon as the BMC is powered on. Host sends GetTID to BMC, BMC responds to that and sends SetEventReceiver command with a specified time interval(Heartbeat). Host is supposed to send PlatformEventMessage to BMC within the elapsed interval. We use the same infrastructure as that of surveillance for implementing host watchdog. The difference between surveillance and host watchdog is that- -> Surveillance is host monitoring the BMC if it is functioning and its us up and running and if the BMC fails to respond to ping from host, then host will reset the BMC -> Watchdog is BMC monitoring if the host boots without failures, and if host does not respond to pings from BMC after the watchdog interval, then the watchdog app triggers a host dump. Watchdog monitoring is followed by surveillance. This commit adds change to reset the watchdog timer on receiving PlatformEventMessage for heartbeat elapsed time from Host Tester with pldmtool: ./pldmtool raw -d 0x80 0x02 0x0A 0x01 0x01 0x06 0x01 0x01 Request Message: 08 01 80 02 0a 01 01 06 01 01 Received Msg 08 01 80 02 0a 01 01 06 01 01 Sending Msg 00 02 0a 00 00 Received Msg 08 01 00 02 0a 00 00 Response Message: 08 01 00 02 0a 00 00 Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I9fea658c3f2d3086ad2574ef827a5154dac6960e
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 awa
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 ...
|
#
3a0e3b9b |
| 21-Oct-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
oem ibm: marker LID validation This commit adds code for writing marker LID from Host and also send a PlatformEventMessage after validation. This commit also subscribes for
oem ibm: marker LID validation This commit adds code for writing marker LID from Host and also send a PlatformEventMessage after validation. This commit also subscribes for the interface added signal to fetch the new image id and sends the relevant sensor event to host Change-Id: I92476beca18e6dd255f372dd82d6eaeca18e282c Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
#
3fbd39eb |
| 28-Sep-2020 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
Inband code update: send PLDM events up for all code update states send pldm events to Host to respond to the code update commands. Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.
Inband code update: send PLDM events up for all code update states send pldm events to Host to respond to the code update commands. Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com> Change-Id: Iae90a4663d4c5ed20b3a8a6222edb6055a533589
show more ...
|
#
78a225a2 |
| 27-Aug-2020 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
oem-ibm: create OEM PDRs for all OEM state sensors and effecters Created Sensors and effecters for Code update for the Boot side and Firmware update State indication and control.
oem-ibm: create OEM PDRs for all OEM state sensors and effecters Created Sensors and effecters for Code update for the Boot side and Firmware update State indication and control. root@rainier:/tmp# ./pldmtool platform GetPDR -d 22 nextRecordHandle: 23 responseCount: 30 recordHandle: 22 PDRHeaderVersion: 1 PDRType: State Effecter PDR(11) recordChangeNumber: 0 dataLength: 16 PLDMTerminusHandle: 1 effecterID: 7 entityType: Virtual Machine Manager entityInstanceNumber: 0 containerID: 0 effecterSemanticID: 0 effecterInit: noInit effecterDescriptionPDR: false compositeEffecterCount: 1 stateSetID: 32769 possibleStatesSize: 2 possibleStates: 1 2 root@rainier:/tmp# ./pldmtool platform GetPDR -d 23 nextRecordHandle: 24 responseCount: 30 recordHandle: 23 PDRHeaderVersion: 1 PDRType: State Effecter PDR(11) recordChangeNumber: 0 dataLength: 16 PLDMTerminusHandle: 1 effecterID: 8 entityType: Virtual Machine Manager entityInstanceNumber: 1 containerID: 0 effecterSemanticID: 0 effecterInit: noInit effecterDescriptionPDR: false compositeEffecterCount: 1 stateSetID: 32769 possibleStatesSize: 2 possibleStates: 1 2 root@rainier:/tmp# ./pldmtool platform GetPDR -d 24 nextRecordHandle: 25 responseCount: 30 recordHandle: 24 PDRHeaderVersion: 1 PDRType: State Effecter PDR(11) recordChangeNumber: 0 dataLength: 16 PLDMTerminusHandle: 1 effecterID: 9 entityType: Virtual Machine Manager entityInstanceNumber: 0 containerID: 0 effecterSemanticID: 0 effecterInit: noInit effecterDescriptionPDR: false compositeEffecterCount: 1 stateSetID: 32768 possibleStatesSize: 2 possibleStates: 1 2 3 4 5 6 root@rainier:/tmp# ./pldmtool platform GetPDR -d 25 nextRecordHandle: 26 responseCount: 28 recordHandle: 25 PDRHeaderVersion: 1 PDRType: State Sensor PDR(4) recordChangeNumber: 0 dataLength: 14 PLDMTerminusHandle: 1 sensorID: 1 entityType: Virtual Machine Manager entityInstanceNumber: 0 containerID: 0 sensorInit: noInit sensorAuxiliaryNamesPDR: false compositeSensorCount: 1 stateSetID: 32769 possibleStatesSize: 2 possibleStates: 1 2 root@rainier:/tmp# ./pldmtool platform GetPDR -d 26 nextRecordHandle: 27 responseCount: 28 recordHandle: 26 PDRHeaderVersion: 1 PDRType: State Sensor PDR(4) recordChangeNumber: 0 dataLength: 14 PLDMTerminusHandle: 1 sensorID: 2 entityType: Virtual Machine Manager entityInstanceNumber: 1 containerID: 0 sensorInit: noInit sensorAuxiliaryNamesPDR: false compositeSensorCount: 1 stateSetID: 32769 possibleStatesSize: 2 possibleStates: 1 2 root@rainier:/tmp# ./pldmtool platform GetPDR -d 27 nextRecordHandle: 0 responseCount: 28 recordHandle: 27 PDRHeaderVersion: 1 PDRType: State Sensor PDR(4) recordChangeNumber: 0 dataLength: 14 PLDMTerminusHandle: 1 sensorID: 3 entityType: Virtual Machine Manager entityInstanceNumber: 0 containerID: 0 sensorInit: noInit sensorAuxiliaryNamesPDR: false compositeSensorCount: 1 stateSetID: 32768 possibleStatesSize: 2 possibleStates: 1 2 3 4 5 6 Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I1dc39a549297241792cebc7812722447cce5762d
show more ...
|
#
aea5dde1 |
| 31-Aug-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
oem ibm: infrastructure for oem handlers 1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands.
oem ibm: infrastructure for oem handlers 1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands. 2. This commit adds implementation for getStateSensorReadings and setStateEffecterStates commands for oem state sets. 3. Also adds implementation for inband code update. Change-Id: Ib38a66ee381dd06b93f6a9313d51de1c23e6ee65 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|