History log of /openbmc/pldm/libpldmresponder/ (Results 351 – 375 of 375)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3c275e1c21-Sep-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

meson: add alternative build system

Enable meson build for the pldm project (by default). The autotools
support will be eventually removed. This change is aligned with other
OpenBMC repos, and besid

meson: add alternative build system

Enable meson build for the pldm project (by default). The autotools
support will be eventually removed. This change is aligned with other
OpenBMC repos, and besides for pldm meson seems to be significantly
faster (see times below to build and run tests on an x86 OpenBMC sdk).

time sh -c './bootstrap.sh ; ./configure ${CONFIGURE_FLAGS}
--enable-oe-sdk --enable-oem-ibm ; make ; make check'
real 3m49.495s

time sh -c 'meson -Doe-sdk=enabled -Dtests=enabled -Doem-ibm=enabled
build/ ; ninja -C build test'
real 0m14.940s

With the currently used warning level in the meson config (the highest
level is used), certain warnings had to be fixed in this commit
(warnings are treated as errors).

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I9022417c8fa218d3c2c2f786502caa815af2f832

show more ...

5c4f80df28-Jul-2019 John Wang <wangzqbj@inspur.com>

base: GetTID responder implementation

A pldm terminus is defined as the point of communication termination
for PLDM messages and the PLDM functions associated with those messages.

The Terminus ID(T

base: GetTID responder implementation

A pldm terminus is defined as the point of communication termination
for PLDM messages and the PLDM functions associated with those messages.

The Terminus ID(TID) is a value that identifies a PLDM terminus.

This commit assignes 1 to the BMC as the TID.

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: I7adb0e1274f326fe6cf148771f230f530c9a567c

show more ...

c3d2089501-Aug-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

libpldmresponder: BIOS: create dir to store tables

The directory where BIOS tables are persisted must be created by the
code.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I2acdc

libpldmresponder: BIOS: create dir to store tables

The directory where BIOS tables are persisted must be created by the
code.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I2acdce9e032707145f0ee4c1d2ab803954f46b1c

show more ...

b37be31303-Jul-2019 Sampa Misra <sampmisr@in.ibm.com>

GetBIOSTable responder implementation

This commit implements the GetBIOSTable responder handler
for the BIOS Enumeration type.
One of the tables among String table, Attribute table and Attribute
Val

GetBIOSTable responder implementation

This commit implements the GetBIOSTable responder handler
for the BIOS Enumeration type.
One of the tables among String table, Attribute table and Attribute
Value Table are created/fetched and sent to PLDM requester as response to
the command.

Tested:
Following are the tables constructed from the sample json file present at
"test/bios_jsons/enum_attrs.json"
-bash-4.2$ hexdump -C /tmp/AllBiosTables/stringTable
00000000 00 00 07 00 41 6c 6c 6f 77 65 64 01 00 10 00 43 |....Allowed....C|
00000010 6f 64 65 55 70 64 61 74 65 50 6f 6c 69 63 79 02 |odeUpdatePolicy.|
00000020 00 0a 00 43 6f 6e 63 75 72 72 65 6e 74 03 00 0a |...Concurrent...|
00000030 00 44 69 73 72 75 70 74 69 76 65 04 00 0a 00 46 |.Disruptive....F|
00000040 57 42 6f 6f 74 53 69 64 65 05 00 0f 00 48 4d 43 |WBootSide....HMC|
00000050 4d 61 6e 61 67 65 64 53 74 61 74 65 06 00 10 00 |ManagedState....|
00000060 49 6e 62 61 6e 64 43 6f 64 65 55 70 64 61 74 65 |InbandCodeUpdate|
00000070 07 00 0a 00 4e 6f 74 41 6c 6c 6f 77 65 64 08 00 |....NotAllowed..|
00000080 03 00 4f 66 66 09 00 02 00 4f 6e 0a 00 04 00 50 |..Off....On....P|
00000090 65 72 6d 0b 00 04 00 54 65 6d 70 00 37 90 c0 da |erm....Temp.7...|
000000a0
-bash-4.2$ hexdump -C /tmp/AllBiosTables/attributeTable
00000000 00 00 00 01 00 02 02 00 03 00 01 00 01 00 00 04 |................|
00000010 00 02 0a 00 0b 00 01 00 02 00 00 05 00 02 08 00 |................|
00000020 09 00 01 01 03 00 00 06 00 02 00 00 07 00 01 00 |................|
00000030 3b 85 69 a7 |;.i.|
00000034
-bash-4.2$ hexdump -C /tmp/AllBiosTables/attributeValueTable
00000000 00 00 00 01 00 00 00 00 d9 f6 42 58 |..........BX|
0000000c

Change-Id: I06aebcc2c2deea66e867fb775afa76a1e5d18dca
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...

52552ef319-Jun-2019 Tom Joseph <tomjoseph@in.ibm.com>

Add APIs for parsing BIOS configuration JSON

1) Add API to get the BIOS strings from the JSON configuration files.
2) Add API to parse the config file and setup the lookup data structures
for the

