History log of /openbmc/pldm/meson.build (Results 26 – 50 of 94)
Revision Date Author Comments
# b69d8bf8 27-Sep-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

Remove libpldm code & add libpldm.wrap

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I984498c8cf3fbca7bad34d0fd21447d48543ff04


# 27a022ca 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 ...


# f25145fb 10-Sep-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix pldmd verbosity command line argument

This commit would attempt to fix the command line argument --verbose.

The fact that verbose option requires an argument 0 or 1 is not
particularly intuitiv

Fix pldmd verbosity command line argument

This commit would attempt to fix the command line argument --verbose.

The fact that verbose option requires an argument 0 or 1 is not
particularly intuitive and a documented OpenBMC anti-pattern.

https://github.com/openbmc/docs/blob/master/anti-patterns.md#non-standard-debug-application-options-and-logging

Resolves : https://github.com/openbmc/pldm/issues/7
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I50d82ce492bd815b589627d3713b1a7fc1db997b

show more ...


# 998dc4eb 27-Jul-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

Move oem libpldm code inside libpldm

Moving the oem support inside the libpldm folder would
help us to migrate libpldm folder into its own repository.

Signed-off-by: Manojkiran Eda <manojkiran.eda@

Move oem libpldm code inside libpldm

Moving the oem support inside the libpldm folder would
help us to migrate libpldm folder into its own repository.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I4596e9e001c985864431a56343318e5f93d3ede3

show more ...


# d2ab1c22 13-Apr-2022 Patrick Williams <patrick@stwcx.xyz>

build: minor meson tweaks

- Sort dependency list(s)
- Add '.git' suffix on 'stdplus.wrap' URL.

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

build: minor meson tweaks

- Sort dependency list(s)
- Add '.git' suffix on 'stdplus.wrap' URL.

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

show more ...


# 1421a80f 04-Apr-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

Add stdplus dependency for pldm

pldm flight recorder feature in pldm uses stdplus::signal::block
API to block the SIGUSR1 linux signal.

Explicitly not adding this as dependency would ideally break

Add stdplus dependency for pldm

pldm flight recorder feature in pldm uses stdplus::signal::block
API to block the SIGUSR1 linux signal.

Explicitly not adding this as dependency would ideally break the
compilation of pldm using subprojects.

Tested By:
1. compile pldm on ubuntu with out any openbmc - packages
2. the compilation breaks with undefined reference error
3. Put this patch in - and then recompile the code
4. now pldm compiles with out any errors.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I111f3581b898c71a5e4eeee24a0bfc89c4487021

show more ...


# 5c7253ad 21-Mar-2022 Patrick Williams <patrick@stwcx.xyz>

meson: simplify dependencies

Leverage wrapfile `[provide]` directives to simplify the dependency
searching in the meson.build.

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

meson: simplify dependencies

Leverage wrapfile `[provide]` directives to simplify the dependency
searching in the meson.build.

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

show more ...


# ef773059 28-Jul-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

In-Memory FlightRecorder support for pldmd

pldm daemon in BMC can act both as a requester and
responder, and it is capable of talking to any device
that talks pldm spec.

With the rapid increase in

In-Memory FlightRecorder support for pldmd

pldm daemon in BMC can act both as a requester and
responder, and it is capable of talking to any device
that talks pldm spec.

With the rapid increase in the number of commands supported
by pldmd, and also with the async request/response support
enabled, its becomes extremely tough to debug the failures
in the communication.

And most of times, the essential information that is needed
to debug are the last few commands that BMC pldm responded to.
So this commit is an attempt to bring in an in-memory flight
recorder that could save the last 10(can be configurable)
pldm transactions in a circular buffer, and dumps the contents
of it into a file when it receives a SIGUR1 signal.

Resolves openbmc/pldm#24

Tested By :

1. Power on host
2. In the middle of poweron, send the SIGUSR1 signal to pldmd

root@rain118bmc:/tmp# kill -10 836
Received SIGUR1(10) Signal interrupt
root@rain118bmc:/tmp# Dumping the flight recorder into /tmp/pldm_flight_recorder

