History log of /openbmc/libpldm/src/meson.build (Results 1 – 20 of 20)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...