Add APIs for parsing BIOS configuration JSON

1) Add API to get the BIOS strings from the JSON configuration files.
2) Add API to parse the config file and setup the lookup data structures
for the BIOS attribute table and BIOS attribute value table.
3) Add API to get the possible values and the default values for the BIOS
enumeration type.
4) Add API to get the current value of the BIOS enumeration attribute.
5) BIOS attributes can be configured by JSON configuration files which have
information to build the BIOS string table, attribute table and attribute
value table.

Change-Id: I747dd3cfc0801f8262ffafe2d516ae7f4ddeb7a2
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>

show more ...

cb7f2d4419-Jun-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Add APIs to store/load BIOS tables

This commit implements C++ APIs to store a PLDM BIOS table into
persistent storage, and to load the same back into memory. This commit
also defines C structs repre

Add APIs to store/load BIOS tables

This commit implements C++ APIs to store a PLDM BIOS table into
persistent storage, and to load the same back into memory. This commit
also defines C structs representing the different BIOS tables.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I4a771a368c6931464f45ae4a8f467b579c7a5d74

show more ...

223a73d904-Jul-2019 Zahed Hossain <zahzahed@in.ibm.com>

Decode APIs now accept const struct pldm_msg *msg

All the decode_xxx APIs were changed to accept the complete pldm_msg
instead of working with just a specific member (payload) making it
consistent w

Decode APIs now accept const struct pldm_msg *msg

All the decode_xxx APIs were changed to accept the complete pldm_msg
instead of working with just a specific member (payload) making it
consistent with the encode_xxx APIs.

Following changes were made through out the code,
- decode_xxx now requires to send the const struct pldm_msg *msg
instead of a const uint8_t *msg.
- Within the decode_xxx function the payload is extracted and used
accordingly.
- All the calls made to decode_xxx APIs have been modified to now
pass the pointer to pldm_msg_hdr (struct pldm_msg *msg).
- The test code was modified to now pass the appropriate data
to all the encode_xxx APIs.

Change-Id: I16a3f6e554ea2c9fa44d55dc8f21f65022bd983a
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>

show more ...

5e4e383805-Jul-2019 Zahed Hossain <zahzahed@in.ibm.com>

Updated supported PDLM commands list

The associative container "capabilities" was updated to reflect the
currently implemented PLDM types and respective commands. The return
value of the "getPLDMTyp

Updated supported PDLM commands list

The associative container "capabilities" was updated to reflect the
currently implemented PLDM types and respective commands. The return
value of the "getPLDMTypes" in the test code was updated to match with the
current PLDM types value.

Currently implemented/supported PLDM type with commands are listed below
- PLDM Messaging Control and Discovery (0x03,0x04,0x05).
- PLDM for Platform Monitoring and Control (0x39).
- PLDM for BIOS Control and Configuration (0x0c).

Change-Id: Id8372a8280fa05c90733e7fac54e1695127d4e68
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>

show more ...

33705fda02-Jul-2019 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

Fix instance id in pldm response

The instance id that is sent on the pldm request message has to
be returned in the PLDM response message to the caller, this was
defaulted in the initial coding to z