3. Make sure pldmd is not killed and does the rest of the power on
operation.

4. check the contents of /tmp/pldm_flight_recorder
root@p10bmc:~# cat /tmp/pldm_flight_recorder
UTC Nov 05 / 11:27:25.334606 : Tx :
0a 3f 0d 00
UTC Nov 05 / 11:27:26.292988 : Rx :
09 01 8b 3f 0d 00 00 7b 1e 00 50 00
UTC Nov 05 / 11:27:26.296915 : Tx :
0b 3f 0d 00
UTC Nov 05 / 11:27:27.250999 : Rx :
09 01 8c 3f 0d 00 00 7c 1e 00 50 00
UTC Nov 05 / 11:27:27.254762 : Tx :
0c 3f 0d 00
UTC Nov 05 / 11:27:28.212168 : Rx :
09 01 8d 3f 0d 00 00 7d 1e 00 50 00
UTC Nov 05 / 11:27:28.216086 : Tx :
0d 3f 0d 00
UTC Nov 05 / 11:27:29.171228 : Rx :
09 01 8e 3f 0d 00 00 7e 1e 00 50 00
UTC Nov 05 / 11:27:29.175143 : Tx :
0e 3f 0d 00
UTC Nov 05 / 11:27:25.330716 : Rx :
09 01 8a 3f 0d 00 00 7a 1e 00 50 00

5. Configure with -Dflightrecorder-max-entries=0
root@p10bmc:~# kill -10 21847
Received SIGUR1(10) Signal interrupt
Fight recorder policy is disabled

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I4e9c828f4ada9f1db6bf3a9b68c16e71b6e5d8f0

show more ...


# c79aa867 14-Dec-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Remove all dependencies for libpldm

libpldm is a shared library that can be used outside of
openbmc, and it ideally does not require any depedendent
packages.

This commit wo

Remove all dependencies for libpldm

libpldm is a shared library that can be used outside of
openbmc, and it ideally does not require any depedendent
packages.

This commit would remove the checks for various openbmc
dependencies while compiling with "libpldm-only" meson
option.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I7dbeee86d3db714483c8b7ff492fff4297be7bdd

show more ...


# 94fbfd93 25-Nov-2021 George Liu <liuxiwei@inspur.com>

Remove duplicate LID_STAGING_DIR

The LID_STAGING_DIR variable is defined repeatedly in meson.build,
and one of them is removed.

Signed-off-by: George Liu <liuxiwei@inspur.com>

Remove duplicate LID_STAGING_DIR

The LID_STAGING_DIR variable is defined repeatedly in meson.build,
and one of them is removed.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I69d25738d79cbc215588f2821d39527fea591a85

show more ...


# fb3bc06f 17-Aug-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Firmware discovery of MCTP endpoints

Tested:

a) Verified MCTP endpoints are discovered by PLDM and fetching the firmware
inventory commands.
b) PLDM firmware u

fw-update: Firmware discovery of MCTP endpoints

Tested:

a) Verified MCTP endpoints are discovered by PLDM and fetching the firmware
inventory commands.
b) PLDM firmware update successful after uploading the package, which depends
on the firmware inventory commands.
c) Verified MCTP endpoints are discovered irrespective of the startup order
with the MCTP control application.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I7ee9aed40433a8e5a4ebb8e61f917ec82dde9c35

show more ...


# 4d8d5770 17-Aug-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Implement firmware UpdateManager

The UpdateManager parses the PLDM package and co-ordinates with
the DeviceUpdater to update all the PLDM enabled firmware devices.

Te

fw-update: Implement firmware UpdateManager

The UpdateManager parses the PLDM package and co-ordinates with
the DeviceUpdater to update all the PLDM enabled firmware devices.

Tested: Completed firmware update using PLDM for an FD

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: Ia87675e0a88cb1f72ad82934e539739db193b9f6

show more ...


# ef90b0d3 17-Aug-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Implement DeviceUpdater

