History log of /openbmc/libpldm/src/ (Results 1 – 25 of 434)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
9131a3e022-Feb-2026 Alexander Hansen <alexander.hansen@9elements.com>

meson: Add packageconfig for libpldm++

libpldm++ needs a packageconfig (.pc) file for yocto recipes to find
it as a dependency.

Add one here similar to how it's done for libpldm.

Also adjust the p

meson: Add packageconfig for libpldm++

libpldm++ needs a packageconfig (.pc) file for yocto recipes to find
it as a dependency.

Add one here similar to how it's done for libpldm.

Also adjust the packageconfig description for libpldm to reflect the
current scope of the library.

Tested: yocto image build succeeds when libpldm++ is configured as a
dependency for phosphor-software-manager.

Fixes: d6a957481638 ("bindings: C++ binding for parsing PLDM fw package")
Change-Id: I3c3ebbdb57d68b81c0fbd55ff110768f50a94446
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

dde7158622-Feb-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

transport: Eliminate poll guards from headers

We forward-declare struct pollfd so there's no harm in exposing the
functions. The definition of struct pollfd is then a problem for the
implementation.

transport: Eliminate poll guards from headers

We forward-declare struct pollfd so there's no harm in exposing the
functions. The definition of struct pollfd is then a problem for the
implementation. If it's not available, expose a symbol returning an
error.

Fixes: 4ad11f63cf49 ("meson: Simplify testing for poll.h")
Change-Id: Ieb8ddb71af9b442cd1d353929d7b0f5bf2f61cc3
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

4ad11f6319-Feb-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Simplify testing for poll.h

Unconditionally define HAVE_POLL_H to the result of the cc.has_header()
query.

Change-Id: I1a9b654ae6a071aaa4b45500b7ee62ca0dbf85b0
Signed-off-by: Andrew Jeffery

meson: Simplify testing for poll.h

Unconditionally define HAVE_POLL_H to the result of the cc.has_header()
query.

Change-Id: I1a9b654ae6a071aaa4b45500b7ee62ca0dbf85b0
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

6b8f264612-Dec-2025 Vishnunithyasoundhar S <vishnunithyasoundhar.s@intel.com>

transport: af-mctp: Qualify MCTP TID mapping with target network

Add network ID support to send pldm messages on MCTP networks other
than the default Network ID MCTP_NET_ANY.

Affects only af-mctp t

transport: af-mctp: Qualify MCTP TID mapping with target network

Add network ID support to send pldm messages on MCTP networks other
than the default Network ID MCTP_NET_ANY.

Affects only af-mctp transport.

Change-Id: I3b0a595ad3d18fd2b212dde4d4508ba25d91f191
Signed-off-by: Vishnunithyasoundhar S <vishnunithyasoundhar.s@intel.com>
Co-developed-by: Arun P. Mohanan <arun.p.m@intel.com>

show more ...

d6a9574806-Jan-2025 Alexander Hansen <alexander.hansen@9elements.com>

bindings: C++ binding for parsing PLDM fw package

This binding enables convenient parsing of the PLDM fw update package in
C++ code. The entire package header is parsed and can be queried.

It has s

bindings: C++ binding for parsing PLDM fw package

This binding enables convenient parsing of the PLDM fw update package in
C++ code. The entire package header is parsed and can be queried.

It has since been modified to remove exceptions and rely less on mutable
instance variables.

The ABI compatibility of the C++ bindings is controlled in the same way
as the C code, with the LIBPLDM_ABI_* annotations on all public
functions.

The ABI stability is provided by using growable structs. See [2] for an
explanation.

When DMTF adds new data members to the firmware update package, these
can simply be appended to the end of the growable struct.

How can applications safely handle those structs?

Consider Application A1, compiled against libpldm++ version N-1
and linked against libpldm++ version N.

Assume libpldm++ version N has a new field as part of a given struct.

A1 will then receive a structure larger than what it expects and only
access a subset of the fields within.

Consider Application A1, compiled against libpldm++ version N and
linked against libpldm++ version N-1.

A1 will receive a structure smaller than what it expects. A1 must always
check for existence of any struct member which was introduced later than
DSP0267 version 1.0.0 [3].

Applications should never by themselves create instances of the structs
provided by this API since the version of libpldm++ they are linked
against may be lower and may not have a constructor for the version of
that struct the application is compiled against.

References:
[1] https://github.com/openbmc/pldm/blob/a1871174860e8927d19a0d57ac4cf9d55b0514ca/fw-update/package_parser.cpp
[2] https://github.com/lotem/mighty_struct/blob/master/mighty_struct_explained.md
[3] https://www.dmtf.org/dsp/DSP0267