Fix instance id in pldm response

The instance id that is sent on the pldm request message has to
be returned in the PLDM response message to the caller, this was
defaulted in the initial coding to zero and is fixed now

Tested :

Booted a hypervisor that sends PLDM commands.

Below is the transactions recorded in the journal
Jul 03 16:24:10 w70 pldmd[3209]: Buffer Data: 09 01 8b 3f 07 01 00 00
00 00 00 00 00 10 00 00 00 00 00 01 00 00 00 00 00
Jul 03 16:24:10 w70 pldmd[3209]: Sending Msg
Jul 03 16:24:10 w70 pldmd[3209]: Buffer Data: 09 01 0b 3f 07 00 10 00
00 00
Jul 03 16:24:11 w70 pldmd[3209]: Received Msg
Jul 03 16:24:11 w70 pldmd[3209]: Buffer Data: 09 01 8c 3f 07 00 00 00
00 00 00 02 00 00 10 00 00 00 10 01 00 00 00 00 00
Jul 03 16:24:11 w70 pldmd[3209]: Sending Msg
Jul 03 16:24:11 w70 pldmd[3209]: Buffer Data: 09 01 0c 3f 07 00 00 10
00 00
Jul 03 16:24:11 w70 pldmd[3209]: Received Msg
Jul 03 16:24:11 w70 pldmd[3209]: Buffer Data: 09 01 8d 3f 07 01 00 00
00 00 00 00 00 10 00 00 00 00 00 01 00 00 00 00 00
Jul 03 16:24:11 w70 pldmd[3209]: Sending Msg
Jul 03 16:24:11 w70 pldmd[3209]: Buffer Data: 09 01 0d 3f 07 00 10 00
00 00

Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
Change-Id: I0e6c0d5582674bc6b0dd75ceb35dd41ed9127cd3

show more ...

da87ec6102-Jul-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Fix build errors with bitbake

8b97665 has build fails with a pldm bitbake recipe. The fix was mostly
about using top_srcdir instead of top_builddir.

Change-Id: Ic3ef0e01997921174d28ae10e66e7bdd17c5

Fix build errors with bitbake

8b97665 has build fails with a pldm bitbake recipe. The fix was mostly
about using top_srcdir instead of top_builddir.

Change-Id: Ic3ef0e01997921174d28ae10e66e7bdd17c52af8
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

show more ...

0c6d22cc25-Jun-2019 Tom Joseph <tomjoseph@in.ibm.com>

Sync ibm-pldm-oem repository changes to pldm repository

Change-Id: I6f30b39f483647ad84fe2fbe1c24298841040801
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>

f666db1329-May-2019 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

Implement the PLDM Daemon.

The pldm daemon is a PLDM responder.

PLDM messages received by the PLDM daemon from the MCTP daemon are routed
to the respective command handler to create a response. Thi

Implement the PLDM Daemon.

The pldm daemon is a PLDM responder.

PLDM messages received by the PLDM daemon from the MCTP daemon are routed
to the respective command handler to create a response. This response will
be sent back by the PLDM daemon to the requester.

PLDM daemon and MCTP daemon interact with each other using UNIX domain sockets,
as documented in https://github.com/openbmc/docs/blob/master/designs/mctp.md

Implemented a way for the PLDM responder library to register handlers for
specific PLDM commands. This is as per the registration scheme
documented in README.md.

Support for enabling verbosity in the PLDM Daemon (tracing the receive and
response message packets) are conditionally compiled.You would need to
provide the --enable-verbose flag to configure to enable it.

We discard response messages received currently.

Fixed Handler function signature for bios and file_io types.

Tested :

Updated system with the Daemon and did a 'obmcutil poweron'
The Daemon was build with the verbose enabled configuration
Could boot a hypervisor that sends PLDM commands.