The DeviceUpdater class implements the firmware update of a FD. The
firmware update flow is implemented as per DSP0267_1.0.0 and
DSP0267_1.0.1. All

fw-update: Implement DeviceUpdater

The DeviceUpdater class implements the firmware update of a FD. The
firmware update flow is implemented as per DSP0267_1.0.0 and
DSP0267_1.0.1. All the components applicable for the FD is updated.
This patch doesn't handle error response codes and the further actions
to the firmware update flow. The optional features of package like package
data and device metadata is not included in this patch. Timeouts and retries
of firmware update commands is not included in this patch.

Tested: Added unit tests for the firmware update commands where PLDM
UA is the responder like RequestFirmwareData, TransferComplete,
VerifyComplete and ApplyComplete.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: If686ca005230d6debc0a6fd2ee73184bd3c28ee1

show more ...


# 1630f399 29-Jun-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Implement firmware update package parser

PackageParser implements parsing the common elements across version
1 and version 2 of the PackageHeader. PackageParserV1 handles pars

fw-update: Implement firmware update package parser

PackageParser implements parsing the common elements across version
1 and version 2 of the PackageHeader. PackageParserV1 handles parsing
the package header version 1 as defined in DSP0267_1.0.0 and
DSP0267_1.0.1.

Tested: Unit tests added

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: Iddabd435755f462c042a85a286b1b0a50eb346b1

show more ...


# 75356c1a 20-Jun-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Implement inventory manager

1. Discover firmware devices that implement fw update specification
2. Implements request/response for QueryDeviceIdentifiers command
3. Implem

fw-update: Implement inventory manager

1. Discover firmware devices that implement fw update specification
2. Implements request/response for QueryDeviceIdentifiers command
3. Implements request/response for GetFirmwareParameters command
4. Enumerates device identifiers and component information to be used
for fw-update

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: Ifa035c801a7c62bac9a7e947ed4a43d48f85a4ed

show more ...


# cc5f1586 29-Sep-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Make Terminus ID & Terminus Handle configurable

The current pldm code hardcoded the terminus id and the
terminus handles, making it configurable so that the
oem vendors can set them

Make Terminus ID & Terminus Handle configurable

The current pldm code hardcoded the terminus id and the
terminus handles, making it configurable so that the
oem vendors can set them as per thier need in the
bitbake meta data.

Also,in the current state the FRU record set PDR's and
the Sensor/Effecter PDR's are generated with terminus
handle 0, but the terminus locator PDR is hardcoded with
handle 1. This commit also fixes that behaviour.

Tested :

1. Terminus locator PDR
{
"nextRecordHandle": 89,
"responseCount": 19,
"recordHandle": 88,
"PDRHeaderVersion": 1,
"PDRType": "Terminus Locator PDR",
"recordChangeNumber": 0,
"dataLength": 9,
"PLDMTerminusHandle": 1,
"validity": "valid",
"TID": 1,
"containerID": 0,
"terminusLocatorType": "MCTP_EID",
"terminusLocatorValueSize": 1,
"EID": 8
}
2. FRU record set PDR
{
"nextRecordHandle": 77,
"responseCount": 20,
"recordHandle": 76,
"PDRHeaderVersion": 1,
"PDRType": "FRU Record Set PDR",
"recordChangeNumber": 0,
"dataLength": 10,
"PLDMTerminusHandle": 1,
"FRURecordSetIdentifier": 76,
"entityType": "[Physical] Slot",
"entityInstanceNumber": 12,
"containerID": 3
}
3. Sensor PDR
{
"nextRecordHandle": 208,
"responseCount": 28,
"recordHandle": 207,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 18,
"PLDMTerminusHandle": 1,
"sensorID": 2,
"entityType": "[Physical] External Environment",
"entityInstanceNumber": 0,
"containerID": 1,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "Health State(1)",
"possibleStatesSize[0]": 2,
"possibleStates[0]": [
"Normal(1)",
"Upper Fatal(9)"
]
}
4. Effecter PDR
{
"nextRecordHandle": 142,
"responseCount": 29,
"recordHandle": 141,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 53,
"entityType": "[Physical] Fan",
"entityInstanceNumber": 1,
"containerID": 3,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Identify State(17)",
"possibleStatesSize[0]": 1,
"possibleStates[0]": [
"Identify State Unasserted(1)",
"Identify State Asserted(2)"
]
}

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I68d1c5c121b9389cc9b89dde9f1a8d8679b068f1

