History log of /openbmc/pldm/test/ (Results 126 – 150 of 154)
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 ...

81796c2f05-Sep-2019 John Wang <wangzqbj@inspur.com>

Fix issues in SetBiosAttributeCurrentValue in UT

Fixed some uninitialized variables and assigned
a more appropriate value to transferFlag in
in SetBiosAttributeCurrentValue in UT

Signed-off-by: Joh

Fix issues in SetBiosAttributeCurrentValue in UT

Fixed some uninitialized variables and assigned
a more appropriate value to transferFlag in
in SetBiosAttributeCurrentValue in UT

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

show more ...

4d84479115-Aug-2019 John Wang <wangzqbj@inspur.com>

bios: Implement SetBiosAttributeCurrentValue encode/decode API

Implement encode/decode APIs for SetBiosAttributeCurrentValue
command for both request and responder flow. The unit tests
functions als

bios: Implement SetBiosAttributeCurrentValue encode/decode API

Implement encode/decode APIs for SetBiosAttributeCurrentValue
command for both request and responder flow. The unit tests
functions also have been added to check these APIs.

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

show more ...

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

libpldm: fixup encode GetPDR response

CRC must be encoded only if the transfer flag is PLDM_END. The previous
code would do an out if bounds access because the caller wouldn't
allocate memory to hol

libpldm: fixup encode GetPDR response

CRC must be encoded only if the transfer flag is PLDM_END. The previous
code would do an out if bounds access because the caller wouldn't
allocate memory to hold the CRC (because the caller intended a
single-part transfer).

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

show more ...

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

Implement GetBIOSAttributeCurrentValueByHandle encode/decode API

Implemented the functions to encode/decode the request of
GetBIOSAttributeCurrentValueByHandle as required for the responder.
Corresp

Implement GetBIOSAttributeCurrentValueByHandle encode/decode API

Implemented the functions to encode/decode the request of
GetBIOSAttributeCurrentValueByHandle as required for the responder.
Corresponding unit test functions have also been added to check the
good decode requests and bad decode request.

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

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 ...

7fcfb66b08-May-2019 Sampa Misra <sampmisr@in.ibm.com>

libpldm: implement encode/decode APIs for GetPDR

This commit implements the encode response and decode request of
GetPDR command which is defined in PLDM Platform spec DSP0248_1.1.1
This enables the

libpldm: implement encode/decode APIs for GetPDR

This commit implements the encode response and decode request of
GetPDR command which is defined in PLDM Platform spec DSP0248_1.1.1
This enables the PLDM responder to receive the request and process
the response packet.

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

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 ...

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 ...

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 ...

98a2c19c03-Apr-2019 vkaverap <vkaverap@in.ibm.com>

libpldm : add encode/decode APIs for SetStateEffecterStates

This commit implements the encode request and decode
response APIs for the SetStateEffecterStates command.
This enables BMC requester apps

libpldm : add encode/decode APIs for SetStateEffecterStates

This commit implements the encode request and decode
response APIs for the SetStateEffecterStates command.
This enables BMC requester apps to send this command and
process the received response.

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

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 ...

0db1dfa619-Mar-2019 Sampa Misra <sampmisr@in.ibm.com>

libpldm : add encode/decode for setStateEffecterStates

This commit implements the decode of the request and encode of
the response for the setStateEffecterStates command.

Change-Id: Idc5f1316386dc6

libpldm : add encode/decode for setStateEffecterStates

This commit implements the decode of the request and encode of
the response for the setStateEffecterStates command.

Change-Id: Idc5f1316386dc650564d9859a63fbeade24d82d8
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 ...

94d704b722-Feb-2019 Sampa Misra <sampmisr@in.ibm.com>

GetPLDMVersion: add test cases

This commit adds additional bad path tests for the command
GetPLDMVersion.

Change-Id: I0c88bfbb2f40829cc84f4e29ce632dc1e5e53aec
Signed-off-by: Sampa Misra <sampmisr@i

GetPLDMVersion: add test cases

This commit adds additional bad path tests for the command
GetPLDMVersion.

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

show more ...

8c64346921-Feb-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

decode APIs: decode completion code as well

Have the decode APIs decode PLDM completion code as well, instead on
relying on the caller to do this. If the code indicates failure, bail
out from furthe

decode APIs: decode completion code as well

Have the decode APIs decode PLDM completion code as well, instead on
relying on the caller to do this. If the code indicates failure, bail
out from further decoding.

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

show more ...

1234567