Below is the transactions recorded in the journal
Jun 25 13:35:27 witherspoon-128 pldmd[1980]: Received Msg
Jun 25 13:35:27 witherspoon-128 pldmd[1980]: Buffer Data: 09 01 81 3f 06 00
00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 00
Jun 25 13:35:27 witherspoon-128 pldmd[1980]: Sending Msg
Jun 25 13:35:27 witherspoon-128 pldmd[1980]: Buffer Data: 09 01 00 3f 06 80
00 00 00 00

Change-Id: I22cfd85103bce167239219fbcc59c25b09528211
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

show more ...

d078296507-May-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Map state effecter id to D-Bus object path

Add a way to map state effecter ids to D-Bus object paths (multiple
paths in case the effecter is composite).

The mapping is specified in the state effect

Map state effecter id to D-Bus object path

Add a way to map state effecter ids to D-Bus object paths (multiple
paths in case the effecter is composite).

The mapping is specified in the state effecter PDR JSON (because the
mapping is system specific), and is stored in a map in memory. This will
be used by the get/set state effecter commands to route effecter ids to
D-Bus.

Change-Id: Ic79fae2445fd257302dd1298830f58b91fed9a1f
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

show more ...

c6e8fb5002-May-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

PDR: implement generation framework

This commit implements a framework that allows describing
platform/system specific PDR information in JSON files, which the PLDM
responder library parses and buil

PDR: implement generation framework

This commit implements a framework that allows describing
platform/system specific PDR information in JSON files, which the PLDM
responder library parses and builds a PDR out of.

Separate JSON files are expected per PDR type. This commit also adds the
code to build a state effecter PDR. PDR record handles are implemented
as incrementing indices, starting at 1, but this commit enables
implementing other type of record handles (for eg offset based).

This commit doesn't handle merging of PDRs received from other terminii,
so the PDR that's generated now is for the BMC. Merging of PDRs will be
implemented in future commits.

Change-Id: I005b08c5d29d12fc2459ca8d6e18547107a3da7d
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

show more ...

74c1c1e518-Jun-2019 Zahed Hossain <zahzahed@in.ibm.com>

Updated versions for supported PLDM types

Updated the base.cpp to include version details for the PLDM PLATFORM
(v1.1.1) and BIOS (v1.0.0) details which initially only had PLDM BASE
(v1.0.0) type ve

Updated versions for supported PLDM types

Updated the base.cpp to include version details for the PLDM PLATFORM
(v1.1.1) and BIOS (v1.0.0) details which initially only had PLDM BASE
(v1.0.0) type version defined.

Change-Id: If06e3b7ba89947580f3c600912005e436c6611f9
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>

show more ...

7f57f44113-Jun-2019 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

Enable IBM PLDM OEM commands support

