History log of /openbmc/pldm/platform-mc/platform_manager.cpp (Results 1 – 13 of 13)
Revision Date Author Comments
# 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 ...