Revision tags: v0.8.0 |
|
#
c8df31c1 |
| 21-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
msgbuf: Add error code personalities
libpldm is in a bit of a transitional period with respect to returned error codes. A historical choice was to return PLDM completion codes from the library API t
msgbuf: Add error code personalities
libpldm is in a bit of a transitional period with respect to returned error codes. A historical choice was to return PLDM completion codes from the library API to indicate errors. This is unfortunate because we're now constrained to errors that are specified by the PLDM protocol, which is much less expressive than the set of errors that might be produced by a run-time environment for the library.
The choice going forward is to return C's errno codes. However at this point we step on another rake in the libpldm design, which is that some internal data structures are very much the wire format of corresponding PLDM messages (such as the PDR repository implementation). Working with wire-format buffers is most safely done via the msgbuf APIs, however we then hit the conflict of different error code styles in various parts of the API surface.
Do a bit of surgery to provide different error code personalities for msgbuf, such that the caller can pick the style of error code they need it to return to maintain consistency.
Note that like the previous patch marking all msgbuf APIs as __attribute__((always_inline)), the rework here makes another small impact on the argument register allocation of several stable APIs. The ABI dump is updated accordingly.
Change-Id: Id59c39c5c822f514f546dab88575317071a97c96 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
76712f69 |
| 22-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
msgbuf: Always inline all functions
The intent of the msgbuf APIs is that they are glorified wrappers around singular load/store sequences. Given this, mark all of them as `__attribute__((always_inl
msgbuf: Always inline all functions
The intent of the msgbuf APIs is that they are glorified wrappers around singular load/store sequences. Given this, mark all of them as `__attribute__((always_inline))`.
Note that this apparently impacts the library ABI of the following functions:
- `decode_get_state_sensor_readings_resp` - `decode_platform_event_message_req` - `decode_pldm_pdr_repository_change_record_data` - `decode_pldm_pdr_repository_chg_event_data` - `decode_sensor_op_data` - `decode_set_event_receiver_resp` - `decode_state_sensor_data`
On x86_64 the argument register selection is rearranged, for example:
```diff 'Reg' => { - '2' => 'rbx' + '0' => 'rdi', + '1' => 'rsi', + '2' => 'rdx' }, 'Return' => '100', 'ShortName' => 'decode_set_event_receiver_resp' ```
I'm yet to understand how we ended up with argument 2 being passed in `rbx`, as the psABI[1][2] v1.0 does not define `rbx` as an argument-passing register (see Figure 3.4 on page 26). Possibly because it's callee-saved it can be exploited this way. The previously recorded registers of other functions appear to have the same concern. By contrast, `rdi`, `rsi` and `rdx` are defined as the 1st, 2nd and 3rd argument-passing registers respectively, which with respect to the function at hand seems reasonable.
[1]: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build [2]: https://gitlab.com/x86-psABIs/x86-64-ABI
Change-Id: I38c2d36d254bbd54012848b2b5c5ab52c0f04003 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
c166dd5f |
| 22-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Release v0.8.0
Change-Id: I5950344f0f35609cd178c4505dc662f1ddbc5e78 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
|
#
615a1f1c |
| 23-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
abi: Run the captured dump through the dump formatter
The change entirely consists of whitespace, and can be verified with:
``` $ git diff --stat=1 ...cc.dump | 25122 +++--- 1 file changed, 12561
abi: Run the captured dump through the dump formatter
The change entirely consists of whitespace, and can be verified with:
``` $ git diff --stat=1 ...cc.dump | 25122 +++--- 1 file changed, 12561 insertions(+), 12561 deletions(-) $ git diff --stat=1 --ignore-all-space $ ```
Change-Id: Ibc0ad3a1de618353557b3c94d6debb5c99d290fd Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
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 ...
|
#
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 ...
|
#
1077d2d1 |
| 27-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Configure abi-dumper for mixed headers
We split the headers between include/ and src/ dependening on their purpose and use different include strategies to differentiate. There's no restrictio
meson: Configure abi-dumper for mixed headers
We split the headers between include/ and src/ dependening on their purpose and use different include strategies to differentiate. There's no restriction on the header names, so make sure abi-dumper is aware.
Change-Id: I21a6da776ce8bbf5d5d1e328f44e9cd650406dea Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
75eea49e |
| 27-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Sort abi-dumper output
It turns out that it helps to read the man-page! Hopefully this makes the show a whole lot more manageable.
Change-Id: I2b44a457702f1792617c0d76a443bd27b85c1515 Signed
meson: Sort abi-dumper output
It turns out that it helps to read the man-page! Hopefully this makes the show a whole lot more manageable.
Change-Id: I2b44a457702f1792617c0d76a443bd27b85c1515 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 ...
|
#
d555a39c |
| 15-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
abi: Update x86_64 dump in accordance with the CI output
Maintain the x86_64 ABI dump as generated by the OpenBMC CI container. This is a sensible reference point that should give us consistent dump
abi: Update x86_64 dump in accordance with the CI output
Maintain the x86_64 ABI dump as generated by the OpenBMC CI container. This is a sensible reference point that should give us consistent dump output.
Change-Id: I2f573a159cfa5564d952d62a882ef06a27041e91 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 ...
|
#
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 ...
|
Revision tags: v0.6.0 |
|
#
d2a36a16 |
| 21-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Release v0.6.0
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifb48f45630ee5d0701e2fa138004103190db1809
|
#
def8e024 |
| 16-Aug-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr: Stabilize pldm_entity_node_get_remote_container_id()
Use of pldm_entity_node_get_remote_container_id() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/39198
Change-Id: If8df
pdr: Stabilize pldm_entity_node_get_remote_container_id()
Use of pldm_entity_node_get_remote_container_id() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/39198
Change-Id: If8df1d73b1ea6e319b200ee76d4d4ac2e00ef9aa Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
255f6549 |
| 10-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Remove pldm_entity_association_pdr_add()
pldm_entity_association_pdr_add() was deprecated with the stabilisation of pldm_entity_association_pdr_add_check() in 096685b4768e ("pdr: Stabilise pldm
pdr: Remove pldm_entity_association_pdr_add()
pldm_entity_association_pdr_add() was deprecated with the stabilisation of pldm_entity_association_pdr_add_check() in 096685b4768e ("pdr: Stabilise pldm_entity_association_pdr_add_check()"). We've had an intervening tag, so remove it now
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I43df7451d3ed8d6c8f755e6bf23f335e2911184c
show more ...
|
Revision tags: v0.5.0 |
|
#
20cc060c |
| 09-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Release v0.5.0
The x86_64 ABI dump update unusually large. There seems to be some difference in dump content between distros/compilers/something. No additional symbols were marked as visib
libpldm: Release v0.5.0
The x86_64 ABI dump update unusually large. There seems to be some difference in dump content between distros/compilers/something. No additional symbols were marked as visible, so it appears okay.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3c21ae7ecddc3cb2b95f1b15a4c995611f6df374
show more ...
|
#
1ade87f4 |
| 28-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr : Stabilize pldm_entity_association_tree_add_entity()
Use of pldm_entity_association_tree_add_entity() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/44699
Change-Id: I4f756
pdr : Stabilize pldm_entity_association_tree_add_entity()
Use of pldm_entity_association_tree_add_entity() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/44699
Change-Id: I4f75685bba5b44da0b3b853dbc2853b4d5676530 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
7570fae4 |
| 28-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
pdr: Stabilise pldm_entity_association_tree_find_with_locality()
Use of pldm_entity_association_tree_find_with_locality()(Previously pldm_entity_association_tree_find_if_remote())is demonstrated her
pdr: Stabilise pldm_entity_association_tree_find_with_locality()
Use of pldm_entity_association_tree_find_with_locality()(Previously pldm_entity_association_tree_find_if_remote())is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/44699
Change-Id: I715bcd63eb05442be097d6cc0682b1fb25ea3c07 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
f047004e |
| 19-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
platform: Uniform struct field name for Numeric SensorValue PDR
The PDR structure has a field for entity instance number. This commit is making the field name uniform across all the PDR structures d
platform: Uniform struct field name for Numeric SensorValue PDR
The PDR structure has a field for entity instance number. This commit is making the field name uniform across all the PDR structures defined because the user APIs can access these structures using a common template.
Added it as a union for now but later in time we will remove the union and the non-uniform field name.
Change-Id: I36d4c9ac80ccbd4b539cb2efa02af727be265565 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
096685b4 |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Stabilise pldm_entity_association_pdr_add_check()
Having done so, also deprecate pldm_entity_association_pdr_add().
Use of pldm_entity_association_pdr_add_check() is demonstrated here:
https:
pdr: Stabilise pldm_entity_association_pdr_add_check()
Having done so, also deprecate pldm_entity_association_pdr_add().
Use of pldm_entity_association_pdr_add_check() is demonstrated here:
https://gerrit.openbmc.org/c/openbmc/pldm/+/65040
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I48dc71078d54685992b152fb3c37fbd8e247ece0
show more ...
|
#
5e461141 |
| 19-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
abi: Update dumps to remove newly-static functions
I must have messed something up when checking the dumps for the affected commits, because I recall being surprised that the removals didn't appear.
abi: Update dumps to remove newly-static functions
I must have messed something up when checking the dumps for the affected commits, because I recall being surprised that the removals didn't appear. They have now, so make sure we capture that they've gone.
Fixes: 54d91e81c0f4 ("pdr: Make entity_association_tree_find() static") Fixes: 643c443b17bf ("pdr: Make find_entity_ref_in_tree() static") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I15fee79a982b5c484664b8625b85aa77ba52e094
show more ...
|
#
8985dfd1 |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Remove pldm_entity_association_pdr_add_from_node()
pldm_entity_association_pdr_add_from_node() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-I
pdr: Remove pldm_entity_association_pdr_add_from_node()
pldm_entity_association_pdr_add_from_node() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I41b79b015fde81184c8726a3784e9d918d8d9743
show more ...
|