Change-Id: Ib6cbff302be0e52d30125bcf08687ba42f7fc93f
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

844eff4d09-Feb-2026 Metha, Mayank <mayank.metha@intel.com>

dsp: firmware_update: Add Update Security Revision from DSP0267 v1.3.0

Command is being added from the Update Agent's perspective. Some
Firmware Devices require this command to help upgrade their Se

dsp: firmware_update: Add Update Security Revision from DSP0267 v1.3.0

Command is being added from the Update Agent's perspective. Some
Firmware Devices require this command to help upgrade their Security
Revision Number after the Firmware Update is deployed to prevent
Firmware Downgrade or Firmware Rollback.

Change-Id: Ie915b1b85b5cf94048e29b2cb67db4a77548f43c
Signed-off-by: Metha, Mayank <mayank.metha@intel.com>

show more ...

c6837f0016-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

include: Remove libpldm/utils.h

At this point it only existed to include other headers. Users should
rather include the necessary headers directly.

Change-Id: Ie0fbf9caccea0dfe75be0127e675e3949dc52

include: Remove libpldm/utils.h

At this point it only existed to include other headers. Users should
rather include the necessary headers directly.

Change-Id: Ie0fbf9caccea0dfe75be0127e675e3949dc52d61
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

ec500f3723-Jan-2026 Patrick Williams <patrick@stwcx.xyz>

meson: reformat with meson formatter

Apply the `meson format` results.

Change-Id: I27a1db143cecac594b9e6f173c80f87bc0d39786
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

93a997d212-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Remove is_transfer_flag_valid() from the public API

It has been deprecated since prior to v0.13.0. Remove the
LIBPLDM_ABI_DEPRECATED annotation, hiding the symbol externally. It's
now only av

utils: Remove is_transfer_flag_valid() from the public API

It has been deprecated since prior to v0.13.0. Remove the
LIBPLDM_ABI_DEPRECATED annotation, hiding the symbol externally. It's
now only available internal to the library.

Change-Id: Ie0b63454db3fd11ca87874e2eb5c27171c06d6f1
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

bc19d9c912-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Remove is_time_legal() from the public API

It has been deprecated since prior to v0.13.0. Remove the
LIBPLDM_ABI_DEPRECATED annotation, hiding the symbol externally. It's
now only available i

utils: Remove is_time_legal() from the public API

It has been deprecated since prior to v0.13.0. Remove the
LIBPLDM_ABI_DEPRECATED annotation, hiding the symbol externally. It's
now only available internal to the library.

Change-Id: I81567279d13b6781aae856e2604451e65bfda6fd
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

4e3d572512-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Migrate pldm_base_ver2str() to base

The ver32 type is defined in the base specification (DSP0240).
Associated functions should also be defined in the base module.

Change-Id: I71e06b3b1be83fe

utils: Migrate pldm_base_ver2str() to base

The ver32 type is defined in the base specification (DSP0240).
Associated functions should also be defined in the base module.

Change-Id: I71e06b3b1be83fe512f573b9f2227e2a17a93c63
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

ea8dd96c12-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename ver2str() to pldm_base_ver2str()

Tidy-up the un-prefixed namespace.

Change-Id: Iaf51d3ef0f38fda26a7a27bdd3871547f8f425c6
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

7b66bcb212-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Split out BCD translation unit

Chip away at removing "utils".

Change-Id: I5f31cb13e9325cffe47bc85ea55eac0cf9289ec8
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

5da45e5912-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename dec2bcd32() to pldm_bcd_dec2bcd32()

Tidy-up the un-prefixed namespace.

Change-Id: I05355c56cf10e965b01431aa569d14cb5827438a
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

2a985a6512-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename bcd2dec32() to pldm_bcd_bcd2dec32()

Tidy-up the un-prefixed namespace.

Change-Id: I95998b308b829edb783e7437517ba1984b87709e
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

9ed3391e12-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename dec2bcd16() to pldm_bcd_dec2bcd16()

Tidy-up the un-prefixed namespace.

Change-Id: I1a8887a2fd6c11b84f457afc7cf4194a920691cd
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

edc1b1f512-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename bcd2dec16() to pldm_bcd_bcd2dec16()

Tidy-up the un-prefixed namespace.

Change-Id: Idaf648c681288f73b9898d845f7a146a460d4f4d
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

fccf4b6512-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename dec2bcd8() to pldm_bcd_dec2bcd8()

Tidy-up the un-prefixed namespace.

Change-Id: I74db956b9dbb48d86c3560d0b5379c5cb09ef240
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

65b74a7412-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Rename bcd2dec8() to pldm_bcd_bcd2dec8()

