#
e78035e8 |
| 30-Jan-2025 |
Archana Kakani <archana.kakani@ibm.com> |
meson: Format build files to match style guide
Added changes to meet the meson style guide https://mesonbuild.com/Style-guide.html https://mesonbuild.com/Commands.html#format
Change-Id: Ifad2a81a75
meson: Format build files to match style guide
Added changes to meet the meson style guide https://mesonbuild.com/Style-guide.html https://mesonbuild.com/Commands.html#format
Change-Id: Ifad2a81a7535a60f7a3a2a3ec475a3f339a8e42e Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
Revision tags: v0.11.0 |
|
#
bde874e9 |
| 05-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 ...
|
#
8c2bfb14 |
| 07-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 ...
|
Revision tags: v0.10.0 |
|
#
c69081af |
| 11-Oct-2024 |
Matt Johnston <matt@codeconstruct.com.au> |
meson: Make transport optional
transport and requester code has Linux-specific dependencies. Make building those parts optional (enabled by default).
Change-Id: I1fff0e3cc0a1edb302eee664d5bccb03254
meson: Make transport optional
transport and requester code has Linux-specific dependencies. Make building those parts optional (enabled by default).
Change-Id: I1fff0e3cc0a1edb302eee664d5bccb0325429609 Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
show more ...
|
#
65c64099 |
| 28-Nov-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Convert options from feature to boolean
Features are things we can automatically enable or disable based on the presence or absence of supporting dependencies. Neither ABI compliance testing
meson: Convert options from feature to boolean
Features are things we can automatically enable or disable based on the presence or absence of supporting dependencies. Neither ABI compliance testing (despite the fact that we can detect the tool) nor tests fit this category: They are developer tools and their use should be judged ahead of the invocation of meson.
Change-Id: I9725cc0444d92c8443cfb28ecd878f77792f38ce Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
fef24ed6 |
| 28-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 ...
|
Revision tags: v0.9.1 |
|
#
e984a461 |
| 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Format build files with `meson format`
Additionally, add the formatting command to `scripts/pre-submit` so it's run by OpenBMC's CI (via `scripts/run-ci`).
Change-Id: Ifb8fc06106b8cfa9155e98
meson: Format build files with `meson format`
Additionally, add the formatting command to `scripts/pre-submit` so it's run by OpenBMC's CI (via `scripts/run-ci`).
Change-Id: Ifb8fc06106b8cfa9155e986528b769a5ca450b4c Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
Revision tags: v0.9.0 |
|
#
d9b70ba7 |
| 08-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: fru: Rename get_fru_record_by_option_check()
We drop the `_check` suffix so that it is now `get_fru_record_by_option()`.
To do so, introduce some infrastructure that makes renaming APIs easier
dsp: fru: Rename get_fru_record_by_option_check()
We drop the `_check` suffix so that it is now `get_fru_record_by_option()`.
To do so, introduce some infrastructure that makes renaming APIs easier and scripts the migration for users. The renaming process comes in several parts, which are captured in the addition to the changes checklist.
The coccinelle script based off the insight at [1].
[1]: https://stackoverflow.com/questions/42776220/coccinelle-help-to-replace-a-function-with-variable-args
Change-Id: I730b76c3e3c92dcc046fecbee76cd6b040f11d21 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
48761c62 |
| 03-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/.
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP4014_2.14.0.pdf
libpldm is a concrete C implementation of the PLDM family of specifications. This invokes some accidental complexity[2] such as the msgbuf APIs and other concerns.
[2]: https://en.wikipedia.org/wiki/No_Silver_Bullet
Separate the essential complexity (everything under the dsp/ subdirectories) from the accidental complexity (almost everything else).
While doing so, I took the opportunity to drop the 'libpldm_' prefix and '_test' suffix from a variety of tests. The 'libpldm_' prefix is a hangover from the days when libpldm was a subproject of OpenBMC's pldm repo. The '_test' suffix feels redundant given the parent directory path.
Note that we maintain separation of the src/ and tests/. The test suite is implemented in C++ while libpldm's APIs are declared and defined in C. The ability to chop all the tests and C++ out of the implementation by ignoring a subtree seems like a desirable property when vendoring the library into other projects.
Finally, update the x86_64 GCC ABI dump, as rearranging the source causes a lot of churn in its definitions.
Change-Id: Icffcc6cf48b3101ecd38168827c0a81cffb8f083 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
Revision tags: v0.8.0 |
|
#
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 ...
|
#
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 ...
|
#
5664cf20 |
| 07-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Move ABI compliance check alongside library target
In the spirit of keeping-things-that-are-together-together.
Change-Id: I8e75beae84da06fe1f9a32de569a1816ae093be9 Signed-off-by: Andrew Jeff
meson: Move ABI compliance check alongside library target
In the spirit of keeping-things-that-are-together-together.
Change-Id: I8e75beae84da06fe1f9a32de569a1816ae093be9 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
a7989cd6 |
| 30-Oct-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
meson: Fix for OEM header collision issue
It needs to be possible to build libpldm with any number of oem features enabled simultaneously. If the header files are same then the earlier implementatio
meson: Fix for OEM header collision issue
It needs to be possible to build libpldm with any number of oem features enabled simultaneously. If the header files are same then the earlier implementation will not work.
Install the header file in a way that doesn't break any oem portions. Also the symlinks are generated to the older location until we migrate the applications using the files to new location.
Tested: The headers are installed in the new location and symlinks are generated.
Change-Id: I1455d52ff4b0c7f74b49d136bf582182537592d1 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com> 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 ...
|
Revision tags: v0.7.0, v0.6.0, v0.5.0, v0.4.0, v0.3.0 |
|
#
8de8e1ec |
| 09-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
meson: Reduce strength of oem-ibm requirements from enabled to allowed
If it's not expressly disabled, do what's necessary to build the oem-ibm pieces of the code-base. Capture the newly-enabled API
meson: Reduce strength of oem-ibm requirements from enabled to allowed
If it's not expressly disabled, do what's necessary to build the oem-ibm pieces of the code-base. Capture the newly-enabled APIs in the ABI dumps.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I50168309432620e03f00a4620b6bfc38f2e575c8
show more ...
|
#
55e5e0a0 |
| 04-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Remove the requester-api option
Let's not have more opportunities to mangle the ABI than we need. This option was never explicitly set one way or the other in the OpenBMC Github organisatio
libpldm: Remove the requester-api option
Let's not have more opportunities to mangle the ABI than we need. This option was never explicitly set one way or the other in the OpenBMC Github organisation. Remove it, and always expose the associated symbols.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I2d73c85ee1fe3c9b2f851bb63065111d68c57821
show more ...
|
Revision tags: v0.2.0 |
|
#
c1b66f42 |
| 08-Dec-2022 |
Rashmica Gupta <rashmica@linux.ibm.com> |
requester: Add new APIs to support multiple transports
This patch has two goals: (1) enable consumers to send PLDM messages over different transports and (2) do this in a way that allows us to move
requester: Add new APIs to support multiple transports
This patch has two goals: (1) enable consumers to send PLDM messages over different transports and (2) do this in a way that allows us to move towards a cleaner and more complete set of requester APIs.
The sole transport option of MCTP via the userspace mctp-demux-daemon is being deprecated. New transports are being added: MCTP via the kernel (AF_MCTP) and eventually NC-SI. As such, the requester APIs need updating to support multiple transports, as well as not having MCTP specific details in the APIs. To avoid a flag day, the current APIs (pldm_send, etc) have been rewritten terms of the new APIs.
The current APIs operate at the transport level - they don't implement all of the behaviour necessary for a requester. As such, the new APIs to send/recv a message have the prefix `pldm_transport`, rather than `pldm_requester`. Given the level that these APIs are operating at, these only send and receive a PLDM message. Any additional logic, such as looking for a response with a particular instance ID, belongs at the requester abstraction level.
Some of the missing behaviours to fully be a PLDM requester are: assigning instance IDs, request retransmission, implementing timeouts, and enforcing only one PLDM request to a specific TID at a time. These things are currently implemented in pldmd, meaning any consumer other than pldmd using the libpldm "requester" APIs doesn't get the full functionality of a requester and has to implement these things themselves.
We would like to eventually move these behaviours into libpldm so the libpldm requester APIs actually implement what is required to be a PLDM requester.
The next steps to add in a full set of requester APIs, while enabling the use of multiple transports looks something like this:
1) add instance id APIs into libpldm. 2) convert pldmd to use libpldm instance id APIs - so all users of PLDM are still using the same instance id allocation method. 3) convert all consumers of libpldm over to using the new libpldm APIs, including the instance id functions. 4) add in the AF_MCTP transport and move consumers over to it. 5) refactor the encode/decode functions to only encode/decode and not frame the message (ie, remove the instance id from these functions) 6) add additional requester functionality into libpldm, and have these use the `pldm_transport` APIs directly. 7) move consumers over to the new `pldm_requester` APIs. 8) remove unused code from pldmd.
Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Change-Id: I06e602831f360bbd0efda53d410bfb5080b3100d
show more ...
|
#
49fb9c42 |
| 10-Oct-2022 |
Andrew Jeffery <andrew@aj.id.au> |
Merge commit '9c76679224cf4b1655323a1e5e561ad2cb493ba2'
Change-Id: Ie53250468b641716e6c995f2eb16f1fa89f4bf91
|
#
9c766792 |
| 10-Aug-2022 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Migrate to subproject
Organize files in libpldm to make it a subproject
In the current state, libpldm is not readily consumable as a subproject.This commit does all the necessary re-organi
libpldm: Migrate to subproject
Organize files in libpldm to make it a subproject
In the current state, libpldm is not readily consumable as a subproject.This commit does all the necessary re-organisation of the source code to make it work as a subproject.
There are no .c/.h files changes in this commit, only meson changes and re-organising the code structure.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I20a71c0c972b1fd81fb359d604433618799102c6
show more ...
|