show more ...


# a6a8ccd9 01-Apr-2021 Sagar Srinivas <sagar.srinivas@ibm.com>

PLDM: implement surveillance between Host and bmc

This commit is to implement surveillance between host
and bmc, wherein host monitors if bmc is up and
running through constant pings

PLDM: implement surveillance between Host and bmc

This commit is to implement surveillance between host
and bmc, wherein host monitors if bmc is up and
running through constant pings(by sending Platform
EventMessages) sent from host to BMC. And if BMC
fails to respond to the pings, then BMC will be
reset using the KCS interface.

1. Host->BMC - GetTID
2. BMC->Host - Respond to GetTID, SetEventReceiver
3. Host->BMC - Respond to SetEventReceiver
4. BMC->Host - Send PlatformEventMessage after the
elapsed time interval(specified with
SetEventReceiver command)
4. Host->BMC - If BMC fails to send respond to host
within specified interval, Host resets BMC via
the KCS interface

Tested with PLDMTOOL:
SetEventReceiver command:
root@rain127bmc:/tmp# ./pldmtool base GetTID -m 8
Received Msg
08 01 81 00 02
Sending Msg
01 00 02 00 01
{
"Response": 1
}

platformEventMessage command(which will be received
by host):
root@rain118bmc:/tmp# ./pldmtool raw -d 0x80 0x02
0x0A 0x01 0x01 0x06 0x01 0x01
Request Message:
08 01 80 02 0a 01 01 06 01 01
Received Msg
08 01 80 02 0a 01 01 06 01 01
eventClass Checking
Sending Msg
00 02 0a 00 00
Response Message:
08 01 00 02 0a 00 00
Received Msg
08 01 00 02 0a 00 00

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Iac90b2233a873a54504ffa649d324d30525b7ce3

show more ...


# adbb2452 19-Aug-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

build: provide an option to skip systemd units

The systemd pkg-config tells clients to install unit files to (a subdir
of) rootprefix, not prefix. This means our attempt to substitute o

build: provide an option to skip systemd units

The systemd pkg-config tells clients to install unit files to (a subdir
of) rootprefix, not prefix. This means our attempt to substitute our
prefix into systemd_system_unitdir doesn't have any impact - thus we
remove the substitution.

Rather than attempt to cook up some kind of support for rootprefix,
which is a quasi-standard variable anyway, provide a mechanism to simply
skip installing the systemd unit files. This enables users with a
prefix pointing somewhere they can access to get all the way through the
install process without needing root or contaminating the build system.

It would be reasonable to use this option in the future to turn off any
additional systemd support added to the project.

Change-Id: I9a06cc09a2d940fed8a7fdc2f583f5949a0ecd47
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# 06052cc5 16-Aug-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

build: un-hardcode prefix

/usr/share/pldm, /var/lib/pldm, and /etc are hardcoded in many places.
Workflows such as:
meson -Dprefix=$HOME/workspace -Dsysconfdir=$HOME/workspace buil

build: un-hardcode prefix

/usr/share/pldm, /var/lib/pldm, and /etc are hardcoded in many places.
Workflows such as:
meson -Dprefix=$HOME/workspace -Dsysconfdir=$HOME/workspace builddir \
&& ninja -C buildir install
result in pldmd looking for its data in the wrong place. Fix by
properly incorporating the user specified prefix into filesystem paths.

A number of paths remain hardcoded because they (presumably?) are owned
and provided by other packages (phosphor-software-manager) and those
packages do not provide any pkg-config from which we can extract their
installation prefixes.

Change-Id: I140d7a65e85342fd108af41f33010b422a0f77a5
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# 20aa3e09 17-Aug-2021 Tom Joseph <rushtotom@gmail.com>