Tidy-up the un-prefixed namespace.

Change-Id: I6dea486e3ee08cd9a9c4df675e6ebe5974ccc062
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

fd28f9cb11-Jan-2026 Andrew Jeffery <andrew@codeconstruct.com.au>

utils: Split out EDAC translation unit

Chip away at removing "utils".

Change-Id: I361d7f779e1077b16e83c75d6b4d86814bb4dcad
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

f4d8810319-Nov-2025 Roger G. Coscojuela <roger.gili-coscojuela@sipearl.com>

msgbuf: Add pldm_msgbuf_insert_real32

Support from extracting real32_t data is already present, but the insert
functionality is missing.

This change is required for encoding platform sensor data in

msgbuf: Add pldm_msgbuf_insert_real32

Support from extracting real32_t data is already present, but the insert
functionality is missing.

This change is required for encoding platform sensor data in the msgbuf.

Change-Id: Iff397116d15f23e51c472b8e478b4a2511ce0692
Signed-off-by: Roger G. Coscojuela <roger.gili-coscojuela@sipearl.com>

show more ...

bf554b2a25-Aug-2025 Pavithra Barithaya <pavithrabarithaya07@gmail.com>

pdr: Stabilize APIs for removing records

- pldm_entity_association_pdr_remove_contained_entity()
- pldm_entity_association_tree_delete_node()
- pldm_pdr_delete_by_effecter_id()
- pldm_pdr_delete_by_

pdr: Stabilize APIs for removing records

- pldm_entity_association_pdr_remove_contained_entity()
- pldm_entity_association_tree_delete_node()
- pldm_pdr_delete_by_effecter_id()
- pldm_pdr_delete_by_sensor_id()
- pldm_pdr_remove_fru_record_set_by_rsi()

Use of all these APIs is demonstrated in [1].

[1]: https://gerrit.openbmc.org/c/openbmc/pldm/+/79879

Change-Id: I4dc97c4f5b60621b281d97feab79b3349432b598
Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

06dcea7429-Oct-2025 Chau Ly <chaul@amperecomputing.com>

msgbuf: platform: Correct pldm_msgbuf_extract_effecter_data

`pldm_msgbuf_extract_effecter_data` should call to
`pldm__msgbuf_extract_effecter_data` instead of
`pldm__msgbuf_extract_range_field_forma

msgbuf: platform: Correct pldm_msgbuf_extract_effecter_data

`pldm_msgbuf_extract_effecter_data` should call to
`pldm__msgbuf_extract_effecter_data` instead of
`pldm__msgbuf_extract_range_field_format`. This commit corrects the
function to call to the designated one.

Fixes: d4878cd ("pdr: Add decode_numeric_effecter_pdr_data()")
Change-Id: I1bc9ed88eb291368c4fd96560bf089e597d75b55
Signed-off-by: Chau Ly <chaul@amperecomputing.com>

show more ...

9f6b9b3a29-Sep-2025 Andrew Jeffery <andrew@codeconstruct.com.au>

transport: Fix msec overflow test

The value 1000 was left in the wrong spot, leading to an incorrect
inversion of the msec calculation when testing for overflow. An
alternative is to reduce it to 1,

transport: Fix msec overflow test

The value 1000 was left in the wrong spot, leading to an incorrect
inversion of the msec calculation when testing for overflow. An
alternative is to reduce it to 1, but that correlates poorly with the
expression used by timeval_to_msec().

Reported-by: Milton Miller <mdmii@outlook.com>
Fixes: 69b5a9cde88b ("transport: Improve time validation in pldm_transport_send_recv_msg()")
Change-Id: I59816c6f2b773dfd076e393455394f08cfe67198
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

69b5a9cd28-Sep-2025 Amithash Prasad <amithash@meta.com>

transport: Improve time validation in pldm_transport_send_recv_msg()

There is at least one system where the current value returned by
CLOCK_MONOTONIC is 2589793 which fails the overflow test in
`tim

transport: Improve time validation in pldm_transport_send_recv_msg()

There is at least one system where the current value returned by
CLOCK_MONOTONIC is 2589793 which fails the overflow test in
`timeval_is_valid`. Upon close inspecting we dont really want to test
the actual end time but rather the difference (remaining) since the
real risk we are trying to avoid is overflowing when the call to
`timeval_to_msec()` is made.

So, move the check to test `remaining` instead of `end`.

Change-Id: If6533855025ff3ba0be19bad791f58ca812b80a7
Fixes: abaf61f45e2a ("transport: Prevent sticking in waiting for response")
Signed-off-by: Amithash Prasad <amithash@meta.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...

12345678910>>...18