Create folder structure (oem/ibm) for ibm pldm oem commands. Move the
files from the ibm-pldm-oem repo [https://github.com/openbmc/ibm-pldm-oem]
to the folder oe

Enable IBM PLDM OEM commands support

Create folder structure (oem/ibm) for ibm pldm oem commands. Move the
files from the ibm-pldm-oem repo [https://github.com/openbmc/ibm-pldm-oem]
to the folder oem/ibm/ under the pldm repo and enable conditional
compilation for it. The test files are also conditionally compiled.

You would need to provide --enable-oem-ibm to configure.

This is done to simplify the build time and runtime dependencies between the
standard and oem implementations.

Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
Change-Id: Iaa93c73faff87290e3d3d5d155d9ecae6e7ee6f9

show more ...

a6575b8403-Apr-2019 vkaverap <vkaverap@in.ibm.com>

PLDM Message Structure Change

With this change, PLDM code is optimised. The PLDM payload message
structure previously consisted of a pointer to the payload message and
the payload length, this struc

PLDM Message Structure Change

With this change, PLDM code is optimised. The PLDM payload message
structure previously consisted of a pointer to the payload message and
the payload length, this structure is removed with this commit and the
PLDM message structure now has the PLDM header structure and an array of
size 1 whose address is the starting byte of message payload. Therefore,
pldm msg struct can represent a request/response message in contiguous
memory, thereby enabling simple casts and avoiding memcpys to get from a
uint8_t* to pldm msg or vice versa.

This commit also introduces a change to have the response handlers allocate
memory for responses. This is aligned with the message struct change, and
enables varying length responses.

Change-Id: Ia46d852b8b16bfc7cf04f38435bd4079ad33c66b
Signed-off-by: vkaverap <vkaverap@in.ibm.com>

show more ...

c2feac9330-Apr-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

libpldmresponder: fixup logging includes

Replace inclusion of phosphor-logging elog-errors.hpp by log.hpp. The
latter was what was just needed.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

libpldmresponder: fixup logging includes

Replace inclusion of phosphor-logging elog-errors.hpp by log.hpp. The
latter was what was just needed.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I0781aec734d5afb54369d9961085413ed755629d

show more ...

c1e5d1d130-Apr-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

libpldmresponder : add missing include path

The libpldmresponder Makefile.am needs to add top_srcdir to the include
path to enable out-of-tree builds. This way the code can continue to
include somet

libpldmresponder : add missing include path

The libpldmresponder Makefile.am needs to add top_srcdir to the include
path to enable out-of-tree builds. This way the code can continue to
include something like "libpldm/foo.h".

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: If4fa6f1fdac3395dfb389989f18d5de4d259de46

show more ...

a038624b25-Apr-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Makefiles: fixups and minor improvements

Change-Id: I9fb85f56900519478e3c777901beea1ed4af2b5f
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

032bd50a06-Mar-2019 Sampa Misra <sampmisr@in.ibm.com>

Implement command GetDateTime

This commit implements the GetDateTime command which is
defined in PLDM Bios Control and Configuration Specification.

Change-Id: Iced21bbad7be07d357b6885b1b1e03b07a3da

Implement command GetDateTime

This commit implements the GetDateTime command which is
defined in PLDM Bios Control and Configuration Specification.

Change-Id: Iced21bbad7be07d357b6885b1b1e03b07a3da165
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...

fb4bec9425-Mar-2019 Priyanga <priyram1@in.ibm.com>

Enable code coverage

To enable: './configure --enable-code-coverage'

To build and generate report: 'make check-code-coverage'

Tested:
Verified that 'make check-code-coverage' generates lcov report

Enable code coverage

To enable: './configure --enable-code-coverage'

To build and generate report: 'make check-code-coverage'

Tested:
Verified that 'make check-code-coverage' generates lcov report.

Signed-off-by: Priyanga <priyram1@in.ibm.com>
Change-Id: I36a9b501c441ef25595808ce77fc1ca36c1ac323

show more ...

97e0bd5421-Feb-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Define pldm data types

This commit defines some data types as per PLDM DSP0240. Only types that
are used are defined.

Change-Id: Id932d638587b4b34c2941d6d0714cd0e1f1be264
Signed-off-by: Deepak Kodi

Define pldm data types

This commit defines some data types as per PLDM DSP0240. Only types that
are used are defined.

Change-Id: Id932d638587b4b34c2941d6d0714cd0e1f1be264
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

show more ...

432e187c13-Feb-2019 Sampa Misra <sampmisr@in.ibm.com>

Implement GetPLDMVersion command

This commit implements the GetPLDMVersion which is required
as part of the base PLDM support to know the version of a
given PLDM type.

Change-Id: I1bcbd938c5b6833f6

Implement GetPLDMVersion command

This commit implements the GetPLDMVersion which is required
as part of the base PLDM support to know the version of a
given PLDM type.

Change-Id: I1bcbd938c5b6833f62e0ee2f474b04d76b6970d9
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...

1b24f97501-Feb-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Implement discovery commands

This commit does the following
- Implements the GetPLDMTypes and GetPLDMCommands commands. These are
commands that need to be handled by a PLDM device as part of the

Implement discovery commands

This commit does the following
- Implements the GetPLDMTypes and GetPLDMCommands commands. These are
commands that need to be handled by a PLDM device as part of the
initial PLDM discovery.
- Sets up the build infrastructure: separate libraries for PLDM
encode/decode libs and the PLDM responder.

Change-Id: I65fa222d2a681c473f579c8e30d84faaf94fe754
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>

show more ...

1...<<1112131415