libpldmresponder: Move host specific code under build flag

Recently added patches have not added the libpldmresponder and host
bmc specific code under the libpldmresponder build flag.

libpldmresponder: Move host specific code under build flag

Recently added patches have not added the libpldmresponder and host
bmc specific code under the libpldmresponder build flag.

Tested: Not tested yet, need help from IBM contributors to verify
the patch and update this section.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I743ccae4d31af887c037a3bd38ec837b942f7efd

show more ...


# 319ebb31 06-May-2021 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM: Implement host-condition interface

This commit implements the PDI interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc
/phosphor-dbus-interfaces/+/42435

p

PLDM: Implement host-condition interface

This commit implements the PDI interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc
/phosphor-dbus-interfaces/+/42435

pldmd hosts the new xyz.openbmc_project.Condition.HostFirmware interface
so it's difficult for it to have other code within pldmd to also set
this during startup.

The solution proposed in this commit is to provide the hostPDRHandler
object to the HostFirmware interface implementation. This then allows
reads of the HostFirmware property to just ask the hostPDRHandler for
the current state of the host.

Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
Change-Id: I3f7d4f573332e96fcd3ae594dc25750070cd6e62

show more ...


# 03b01ca8 28-Jun-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Add support for vendor specific FruDbusLookup

In the current state, a vendor could not define the FRU's
that he wants to send to the host.

This commit adds a fru_master.json tha

Add support for vendor specific FruDbusLookup

In the current state, a vendor could not define the FRU's
that he wants to send to the host.

This commit adds a fru_master.json that can be used while
building the master , and the json would be replaced with
fru_master.json from the oem/<vendor>/configurations
directory when compiling for oem's.

Tested By:

IBM machine test :
1. meson build -Doem-ibm=enabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the oem/ibm/configurations folder

Non IBM machine test :
1. meson build -Doem-ibm=disabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the pldm/configurations folder.

Runtime test:
1. on an IBM machine make sure the pldm builds the fru record
table.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Id3c2746c51a1f99f2038b2af48137133e9d0b405

show more ...


# 74f27c73 16-May-2021 Tom Joseph <rushtotom@gmail.com>

requester: PLDM handler for async request/response

PLDM request handler provides APIs to register PLDM request message,
handle retries and instance ID expiration. Sending the PLDM reques

requester: PLDM handler for async request/response

PLDM request handler provides APIs to register PLDM request message,
handle retries and instance ID expiration. Sending the PLDM request
and handling response is handled in an async manner. On receiving
the response the corresponding response handler registered for the
request is invoked.

Tested: Ran unit tests

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I9f0a9dfcf0fbc9a84eefad375b92d40dd8b48d3d

show more ...


# 53f67313 18-May-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Enable LIBPLDMRESPONDER Flag with meson option

- The intent behind this commit is to add a compile
flag when libpldmresponder meson option is enabled, so
that the code under #ifd

Enable LIBPLDMRESPONDER Flag with meson option

- The intent behind this commit is to add a compile
flag when libpldmresponder meson option is enabled, so
that the code under #ifdef LIBPLDMRESPONDER is added during
the build time.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I730c4402ac0cc7b448c676f48df7b59c0c8683fc

show more ...


# 02b4ee45 03-May-2021 Tom Joseph <rushtotom@gmail.com>

libpldmresponder: Make libpldmresponder optional

libpldmresponder library is for handling incoming PLDM request messages
on BMC. There are usecases for PLDM daemon on BMC where it is pri

libpldmresponder: Make libpldmresponder optional

libpldmresponder library is for handling incoming PLDM request messages
on BMC. There are usecases for PLDM daemon on BMC where it is primarily
a requester and BMC aggregates information about firmware devices that
implement MCTP/PLDM and facilitate firmware upgrade of the devices.
This patch is a step in that direction to enable PLDM daemon on BMC
primarily as PLDM requester.

Tested: Ran PLDM daemon successfully without libpldmresponder library.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: Iceaa10127352aaaba6c338d7ea9ac187be4e5fad

show more ...


1234