#
51230a0a |
| 10-Nov-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
pdr: Remove redundant constant for minimum numeric sensor PDR length
The minimum length of the PDR message is defined as `PLDM_PDR_NUMERIC_SENSOR_PDR_MIN_LENGTH` in `libpldm/platform.h`. No need to
pdr: Remove redundant constant for minimum numeric sensor PDR length
The minimum length of the PDR message is defined as `PLDM_PDR_NUMERIC_SENSOR_PDR_MIN_LENGTH` in `libpldm/platform.h`. No need to redefine.
Fixes: 7992eb8415cb ("Add numeric sensor PDR and sensor aux names PDR") Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: Ia8564d92c8683fa29572dc4662dc0edd8f726a73
show more ...
|
#
cd07fec7 |
| 10-Nov-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
msgbuf: Require sensor data enum in pldm_msgbuf_extract_sensor_value()
`pldm_msgbuf_extract_sensor_value()` extracts the sensor value from the pldm_msgbuf. The type of the `tag` should be the sensor
msgbuf: Require sensor data enum in pldm_msgbuf_extract_sensor_value()
`pldm_msgbuf_extract_sensor_value()` extracts the sensor value from the pldm_msgbuf. The type of the `tag` should be the sensor data type but not the effecter data type. Change the input `tag` parameter type from `pldm_effecter_data_size` to `pldm_sensor_readings_data_type`.
Fixes: 840b140a92aa ("platform: pldm_msgbuf for decode_get_sensor_reading_resp()") Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I3e7da13c2d3260026bb15c7127c08087ea46593f
show more ...
|
#
c6c391d6 |
| 08-Nov-2023 |
George Liu <liuxiwei@inspur.com> |
pdr: Add preconditions for pldm_entity_association_tree_copy_root()
pldm_entity_association_tree_copy_root() requires that the arguments passed point to valid objects. Ensure this is documented, and
pdr: Add preconditions for pldm_entity_association_tree_copy_root()
pldm_entity_association_tree_copy_root() requires that the arguments passed point to valid objects. Ensure this is documented, and add assert()s for early warning of precondition violation in debug builds
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I15f4f10d5e7a8cebfffae94bb868a905c7c98f3d
show more ...
|
#
a98814fc |
| 29-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
oem: meta: stabilise decode_oem_meta_file_io_req()
Use of decode_oem_meta_file_io_req() is demonstrated in:
67050: Support OEM-META write file request for post code history https://gerrit.openbmc.o
oem: meta: stabilise decode_oem_meta_file_io_req()
Use of decode_oem_meta_file_io_req() is demonstrated in:
67050: Support OEM-META write file request for post code history https://gerrit.openbmc.org/c/openbmc/pldm/+/67050
Change-Id: I03cfd68f279f9bfdf515ca4302561ca0464c75cc Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
39eb3224 |
| 17-Nov-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr: Assign record_handle in entity_association_pdr_add_children()
The entity_association_pdr_add_children() static API was hard coding the record handle value to 0 rather than assigning the record_
pdr: Assign record_handle in entity_association_pdr_add_children()
The entity_association_pdr_add_children() static API was hard coding the record handle value to 0 rather than assigning the record_handle value provided as a input parameter.
Tested: Unit tested
Fixes: 25ddbccfae0e ("pdr: Add pldm_entity_association_pdr_add_from_node_with_record_handle()") Change-Id: I96b6a340f027abd2ef4009380a2fcf27742531bd Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
22fad395 |
| 26-Oct-2023 |
Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> |
oem: meta: Add decode_oem_meta_file_io_req()
Support decode_oem_meta_file_io_req() cmd to decode the incoming post code.
PLDM OEM Meta Write File IO cmd: Example: Request: Byte 0: 0x3F (OEM c
oem: meta: Add decode_oem_meta_file_io_req()
Support decode_oem_meta_file_io_req() cmd to decode the incoming post code.
PLDM OEM Meta Write File IO cmd: Example: Request: Byte 0: 0x3F (OEM cmd) Byte 1: 0x02 (FILE IO) Byte 2: 0x00 (File io type : POST CODE) Byte 3-6: 0x04 (Data length) Byte 7-10: 0x93 0xE0 0x00 0xEA (post code)
Response: Byte 0: 0x00 (success)
Tested: - Unit Tests passed.
Change-Id: I85437698642dd3cbe6084acf1feada842d206eac Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
show more ...
|
#
3a267059 |
| 13-Nov-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr: Stabilise pldm_entity_association_pdr_add_from_node_with_record_handle()
The usage of pldm_entity_association_pdr_add_from_node_with_record_handle() is demonstrated here:
https://gerrit.openbm
pdr: Stabilise pldm_entity_association_pdr_add_from_node_with_record_handle()
The usage of pldm_entity_association_pdr_add_from_node_with_record_handle() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/63125
Change-Id: I564d2253402b22af561ebf710f33c142b70b2e16 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
4a307bca |
| 13-Nov-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr: Stabilise pldm_pdr_find_last_in_range() API
Use of pldm_pdr_find_last_in_range() API is demonstarted here: https://gerrit.openbmc.org/c/openbmc/pldm/+/63125
Change-Id: Idf51abc591fd2e2ab31f3b7
pdr: Stabilise pldm_pdr_find_last_in_range() API
Use of pldm_pdr_find_last_in_range() API is demonstarted here: https://gerrit.openbmc.org/c/openbmc/pldm/+/63125
Change-Id: Idf51abc591fd2e2ab31f3b7e1d2957d1345702e7 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
efb40069 |
| 09-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: More fixes for header use
b0c1d20a5bde ("libpldm: Fix header use") only did half the job, addressing compilation concerns for the library itself. As it turns out there were still plenty of
libpldm: More fixes for header use
b0c1d20a5bde ("libpldm: Fix header use") only did half the job, addressing compilation concerns for the library itself. As it turns out there were still plenty of places that used local includes for paths to the public headers.
Apply the rest of the header cleanups to hopefully get us into a consistent state.
Fixes: b0c1d20a5bde ("libpldm: Fix header use") Change-Id: I8d4b59c9241770583abb30389452af0a32b18b99 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
d12dd36e |
| 09-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Rationalise the local and installed path of pldm.h
Since chopping libpldm out of openbmc/pldm.git there's been a symlink from `include/libpldm/pldm.h` pointing to `include/libpldm/requester
libpldm: Rationalise the local and installed path of pldm.h
Since chopping libpldm out of openbmc/pldm.git there's been a symlink from `include/libpldm/pldm.h` pointing to `include/libpldm/requester/pldm.h`. The file list contained in the `libpldm_headers` variable defined by `include/libpldm/meson.build` contained an entry for `requester/pldm.h`, though not the symlink found at `include/libpldm/pldm.h`.
Prior to a7989cd65d51 ("meson: Fix for OEM header collision issue") `install_headers(libpldm_headers, ...)` directive didn't specify `preserve_path: true`, therefore the `requester/pldm.h` header file was installed directly under `${INCLUDEDIR}/libpldm` as `${INCLUDEDIR}/libpldm/pldm.h`, and no file was installed to `${INCLUDEDIR}/libpldm/requester/pldm.h`.
All dependent applications using the declarations in `pldm.h` therefore included the header using the directive `#include <libpldm/pldm.h>`. However, internal to the libpldm implementation we were using the non-symlinked path in the local tree: `#include "libpldm/requester/pldm.h"`
With a7989cd65d51 ("meson: Fix for OEM header collision issue") we rationalised the meson variables used to install the headers as part of properly separating OEM headers from one-another. This lead to specifying `preserve_path: true` for the `install_headers(libpldm_headers, ...)` meson directive, which further lead to the installed location of `pldm.h` changing to `${INCLUDEDIR}/libpldm/requester/pldm.h`. This broke all consuming applications which were necessarily using `#include <libpldm/pldm.h>` as outlined above.
Get rid of the symlink at `include/libpldm/pldm.h`, move `include/libpldm/requester/pldm.h` there instead, and fix up all internal references to the header. This unbreaks applications consuming libpldm, and prevents internal inconsistencies going forward.
Fixes: a7989cd65d51 ("meson: Fix for OEM header collision issue") Change-Id: I24f1e25303890c41fd3da6323c67d838022cc55d Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
6967fc73 |
| 31-Oct-2023 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add supported PLDM message types to the enum
Added PLDM_SMBIOS & PLDM_RDE messages types to the enum based on DSP0245 specification.
Change-Id: I936ee7fcd0937c1f8026a6e01ef6513d6a489450 Signed-off-
Add supported PLDM message types to the enum
Added PLDM_SMBIOS & PLDM_RDE messages types to the enum based on DSP0245 specification.
Change-Id: I936ee7fcd0937c1f8026a6e01ef6513d6a489450 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
b0c1d20a |
| 07-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Fix header use
The headers need to work whether we're building libpldm in the repo or we're building another project depending on the headers in the system include directory.
Tidy up the p
libpldm: Fix header use
The headers need to work whether we're building libpldm in the repo or we're building another project depending on the headers in the system include directory.
Tidy up the paths involved and switch to defining the public headers as system headers for the purpose of the build.
Change-Id: I49413988c94d393ea5761bc4684edcd2c2482a98 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
499389ec |
| 19-Oct-2023 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
oem: ibm: Add chapdata file type support
- When remote user configure the network parameter information for partition firmware to boot different server on the network then remote user has to aut
oem: ibm: Add chapdata file type support
- When remote user configure the network parameter information for partition firmware to boot different server on the network then remote user has to authenticate themselves to the server.
- Remote user will pass encrypted key(chapsecret) and it's keyname (chapname) to remote host via file io operation which would be done via PLDM.
- Adding new chapdata file type support which contain chapname and chapsecret information which would be communicate to remote terminus via PLDM.
Change-Id: I48710a7ce80e08a27c0b0e960378b2f56c69b4ef Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
#
acf22454 |
| 18-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
changlog: Move new entries out of v0.7.0 release section
Changes post-v0.7.0 were mistakenly added into the v0.7.0 section. Move them out into the Unreleased section.
Fixes: 91c06e9a535b ("base: Pr
changlog: Move new entries out of v0.7.0 release section
Changes post-v0.7.0 were mistakenly added into the v0.7.0 section. Move them out into the Unreleased section.
Fixes: 91c06e9a535b ("base: Provide pldm_msg_hdr_correlate_response()") Fixes: cc45aed7808d ("transport: af-mctp: Add pldm_transport_af_mctp_bind()") Fixes: 5239d9a69cc2 ("base: Stabilise pldm_msg_hdr_correlate_response()") Fixes: 7dc429da1b29 ("transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()") Change-Id: I534628c36f9db8d67f66b5acf96f0d71d64c58bb Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
7dc429da |
| 15-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()
Use of pldm_transport_af_mctp_bind() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/63652
transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()
Use of pldm_transport_af_mctp_bind() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/63652
Change-Id: I9c902d94c13bceb611606e7439964d9485ebec07 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
5239d9a6 |
| 15-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
base: Stabilise pldm_msg_hdr_correlate_response()
Use of pldm_msg_hdr_correlate_response() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/66819
Change
base: Stabilise pldm_msg_hdr_correlate_response()
Use of pldm_msg_hdr_correlate_response() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/66819
Change-Id: I875b2dee5247c986a36ccd456956fb7e2a18d11a Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
cc45aed7 |
| 10-Sep-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: af-mctp: Add pldm_transport_af_mctp_bind()
The af-mctp transport needs specific setup before it can receive requests[1]. Futher, we must track the MCTP metadata on each request message an
transport: af-mctp: Add pldm_transport_af_mctp_bind()
The af-mctp transport needs specific setup before it can receive requests[1]. Futher, we must track the MCTP metadata on each request message and apply it to the response for correlation at the requester. This behaviour is addressed in the Message Tag and Tag Owner fields outlined by Table 1 of DSP0236 v1.3.1.
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/mctp.rst?h=v6.5#n73
Change-Id: I3fbd84a4174b56d618a42ca58c9881ea5a80f060 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
#
91c06e9a |
| 22-Sep-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
base: Provide pldm_msg_hdr_correlate_response()
Users of the asynchronous pldm_transport_send_msg() and pldm_transport_recv_msg() APIs likely need some way to correlate a received message as a respo
base: Provide pldm_msg_hdr_correlate_response()
Users of the asynchronous pldm_transport_send_msg() and pldm_transport_recv_msg() APIs likely need some way to correlate a received message as a response to a sent request.
Change-Id: I232400aebf06845e3eabf24205e31aa5668de9ba Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
Revision tags: v0.7.0 |
|
#
3f39f963 |
| 29-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Release v0.7.0
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I7bd69123b2939eef20ed1fe946cbf2adf78ad5be
|
#
34ac891f |
| 29-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
abi: Capture deprecation of pldm_close()
The deprecation of pldm_close() got missed in the ABI dump updates for 0a6d6821bd74 ("transport: Stabilise core transport and implementation APIs")
Fixes: 0
abi: Capture deprecation of pldm_close()
The deprecation of pldm_close() got missed in the ABI dump updates for 0a6d6821bd74 ("transport: Stabilise core transport and implementation APIs")
Fixes: 0a6d6821bd74 ("transport: Stabilise core transport and implementation APIs") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I5abfb67296140303e69c289a7067898aeaccdc18
show more ...
|
#
ba05dba7 |
| 29-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
tests: Exclude transport tests when build excludes testing ABIs
The test transport will never be marked stable as we never want to publicly expose it in a production build. Therefore isolate the tra
tests: Exclude transport tests when build excludes testing ABIs
The test transport will never be marked stable as we never want to publicly expose it in a production build. Therefore isolate the transport tests to builds that enable the testing ABI, allowing the transport tests to link.
Fixes: 0a6d6821bd74 ("transport: Stabilise core transport and implementation APIs") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: If1b252d8df0eeef9fb535824536436344d8c00ec
show more ...
|
#
0a6d6821 |
| 22-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: Stabilise core transport and implementation APIs
The following two patches demonstrate their use in pldmd:
1. https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 2. https://gerrit.openbmc.
transport: Stabilise core transport and implementation APIs
The following two patches demonstrate their use in pldmd:
1. https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 2. https://gerrit.openbmc.org/c/openbmc/pldm/+/65676
In the process, deprecate the old requester APIs. These are unsuitable for OpenBMC going forward, which will rely on AF_MCTP sockets for the MCTP transport implementation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I94a9d9ff5fc67d5d6cf9a2393ebef12fa7b277d7
show more ...
|
#
45816b89 |
| 22-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: mctp-demux: Drop ABI annotation for internal symbols
The symbols need to be exposed beyond the translation unit and so cannot be static, but we also do not want them exposed in the public
transport: mctp-demux: Drop ABI annotation for internal symbols
The symbols need to be exposed beyond the translation unit and so cannot be static, but we also do not want them exposed in the public symbol table of the shared object as they only exist for internal purposes.
Drop the ABI annotation so the symbols are hidden from the symbol table by the linker.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I1316705277b683767ab15bb6526010b0c7c6e121
show more ...
|
#
6c835a14 |
| 23-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
changelog: Move pldm_transport_send_recv_msg() note to Changed
It was mistakenly added under the Added header.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I96abd712104260e750df6201ce
changelog: Move pldm_transport_send_recv_msg() note to Changed
It was mistakenly added under the Added header.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I96abd712104260e750df6201ce0a5d34fee740a4
show more ...
|
#
16cd5232 |
| 22-Aug-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
transport: Match specified metadata in pldm_transport_send_recv_msg()
The mctp-demux broadcasts the PLDM RX response messages to all of mctp socket instances. That means the GetSensorReading respons
transport: Match specified metadata in pldm_transport_send_recv_msg()
The mctp-demux broadcasts the PLDM RX response messages to all of mctp socket instances. That means the GetSensorReading response from one instance (pldmd) can be received by the other instance (pldmtool) which is waiting for the response of GetPDR request message. When the gap time between the two requests of pldmtool is long enough the number of GetSensorReading response messages can be more than 32. That means the instance ID of new GetPDR command in pldmtool can equal with the used and free one in GetSensorReading. So the `pldm_transport_send_recv_msg()` will match the response of GetSensorReading with the response of GetPDR. So only comparing the instance ID in `pldm_transport_send_recv_msg` is not enough.
Section "Requirements for requesters" in DSP0240 version 1.1.0, "A PLDM terminus that issues PLDM requests should be prepared to handle the order of responses that may not match the order in which the requests were sent (that is, it should not automatically assume that a response that it receives is in the order in which the request was sent). It should check to see that the PLDM Type, PLDM Command Code, and Instance ID values in the response match up with a corresponding outstanding command before acting on any parameters returned in the response."
Add the PLDM type and command code on matching the response of `pldm_transport_send_recv_msg()`.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I7284bd4ecd8be3786fa078af1eb3f06046e4baa3
show more ...
|