History log of /openbmc/libpldm/include/ (Results 1 – 25 of 212)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
92cedf0222-Jan-2025 Patrick Williams <patrick@stwcx.xyz>

meson: sizes.h: add includedir to install path

The install path for a generated `sizes.h` is missing includedir.
This results in the header being installed into `/usr/libpldm/sizes.h`
rather than `/

meson: sizes.h: add includedir to install path

The install path for a generated `sizes.h` is missing includedir.
This results in the header being installed into `/usr/libpldm/sizes.h`
rather than `/usr/include/libpldm/sizes.h`. This was detected by a
recipe failure in the Yocto bump for this repository.

Tested:
```
$ meson install -C builddir --destdir /tmp/libpldm
$ find /tmp/libpldm -name sizes.h
/tmp/libpldm/usr/local/include/libpldm/sizes.h
```

Fixes: 8c2bfb141d11 ("libpldm: Add firmware update FD responder")
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I7dd8cccc7c51302f87005ec540c523ab4561b8f4

show more ...

cc6f643426-Nov-2024 Matt Johnston <matt@codeconstruct.com.au>

firmware fd: Add PLDM Control version/commands

Supported PLDM firmware (type 5) commands are registered with the PLDM
control responder.

Change-Id: I6a4840a820bf2a1a7967ab9fe927f69681f375d8
Signed-

firmware fd: Add PLDM Control version/commands

Supported PLDM firmware (type 5) commands are registered with the PLDM
control responder.

Change-Id: I6a4840a820bf2a1a7967ab9fe927f69681f375d8
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>

show more ...

bde874e905-Nov-2024 Matt Johnston <matt@codeconstruct.com.au>

libpldm: Add PLDM control responder

This will respond to the mandatory PLDM control command types.

Change-Id: I483bfdb6513cc6ec77a04480397993e42160c0ae
Signed-off-by: Matt Johnston <matt@codeconstr

libpldm: Add PLDM control responder

This will respond to the mandatory PLDM control command types.

Change-Id: I483bfdb6513cc6ec77a04480397993e42160c0ae
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>

show more ...

8c2bfb1407-Nov-2024 Matt Johnston <matt@codeconstruct.com.au>

libpldm: Add firmware update FD responder

This provides a FD responder implementation, with an ops struct to allow
for platform customization. Applications provide incoming messages to
pldm_fd_handl

libpldm: Add firmware update FD responder

This provides a FD responder implementation, with an ops struct to allow
for platform customization. Applications provide incoming messages to
pldm_fd_handle_msg(), and periodically call pldm_fd_progress() for
asynchronous events.

Change-Id: I034262e8b2c45b5bea61369d5f966dd7e530ba9e
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>

show more ...

cf9a2df307-Nov-2024 Matt Johnston <matt@codeconstruct.com.au>

dsp: Add FD side firmware_update encode/decode

This implements FD counterparts for firmware update (type 5)
encoding/decoding.

In tests after encoding a message, a subsequent decode is performed an

dsp: Add FD side firmware_update encode/decode

This implements FD counterparts for firmware update (type 5)
encoding/decoding.

In tests after encoding a message, a subsequent decode is performed and
the outputs are compared. This tests the FD portion of the message
decoding.

Change-Id: I5454acee19588b0679a9b0218588fc4c0a66b01d
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>

show more ...

5a5129b003-Dec-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

dsp: firmware_update: Add iterator for downstream device parameters

The previous attempt where we invented a struct that made it possible to
hold full-sized version strings was awkward on several fr

dsp: firmware_update: Add iterator for downstream device parameters

The previous attempt where we invented a struct that made it possible to
hold full-sized version strings was awkward on several fronts. Replace
it with an iterator in the style of the downstream device descriptors.

Change-Id: If9b83f4704b3068de9113af7451051c086f39969
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

6a97b79e08-Dec-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

dsp: firmware_update: Expand "params" in symbol names

Try to keep the names aligned with the spec so that they're more easily
searched for. We can abbreviate other words such as request, response,
l

dsp: firmware_update: Expand "params" in symbol names

Try to keep the names aligned with the spec so that they're more easily
searched for. We can abbreviate other words such as request, response,
length etc as necessary.

Change-Id: Ia5a2c93c153c70107be0fcddb1043b2e08cdd026
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

d2f8a7e326-Nov-2024 Unive Tien <unive.tien.wiwynn@gmail.com>

dsp: firmware_update: pack decomposed parameters to struct

There're two APIs that have decomposed parameters:
`encode_query_downstream_identifiers_req()` and
`encode_get_downstream_firmware_params_r

