#
36b36938 |
| 29-Jan-2025 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
platform-mc : 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 prob
platform-mc : 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: I006bb4a5de9f7d0cef4dbc7507f63e1d6798ddfe Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
#
6baafe48 |
| 20-Jan-2025 |
Eric Yang <eric.yang.wiwynn@gmail.com> |
platform-mc: startSensorPolling post PDR init
Move startSensorPolling after confirming PDR initialization of pldm device to avoid missing the start sensor polling opportunity if GetPDR fails initial
platform-mc: startSensorPolling post PDR init
Move startSensorPolling after confirming PDR initialization of pldm device to avoid missing the start sensor polling opportunity if GetPDR fails initially and succeeds later.
Removed the redundant handling of addedTids for sensor polling, as initTerminus now ensures all necessary termini are processed.
Change-Id: I4e090a0f3c5b0a7ce85b56f9f3f2c585e42b638f Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>
show more ...
|
#
366507c8 |
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I95f756bab7f403af49a94011bbb1fe4e51f985ad Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I95f756bab7f403af49a94011bbb1fe4e51f985ad Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
b6d3943d |
| 04-Jun-2024 |
Dung Cao <dung@os.amperecomputing.com> |
platform-mc: discovery FRU data from terminus
As [1], `pldmd` will host Fru D-Bus inventory object path and Fru `xyz.openbmc_project.Inventory.Decorator.*` D-Bus interfaces of one PLDM terminus. [1]
platform-mc: discovery FRU data from terminus
As [1], `pldmd` will host Fru D-Bus inventory object path and Fru `xyz.openbmc_project.Inventory.Decorator.*` D-Bus interfaces of one PLDM terminus. [1] https://github.com/openbmc/docs/blob/master/designs/pldm-stack.md#processing-pldm-fru-information-sent-down-by-the-host-firmware
Support getting FRU data from terminus in the terminus discovery phase and expose FRU data to the Fru D-Bus properties in `xyz.openbmc_project.Inventory.Decorator.Asset`, `xyz.openbmc_project.Inventory.Decorator.AssetTag`, `xyz.openbmc_project.Inventory.Decorator.Compatible` and `xyz.openbmc_project.Inventory.Decorator.Revision` interfaces of `xyz/openbmc_project/FruPldm/<Terminus_Name>` D-Bus object path which is created by `xyz.openbmc_project.PLDM` D-Bus service. The object path will be available until the endpoint EID is removed from the MCTP D-Bus.
``` busctl introspect xyz.openbmc_project.PLDM /xyz/openbmc_project/inventory/system/board/S0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Decorator.Asset interface - - - .BuildDate property s "" emits-change writable .Manufacturer property s "" emits-change writable .Model property s "00014003" emits-change writable .PartNumber property s "" emits-change writable .SerialNumber property s "000000218" emits-change writable .SparePartNumber property s "" emits-change writable .SubModel property s "" emits-change writable xyz.openbmc_project.Inventory.Decorator.AssetTag interface - - - .AssetTag property s "" emits-change writable xyz.openbmc_project.Inventory.Decorator.Compatible interface - - - .Names property as 0 emits-change writable xyz.openbmc_project.Inventory.Decorator.Revision interface - - - .Version property s "x.x.00008.004" emits-change writable xyz.openbmc_project.Inventory.Item.Board interface - - -
``` Signed-off-by: Dung Cao <dung@os.amperecomputing.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I4f8869f8fee0fc0f8a5a5670d9a42fc7f48cc798
show more ...
|
#
f00fd432 |
| 26-Oct-2024 |
Eric Yang <eric.yang.wiwynn@gmail.com> |
platform-mc: Set initialized true post-init
Ensures TID is only marked initialized after successful getPDRs init, preventing premature initialization flagging even if PLDM_ERROR occurs.
According t
platform-mc: Set initialized true post-init
Ensures TID is only marked initialized after successful getPDRs init, preventing premature initialization flagging even if PLDM_ERROR occurs.
According to DSP0248 V1.3.0, lines 1555 and 1538 The Init Agent will response for Get PRDs and Set Event Receiver so the initialized should be set after those steps.
Change-Id: Ide8d691ae312bcd2dbf061e945f673ef755a5b2b Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>
show more ...
|
#
e188b91c |
| 07-Oct-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Revert "Fix invalid read by adjusting request size"
This reverts commit 35f25949fe4d982f389db6de13c86d5838147399.
The related libpldm commit [1] has also been reverted, as it poses the risk of affe
Revert "Fix invalid read by adjusting request size"
This reverts commit 35f25949fe4d982f389db6de13c86d5838147399.
The related libpldm commit [1] has also been reverted, as it poses the risk of affecting other users of libpldm beyond just pldm. Addressing the issue solely within pldm would only provide a limited fix.
Therefore, we have decided to revert the changes in order to explore a more comprehensive solution within libpldm, ensuring compatibility for all users.
[1] https://gerrit.openbmc.org/c/openbmc/libpldm/+/75123
Change-Id: If4b0f91195f9defe7f015f9e3fb686f33931fa01 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
35f25949 |
| 04-Oct-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix invalid read by adjusting request size
The recent changes in `libpldm`[1] introduced a modification in the size definitions for PLDM requests. Specifically, the size for `PLDM_SET_EVENT_RECEIVER
Fix invalid read by adjusting request size
The recent changes in `libpldm`[1] introduced a modification in the size definitions for PLDM requests. Specifically, the size for `PLDM_SET_EVENT_RECEIVER_REQ_BYTES` was changed from 5 bytes to 3 bytes, with the addition of a new definition `PLDM_SET_EVENT_RECEIVER_REQ_HEARTBEAT_BYTES` (2 bytes).
Previously, the event manager code used the `PLDM_SET_EVENT_RECEIVER_REQ_BYTES` definition directly, which accounted for 5 bytes. However, after the update in `libpldm`, the test cases began failing when run under Valgrind due to invalid reads, as the total request size was no longer correctly accounted for.
This commit resolves the issue by adjusting the size of the request in the `setEventReceiver` method, using both the `PLDM_SET_EVENT_RECEIVER_REQ_BYTES` and `PLDM_SET_EVENT_RECEIVER_REQ_HEARTBEAT_BYTES` definitions to ensure the proper size is used.
Tested by: ```bash meson test -t 10 -C build --print-errorlogs --wrapper "valgrind --error-exitcode=1" ```
[1]: https://github.com/openbmc/libpldm/commit/8c43abb70aeadde39d99af2c1b6b5d4a1416fc47
Change-Id: Ieb86d764b0c60a79d0a7f0f92f60ddf8812e6e84 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
c3ad6c62 |
| 07-Nov-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
platform-mc: Set synchrony mode to enableAsyncKeepAlive as default
BMC uses PLDM `EventMessageSupported` command to get `synchronyConfigurationSupported` by terminus as `16.8 EventMessageSupported C
platform-mc: Set synchrony mode to enableAsyncKeepAlive as default
BMC uses PLDM `EventMessageSupported` command to get `synchronyConfigurationSupported` by terminus as `16.8 EventMessageSupported Command` in DSP0248 V1.3.0. When the PLDM terminus does not support this command, BMC will not know the supported `synchronyConfiguration` type.
Change default `synchronyConfigurationSupported` of termini from `disabled` to `enableAsyncKeepAlive`. This allows BMC still logs the events from the terminus whenever it is willing to send the event to BMC.
With this changing, BMC will call PLDM `SetEventReceiver` command to set `synchronyConfiguration` mode of terminus to `enableAsyncKeepAlive` (Asynchronous messaging with heartbeat). The default heartbeat is 120 and can be configured thru `heartbeat-timeout-seconds` option. This allows BMC still logs the events from the terminus whenever it is willing to send the event to BMC.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I0c76e2867800da50ca2b795b022bde223db29f2d
show more ...
|
#
77e6fe7a |
| 06-Aug-2024 |
Gilbert Chen <gilbertc@nvidia.com> |
platform-mc: Added EventManager
Added eventManager to handle sensor event class(00h) which is defined in table 11 of DSP0248 v1.3.0. In this commit, the eventManager supports to receive event asynch
platform-mc: Added EventManager
Added eventManager to handle sensor event class(00h) which is defined in table 11 of DSP0248 v1.3.0. In this commit, the eventManager supports to receive event asynchronously. The commit will also log the Ipmitool SEL log and Redfish log for PLDM sensor event messages.
Change-Id: I1b337ccae454067841ffbbd8754631216a995542 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Signed-off-by: Gilbert Chen <gilbertc@nvidia.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 ...
|
#
de2a132a |
| 24-May-2022 |
Gilbert Chen <gilbert.chen@arm.com> |
platform-mc: PDR handling
Get PDRs of new terminus if it supports GetPDR PLDM command. It doesn't handle the event receiver related initialization steps, and either doesn't support primary PDR repos
platform-mc: PDR handling
Get PDRs of new terminus if it supports GetPDR PLDM command. It doesn't handle the event receiver related initialization steps, and either doesn't support primary PDR repository to maintain terminus locator PDR information yet. Added parse PDR member functions to terminus class for parsing Numeric sensor PDR and sensor auxiliary names PDR. Added sensor auxiliary names PDR and numeric sensor PDR struct in libpldm/platform.h
Signed-off-by: Gilbert Chen <gilbert.chen@arm.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I30a0cc594a3c08fc17f2dad861b5c5d41c80ebdd
show more ...
|
#
6c7fed4c |
| 22-Feb-2022 |
Gilbert Chen <gilbert.chen@arm.com> |
platform-mc: Added Terminus/TerminusManager class
Added requester::sendRecvPldmMsg awaiter type to be able to send and receive PLDM message by coroutine. Added TerminusManager to discover terminus f
platform-mc: Added Terminus/TerminusManager class
Added requester::sendRecvPldmMsg awaiter type to be able to send and receive PLDM message by coroutine. Added TerminusManager to discover terminus from EID list updated by MCTPDiscovery class. The TerminusManager will initialize TID.
Signed-off-by: Gilbert Chen <gilbert.chen@arm.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: Ifa5bdfff50648f1d7fba8710e160de662e8f9e06
show more ...
|