#
36402ffb |
| 16-Aug-2023 |
BonnieLo-wiwynn <Bonnie_Lo@wiwynn.com> |
transport: fix init_pollfd function parameter
The init_pollfd function parameter was declared as pldm_transport_af_mctp, but it seems like it is intended to use pldm_transport instead. The headers w
transport: fix init_pollfd function parameter
The init_pollfd function parameter was declared as pldm_transport_af_mctp, but it seems like it is intended to use pldm_transport instead. The headers were not included in c files, so it didn't cause conflicting types at compile time.
Change-Id: I54f1397efee0ae5e68a24f1473e0395f02d53eaf Fixes: c1b66f4 ("requester: Add new APIs to support multiple transports") Fixes: ba6971b ("requester: Add af_mctp transport") Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
show more ...
|
#
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 ...
|
#
b4cd5172 |
| 14-Aug-2023 |
Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> |
transport: register init_pollfd callback for af-mctp
This was missed when initializing af-mctp.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport") Change-Id: Idf3589a2544ce277639e89359904112a
transport: register init_pollfd callback for af-mctp
This was missed when initializing af-mctp.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport") Change-Id: Idf3589a2544ce277639e89359904112aeae09073 Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
show more ...
|
#
75ce90a5 |
| 10-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
changelog: Stabilise pldm_entity_association_tree_find_with_locality()
We failed to update the changelog in 7570fae432fa ("pdr: Stabilise pldm_entity_association_tree_find_with_locality()"), so do t
changelog: Stabilise pldm_entity_association_tree_find_with_locality()
We failed to update the changelog in 7570fae432fa ("pdr: Stabilise pldm_entity_association_tree_find_with_locality()"), so do that now.
Fixes: 7570fae432fa ("pdr: Stabilise pldm_entity_association_tree_find_with_locality()") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: If7949aec556a4f8ca98f4021f5fefb70fbb09a97
show more ...
|
#
e7eebe33 |
| 10-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
changelog: Note pldm_entity_association_tree_add_entity() stabilisation
The changelog wasn't updated in 1ade87f4c6ec ("pdr : Stabilize pldm_entity_association_tree_add_entity()"), so do that now.
F
changelog: Note pldm_entity_association_tree_add_entity() stabilisation
The changelog wasn't updated in 1ade87f4c6ec ("pdr : Stabilize pldm_entity_association_tree_add_entity()"), so do that now.
Fixes: 1ade87f4c6ec ("pdr : Stabilize pldm_entity_association_tree_add_entity()") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I0bd727f33074e66dd26bbaab7c036b3327dfadc5
show more ...
|
Revision tags: v0.4.0 |
|
#
5cf32ea8 |
| 02-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
meson: Apply `b_ndebug=if-release` by default
Disable assertions in release builds by default. In addition to improving the safety of the library, with GCC 13.1.1 on aarch64 (Fedora 38) this reduces
meson: Apply `b_ndebug=if-release` by default
Disable assertions in release builds by default. In addition to improving the safety of the library, with GCC 13.1.1 on aarch64 (Fedora 38) this reduces the text section by slightly more than 4KiB:
``` $ size build.undebug/libpldm.so build.ndebug/libpldm.so text data bss dec hex filename 109827 1448 16 111291 1b2bb build.undebug/libpldm.so 105395 1440 16 106851 1a163 build.ndebug/libpldm.so $ echo $((109827 - 105395)) 4432 ```
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I59d9bf2c636284c649abbdcc14a3c350d9ca94fd
show more ...
|
#
7062382a |
| 10-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Avoid ID overflow in pldm_entity_association_tree_add_entity()
Return early from pldm_entity_association_tree_add_entity() if the container ID space has been exhausted.
Signed-off-by: Andrew
pdr: Avoid ID overflow in pldm_entity_association_tree_add_entity()
Return early from pldm_entity_association_tree_add_entity() if the container ID space has been exhausted.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifc4ef529a8746c3b27b8925be1a038089f2f2729
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 ...
|
#
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 ...
|
#
f56e4dcd |
| 23-Jul-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
transport: free un-wanted responses in pldm_transport_send_recv_msg()
mctp-demux broadcasts the PLDM response messages to all of mctp socket instances. That means the GetSensorReading response from
transport: free un-wanted responses in pldm_transport_send_recv_msg()
mctp-demux broadcasts the PLDM 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. The `pldm_transport_send_recv_msg()` will detect the reponse of GetSensorReading as the response of the GetPDR request.
To prevent this unexpected behavior the `pldm_transport_send_recv_msg()` should free the un-wanted responses before sending new PLDM request. The serialised message to be sent must already encode an allocated instance ID, which by the specification must not be reused before expiry. Therefore after the socket is drained, any subsequent response containing the request's instance ID must be the response matching the request.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> [AJ: Add a test, massage the commit message] Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I6c684bdaea2ba5d96b24ecd3c72e846c644fb16d
show more ...
|
#
ef485068 |
| 14-Jul-2023 |
Thu Nguyen <thu@os.amperecomputing.com> |
transport: Correct comparison in while loop condition
With the latest libpldm code version 0.4, sometimes the calling `pldmtool platform GetPDR` command while polling the sensors will be ended with
transport: Correct comparison in while loop condition
With the latest libpldm code version 0.4, sometimes the calling `pldmtool platform GetPDR` command while polling the sensors will be ended with the error `Failed to receive RC = 8`. This error code is printed when the `pldm_transport_send_recv_msg()` responses PLDM_REQUESTER_RECV_FAIL when it exits the while loop. The while loop will continue while the now time is still not later than the end time. The comparison should be corrected.
Tested: 1. Call "pldmtool platform GetPDR" while reading the sensors. 2. No "Failed to receive RC = 8". 3. Added a test case and verified we see multiple invocations of poll:
``` 22:49:31.807615 timerfd_create(CLOCK_MONOTONIC, 0) = 3 22:49:31.807774 timerfd_settime(3, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 22:49:31.807893 timerfd_settime(3, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=1, tv_nsec=0}}, NULL) = 0 22:49:31.808009 ppoll([{fd=3, events=POLLIN}], 1, {tv_sec=4, tv_nsec=800000000}, NULL, 0) = 1 ([{fd=3, revents=POLLIN}], left {tv_sec=3, tv_nsec=799317702}) 22:49:32.809245 timerfd_settime(3, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 22:49:32.810336 timerfd_settime(3, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=4, tv_nsec=0}}, NULL) = 0 22:49:32.810899 ppoll([{fd=3, events=POLLIN}], 1, {tv_sec=3, tv_nsec=798000000}, NULL, 0) = 0 (Timeout) 22:49:36.614235 close(3) = 0 ```
Fixes: abaf61f45e2a ("transport: Prevent sticking in waiting for response") Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> [AJ: Add unit test] Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: If1829a35d755d68fd6a18d8e6ad54d1648ccc4ce
show more ...
|
#
3380a6c6 |
| 11-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: pldm_transport_poll(): Adjust return value semantics
Prior, a timeout in pldm_transport_poll() would result in a pldm_transport_recv() call being issued in pldm_transport_send_recv(). Tha
transport: pldm_transport_poll(): Adjust return value semantics
Prior, a timeout in pldm_transport_poll() would result in a pldm_transport_recv() call being issued in pldm_transport_send_recv(). That's not the right course of action as it will translate to a blocking recv() system call for either of the current transport implementations. As there's no data present the recv() blocks indefinitely, violating the timeout constraint.
Instead, align the behaviour with POSIX poll(2)[1], which returns the number of active descriptors. The number of active descriptors is 0 if a timeout occurs.
[1]: https://www.man7.org/linux/man-pages/man2/poll.2.html#RETURN_VALUE
Fixes: c1b66f420912 ("requester: Add new APIs to support multiple transports") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Id75e8dad49a0ea6081830d0825896094bff0e827
show more ...
|
#
8bcbe251 |
| 27-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
changlog: Fix ordering of Deprecated header under [Unreleased]
Keep the header ordering the same as the ordering of the category list in the preamble.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au
changlog: Fix ordering of Deprecated header under [Unreleased]
Keep the header ordering the same as the ordering of the category list in the preamble.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I963ad6acb30889a3c2093686e4ca98c9de848983
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 ...
|
#
d3f781de |
| 19-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
platform: Uniform struct field name for FRU Record Set PDR
The PDR structure has a field for entity instance number. This commit is making the field uniform across all the PDR structures defined bec
platform: Uniform struct field name for FRU Record Set PDR
The PDR structure has a field for entity instance number. This commit is making the field 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: Ib9da47d0b354a6fb67f95ae3c84791dad6daec98 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
ccd986f6 |
| 14-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
state-set: Add the enum for Operational Stress Status state
As per the spec DSP0249 the PLDM state set Operational Stress Status [Set ID: 9] can have two enumeration values defined. This commit adds
state-set: Add the enum for Operational Stress Status state
As per the spec DSP0249 the PLDM state set Operational Stress Status [Set ID: 9] can have two enumeration values defined. This commit adds the enum for the same.
Change-Id: I37962d53c8baf48d0af7beb5ea891c0d2350f4c2 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
#
54d91e81 |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Make entity_association_tree_find() static
entity_association_tree_find() was deprecated in v0.4.0, mark it static as it should have been.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Chang
pdr: Make entity_association_tree_find() static
entity_association_tree_find() was deprecated in v0.4.0, mark it static as it should have been.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ie3ee6780eb4a6bc8829fa2e3ab9939f03782c59c
show more ...
|
#
643c443b |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Make find_entity_ref_in_tree() static
find_entity_ref_in_tree() was deprecated in v0.4.0, now mark it as static like it should have been.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change
pdr: Make find_entity_ref_in_tree() static
find_entity_ref_in_tree() was deprecated in v0.4.0, now mark it as static like it should have been.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I64e335b7be56769254b277b0b6dbdfcd33b80571
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 ...
|
#
14d2984b |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Remove pldm_pdr_add_fru_record_set()
pldm_pdr_add_fru_record_set() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3a3f76baf9dca84e2c6b8674
pdr: Remove pldm_pdr_add_fru_record_set()
pldm_pdr_add_fru_record_set() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3a3f76baf9dca84e2c6b867448257a0b6e2ab178
show more ...
|
#
c79a5df5 |
| 17-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Remove pldm_pdr_add()
pldm_pdr_add() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ie8a00749a0473cb76e503cf88d5ae1379918a0a6
|
#
d09b1af0 |
| 16-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pdr: Make is_present() static
is_present() was marked deprecated in v0.4.0, mark it static now to remove the symbol from the library ABI.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id:
pdr: Make is_present() static
is_present() was marked deprecated in v0.4.0, mark it static now to remove the symbol from the library ABI.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I40bbcc69aa2c9bd4d7dd8acb0b6042811611963f
show more ...
|
#
8810fece |
| 16-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
fru: Remove get_fru_record_by_option()
get_fru_record_by_option() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3b87657f0b781dc5c272c01a63dd08
fru: Remove get_fru_record_by_option()
get_fru_record_by_option() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3b87657f0b781dc5c272c01a63dd08e08cfdbad7
show more ...
|
#
50dd159e |
| 14-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
bios_table: Remove pldm_bios_table_append_pad_checksum()
pldm_bios_table_append_pad_checksum() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I5
bios_table: Remove pldm_bios_table_append_pad_checksum()
pldm_bios_table_append_pad_checksum() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I5b0d5abdb32b3c814ff86a85492dce754b36b1e0
show more ...
|
#
4e1f131c |
| 14-Jul-2023 |
Andrew Jeffery <andrew@aj.id.au> |
bios_table: Remove pldm_bios_table_attr_value_entry_encode_integer()
pldm_bios_table_attr_value_entry_encode_integer() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew
bios_table: Remove pldm_bios_table_attr_value_entry_encode_integer()
pldm_bios_table_attr_value_entry_encode_integer() was deprecated in v0.4.0, remove it now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I6269ffc48a4c6b44f77e82bef4fbe837e77874d6
show more ...
|