dsp: firmware_update: pack decomposed parameters to struct

There're two APIs that have decomposed parameters:
`encode_query_downstream_identifiers_req()` and
`encode_get_downstream_firmware_params_req(),
which against the checklist of API/ABI stabilization,
squashed those parameters to a struct to meet the request.

Change-Id: Ia952251cf8dcaeba060985e759e1d7aadf7b5b4d
Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>

show more ...

71e935cf25-Nov-2024 Unive Tien <unive.tien.wiwynn@gmail.com>

dsp: firmware_update: Change return type of downstream device ABI/APIs

So far all of the downstream device related ABI/APIs were marked as
`TESTING`, before stabilize them, any deprecated code shoul

dsp: firmware_update: Change return type of downstream device ABI/APIs

So far all of the downstream device related ABI/APIs were marked as
`TESTING`, before stabilize them, any deprecated code should be
removed, including PLDM Completion Code, therefore, change all of the
return type of these to `ERRNO`.

Change-Id: Ie6b390fcc1c91a425f9181ec4ce4495729baab51
Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>

show more ...

ae05d5e511-Oct-2024 Matt Johnston <matt@codeconstruct.com.au>

dsp: pdr: Replace ENOKEY with ENOENT

Make pldm_pdr_find_child_container_id_index_range_exclude() return
ENOENT, since that is a standard errno. ENOKEY is Linux specific.

pldm_pdr_find_child_contain

dsp: pdr: Replace ENOKEY with ENOENT

Make pldm_pdr_find_child_container_id_index_range_exclude() return
ENOENT, since that is a standard errno. ENOKEY is Linux specific.

pldm_pdr_find_child_container_id_index_range_exclude() is marked as
TESTING ABI, so the change in error code should be OK.

Change-Id: I3fb3076b236e4e3b1c31f13d819dcaca38076a5d
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>

show more ...

fef24ed628-Nov-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Specify OEM extensions in an array

Prevent a proliferation of options by exploiting choice-constrained
arrays.

Change-Id: I5bb5c9bfd41d2854fafee189734abcf58b058d82
Signed-off-by: Andrew Jeff

meson: Specify OEM extensions in an array

Prevent a proliferation of options by exploiting choice-constrained
arrays.

Change-Id: I5bb5c9bfd41d2854fafee189734abcf58b058d82
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

35b72d9520-Nov-2024 Thu Nguyen <thu@os.amperecomputing.com>

base: add PLDM Command numbers

Add more PLDM command numbers as table "Table 7 - PLDM Messaging
Control and Discovery Command Codes" in DSP0240 V1.2.0. These commands
will be used in pldm code as [1

base: add PLDM Command numbers

Add more PLDM command numbers as table "Table 7 - PLDM Messaging
Control and Discovery Command Codes" in DSP0240 V1.2.0. These commands
will be used in pldm code as [1].

[1] https://gerrit.openbmc.org/c/openbmc/pldm/+/75970

Change-Id: Ie265a53c7e851945a6c196528c0aa9cb34c7a146
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>

show more ...

30b2564520-Nov-2024 Thu Nguyen <thu@os.amperecomputing.com>

platform: add PLDM Command numbers

Add more PLDM command numbers as table "Table 110 - Command numbers" in
DSP0248 V1.3.0. These commands will be used in pldm code as [1].

[1] https://gerrit.openbm

platform: add PLDM Command numbers

Add more PLDM command numbers as table "Table 110 - Command numbers" in
DSP0248 V1.3.0. These commands will be used in pldm code as [1].

[1] https://gerrit.openbmc.org/c/openbmc/pldm/+/75949

Change-Id: I07a2762c20794e227ba479710296b77cfd7a518f
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>

show more ...

309a5cde20-Nov-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

libpldm: Install api header, update changelog

3a2c6589c566 ("dsp: firmware_update: Iterators for downstream device
descriptors") added some new firmware update APIs and a new header, but
forgot to i

libpldm: Install api header, update changelog

3a2c6589c566 ("dsp: firmware_update: Iterators for downstream device
descriptors") added some new firmware update APIs and a new header, but
forgot to install the new header and update the changelog. Fix both now.

gitlint-ignore: UC1, B1
Fixes: 3a2c6589c566 ("dsp: firmware_update: Iterators for downstream device descriptors")
Change-Id: I0e89aaf22638f019843937c4449e1169b6fa0092
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

3a2c658907-Nov-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

dsp: firmware_update: Iterators for downstream device descriptors

Provide an ergonomic and safe means to iterate through downstream
devices and their descriptors while avoiding the need to allocate.

dsp: firmware_update: Iterators for downstream device descriptors

Provide an ergonomic and safe means to iterate through downstream
devices and their descriptors while avoiding the need to allocate. The
strategy leaves the library user to make their own choices about how the
data is handled.

The user-facing portion of the change takes the form of two new macros,
to be nested inside one another:

```
foreach_pldm_downstream_device(...) {
foreach_pldm_downstream_device_descriptor(...) {
// Do something with the device-specific descriptor
}
}
```

Examples uses are provided in the documentation and in changes to the
test suite.

Change-Id: I6e79454b94868da73f318635bcaae57cd51fbf97
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

a9bd972d06-Nov-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

dsp: firmware_update: Fix local include of stdbool

Change-Id: I45fa986c24321aa7d6067b843d0d06ccde7d6d86
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

8e23fd0425-Oct-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

stateset: Add new state sets from DSP0249 v1.3.0

Add state set id's that are newly defined in v1.3.0 of DSP0249 Platform
Level Data Model (PLDM) State Set Specification.

Change-Id: I918a00b019377df

stateset: Add new state sets from DSP0249 v1.3.0

Add state set id's that are newly defined in v1.3.0 of DSP0249 Platform
Level Data Model (PLDM) State Set Specification.

Change-Id: I918a00b019377df5b3759a18a73e5f6d2dbeab0a
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...

654eb96625-Oct-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

entity: Add new entity types from DSP0249 v1.3.0

Add entity types that are newly defined in v1.3.0 of DSP0249 Platform
Level Data Model (PLDM) State Set Specification.

Change-Id: I9ba7d44c34795c41d

entity: Add new entity types from DSP0249 v1.3.0

Add entity types that are newly defined in v1.3.0 of DSP0249 Platform
Level Data Model (PLDM) State Set Specification.

Change-Id: I9ba7d44c34795c41dc0e9c9b18214faf9ac63019
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...

98e137de08-Oct-2024 Gilbert Chen <gilbertc@nvidia.com>

dsp: platform: Fix decode_set_event_receiver_req()

Per DSP0248 V1.3.0 table13, the heartbeatTimer field shall be omitted
from the request data if eventMessageGlobalEnable is not set to
enableAsyncKe

dsp: platform: Fix decode_set_event_receiver_req()

Per DSP0248 V1.3.0 table13, the heartbeatTimer field shall be omitted
from the request data if eventMessageGlobalEnable is not set to
enableAsyncKeepAlive.

Rework the change in 8c43abb due to the issue found in
openbmc/pldm@35f25949fe4d ("Fix invalid read by adjusting request
size")

gitlint-ignore: B1, UC1
Fixes: 66c7723adbdc ("msgbuf: Enable pldm_msgbuf_extract() into packed members")
Fixes: 9667f5823930 ("platform: pldm_msgbuf for decode_set_event_receiver_req()")
Fixes: 6ef2aa90a793 ("platform: Test invalid heartbeat conditions after assignment")
Fixes: 9c76679224cf ("libpldm: Migrate to subproject")
Change-Id: I7ca50e487b9f1e6c6ea2b34f73c363def8b2d295
Signed-off-by: Gilbert Chen <gilbertc@nvidia.com>

show more ...

a989249902-Oct-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

dsp: firmware_update: Bounds check decode_downstream_device_parameter_table_entry_versions()

```
../src/dsp/firmware_update.c: In function ‘decode_downstream_device_parameter_table_entry_versions’:

dsp: firmware_update: Bounds check decode_downstream_device_parameter_table_entry_versions()

```
../src/dsp/firmware_update.c: In function ‘decode_downstream_device_parameter_table_entry_versions’:
../src/dsp/firmware_update.c:1248:48: error: use of attacker-controlled value ‘*entry.active_comp_ver_str_len’ as offset without upper-bounds checking [CWE-823] [-Werror=analyzer-tainted-offset]
1248 | active[entry->active_comp_ver_str_len] = '\0';
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
```

gitlint-ignore: T1, B1, UC1
Fixes: b6ef35b48065 ("fw_update: Add encode req & decode resp for get_downstream_fw_params")
Change-Id: I15571804f391dc97de6d80c90325ded006aee500
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

2332e05707-Oct-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

Revert "dsp: platform: Fix decode_set_event_receiver_req()"

This reverts commit 8c43abb70aeadde39d99af2c1b6b5d4a1416fc47.

As found in openbmc/pldm@35f25949fe4d ("Fix invalid read by adjusting
reque

Revert "dsp: platform: Fix decode_set_event_receiver_req()"

This reverts commit 8c43abb70aeadde39d99af2c1b6b5d4a1416fc47.

As found in openbmc/pldm@35f25949fe4d ("Fix invalid read by adjusting
request size") the change in 8c43abb70aea ("dsp: platform: Fix
decode_set_event_receiver_req()") reduces the value of
PLDM_SET_EVENT_RECEIVER_REQ_BYTES and causes an out-of-bounds access.

A new macro should be introduced rather than changing the value of
PLDM_SET_EVENT_RECEIVER_REQ_BYTES.

Change-Id: I922c7eff86919f513e302bec393c0a516046e923
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

8c43abb701-Oct-2024 Gilbert Chen <gilbertc@nvidia.com>

dsp: platform: Fix decode_set_event_receiver_req()

Per DSP0248 V1.3.0 table13, the heartbeatTimer field shall be omitted
from the request data if eventMessageGlobalEnable is not set to
enableAsyncKe

dsp: platform: Fix decode_set_event_receiver_req()

Per DSP0248 V1.3.0 table13, the heartbeatTimer field shall be omitted
from the request data if eventMessageGlobalEnable is not set to
enableAsyncKeepAlive.

gitlint-ignore: B1, UC1
Fixes: 66c7723adbdc ("msgbuf: Enable pldm_msgbuf_extract() into packed members")
Fixes: 9667f5823930 ("platform: pldm_msgbuf for decode_set_event_receiver_req()")
Fixes: 6ef2aa90a793 ("platform: Test invalid heartbeat conditions after assignment")
Fixes: 9c76679224cf ("libpldm: Migrate to subproject")
Change-Id: Ia2a0c71a1f37a0fd32670b9b66b051e18fb73dbe
Signed-off-by: Gilbert Chen <gilbertc@nvidia.com>

show more ...

387b10f624-Sep-2024 Thu Nguyen <thu@os.amperecomputing.com>

platform: fix encode/decode_poll_for_platform_event_message_req

The checking `TransferOperationFlag` and `eventIDToAcknowledge` in
`encode/decode_poll_for_platform_event_message_req` APIs is not
cor

platform: fix encode/decode_poll_for_platform_event_message_req

The checking `TransferOperationFlag` and `eventIDToAcknowledge` in
`encode/decode_poll_for_platform_event_message_req` APIs is not
corrected. Update the conditions to follow the section `16.7
PollForPlatformEventMessage command` in DSP0248 V1.3.0.

Change-Id: Ie799d38f4a492b7719c2ff7c14fe83a1f81dc0b1
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>

show more ...

3f87748119-Sep-2024 Pavithra Barithaya <pavithrabarithaya07@gmail.com>

oem: ibm: Add PCIe Topology Actions StateSetId and Enums

PCIe Topology involves certain actions that can be done in order
to either get the topology info or save the topology info etc.
This commit a

oem: ibm: Add PCIe Topology Actions StateSetId and Enums

PCIe Topology involves certain actions that can be done in order
to either get the topology info or save the topology info etc.
This commit adds the necessary enumerations for the topology
action and the corresponding state set ID.

Change-Id: I6fa7d25327a8ce94b3538de3e46e25e944088997
Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>

show more ...

7a3c14ec08-Sep-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

base: Add size and buffer macros for struct pldm_msg

Give library users a supported way to allocate pldm_msg buffers on the
stack.

A demonstration conversion is done in tests/oem/ibm/host.cpp.

Cha

base: Add size and buffer macros for struct pldm_msg

Give library users a supported way to allocate pldm_msg buffers on the
stack.

A demonstration conversion is done in tests/oem/ibm/host.cpp.

Change-Id: I71158bd6b062c6e6522dc4a4cdcb089a139cd841
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

123456789