aa8ae72f | 12-Dec-2019 |
Sampa Misra <sampmisr@in.ibm.com> |
remove phosphor-logging dependency
This commit removes pldm's dependency on phosphor-logging and instead uses stdout and stdcerr for logging purpose.This is to break the build time circular dependen
remove phosphor-logging dependency
This commit removes pldm's dependency on phosphor-logging and instead uses stdout and stdcerr for logging purpose.This is to break the build time circular dependency between pldm and phosphor-logging.
Change-Id: I8cffa3c99eb34efad5f186b3452a86ebadec2074 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
f4e0a495 | 19-Nov-2019 |
vkaverap <vkaverap@in.ibm.com> |
ibm-oem: libpldm: add APIs for for FileAck command
Change-Id: Ia363f6850f415f5ce9694976ddf1d225091fb1c4 Signed-off-by: vkaverap <vkaverap@in.ibm.com> |
9a26f89f | 10-Dec-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
oem-ibm: LID reads: fix vector usage
Fixed a pointer that would point to an std::vector, and would end up being stale after said vector is resized.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.
oem-ibm: LID reads: fix vector usage
Fixed a pointer that would point to an std::vector, and would end up being stale after said vector is resized.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I3abd63af5d159075aedae9ec3643058a808c9b8d
show more ...
|
f5087a40 | 03-Dec-2019 |
Sampa Misra <sampmisr@in.ibm.com> |
oem-ibm: write PELs using mktempfs
Instead of writing PELs to a predetermined location and a file, use mktempfs.
Change-Id: I48aacbe45f9932e45586681d9333c44235d3f1b0 Signed-off-by: Sampa Misra <sam
oem-ibm: write PELs using mktempfs
Instead of writing PELs to a predetermined location and a file, use mktempfs.
Change-Id: I48aacbe45f9932e45586681d9333c44235d3f1b0 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
bc669f1b | 28-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
pldmd: implement a new handler registration scheme
Implement a PLDM request handler registration scheme that requires handlers to be C++ objects rather than plain functions. This was needed for a co
pldmd: implement a new handler registration scheme
Implement a PLDM request handler registration scheme that requires handlers to be C++ objects rather than plain functions. This was needed for a couple of reasons:
- Perform specific actions at the PLDM daemon startup (that's when the handlers are loaded). - Share data across PLDM request messages (for eg FRU/BIOS tables), without having to resort to globals and statics.
Tested: - existing unit tests still pass - added tests for the new registration scheme
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I1cf1c0a6fccd15da54f08120e61a5f256df6bc36
show more ...
|
75e02f84 | 20-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
oem-ibm: add readFileByType handler
Add a handler for file type 'LID', to be able to read LID files over the LPC channel.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I9db77f78b
oem-ibm: add readFileByType handler
Add a handler for file type 'LID', to be able to read LID files over the LPC channel.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I9db77f78b0aa4e289fb0ab940121569b431f4dfe
show more ...
|
f6d3a830 | 19-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
oem-ibm: add readFileByTypeIntoMemory handler
Add a handler for file type 'LID', which are host firmware image files on IBM systems. These would be read by the host firmware as it boots.
Signed-off
oem-ibm: add readFileByTypeIntoMemory handler
Add a handler for file type 'LID', which are host firmware image files on IBM systems. These would be read by the host firmware as it boots.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I83e3ee398a4c6a4198a40b8b2188a3c11d0e55c4
show more ...
|
dce1c99c | 19-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
oem-ibm: libpldm: add en/decoders for R/WFileByType
Read/write operations on files of a specific type will use functions defined in this commit for the responder and requester flow of PLDM.
Signed-
oem-ibm: libpldm: add en/decoders for R/WFileByType
Read/write operations on files of a specific type will use functions defined in this commit for the responder and requester flow of PLDM.
Signed-off-by: vkaverap <vkaverap@in.ibm.com> Change-Id: I3df2618d901bd82c8e552286a77195151f73bf55
show more ...
|
a9aac727 | 22-Aug-2019 |
vkaverap <vkaverap@in.ibm.com> |
oem-ibm: Implement en/decode for NewFileAvailable
Enode/Decode to new file available request and response message on PLDM.
Change-Id: Ia538d65fd6d9d2ee55407e0c10c1f060bce62ad2 Signed-off-by: vkaver
oem-ibm: Implement en/decode for NewFileAvailable
Enode/Decode to new file available request and response message on PLDM.
Change-Id: Ia538d65fd6d9d2ee55407e0c10c1f060bce62ad2 Signed-off-by: vkaverap <vkaverap@in.ibm.com>
show more ...
|
854e61f2 | 22-Aug-2019 |
Sampa Misra <sampmisr@in.ibm.com> |
oem-ibm: implement WriteFileByTypeFromMemory handler
This commit implements a framework for handling oem file types received to/from host. Along with that it also implements the responder for oem co
oem-ibm: implement WriteFileByTypeFromMemory handler
This commit implements a framework for handling oem file types received to/from host. Along with that it also implements the responder for oem command WriteFileByTypeFromMemory and processes PELs received from the host firmware.
Change-Id: Ice866aed0343b90769013c4be31a0c730f6e6bcd Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
07404565 | 05-Aug-2019 |
vkaverap <vkaverap@in.ibm.com> |
oem-ibm: libpldm: add ReadFileByTypeIntoMemory and WriteFileByTypeFromMemory
Implement Encode/Decode APIs for read/write file by type PLDM messages. Example for a file type is a Platform Event Log f
oem-ibm: libpldm: add ReadFileByTypeIntoMemory and WriteFileByTypeFromMemory
Implement Encode/Decode APIs for read/write file by type PLDM messages. Example for a file type is a Platform Event Log file.
Change-Id: I822034c5f59943a78129136089822e552b2461bb Signed-off-by: vkaverap <vkaverap@in.ibm.com>
show more ...
|
881cde18 | 24-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
oem: ibm: Fix UT case ConfigNotExit
This case checks a log to indicate FileTable is not created. It will triger a CI failure with the latest ci-scripts:
[ RUN ] FileTable.ConfigNotExist ../oem
oem: ibm: Fix UT case ConfigNotExit
This case checks a log to indicate FileTable is not created. It will triger a CI failure with the latest ci-scripts:
[ RUN ] FileTable.ConfigNotExist ../oem/ibm/test/libpldmresponder_fileio_test.cpp:458: Failure Expected equality of these values: logs.size() Which is: 0 1 [ FAILED ] FileTable.ConfigNotExist (1 ms)
Change it to check FileTable::isEmpty().
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I2ff0d588d7784e7d2828468d61cb1851140596e2
show more ...
|
134cc1bf | 04-Oct-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
OEM-IBM: react to xdma device name change
The name changed from xdma to aspeed-xdma.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Ia893c8428d25f9a61b57290b37decebf26e9f381 |
3c275e1c | 21-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 ...
|
5b914c31 | 30-Jun-2019 |
vkaverap <vkaverap@in.ibm.com> |
oem-ibm responder : Implement ReadFile and WriteFile
ReadFile and WriteFile command is required for in-band file transfers via LPC channel. These commands will be mostly used for files that are smal
oem-ibm responder : Implement ReadFile and WriteFile
ReadFile and WriteFile command is required for in-band file transfers via LPC channel. These commands will be mostly used for files that are small size.
This commit covers responder for ReadFile and WriteFile.
Change-Id: Id2cbf7afb9aa3ed193376bc93eaae5b8a334d5f7 Signed-off-by: vkaverap <vkaverap@in.ibm.com>
show more ...
|
2ffe329e | 24-Jun-2019 |
vkaverap <vkaverap@in.ibm.com> |
oem-ibm: libpldm: add file IO APIs
This commit implements encode and decode APIs for in-band readFile and writeFile commands.
In-band file IO is preferred over DMA for smaller files.
Change-Id: I9
oem-ibm: libpldm: add file IO APIs
This commit implements encode and decode APIs for in-band readFile and writeFile commands.
In-band file IO is preferred over DMA for smaller files.
Change-Id: I92ec011560ba39aed497f533074479236abeb766 Signed-off-by: vkaverap <vkaverap@in.ibm.com>
show more ...
|
223a73d9 | 04-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 ...
|
33705fda | 02-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 ...
|
da87ec61 | 02-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 ...
|
8b976659 | 27-Jun-2019 |
Priyanga <priyram1@in.ibm.com> |
Sync OEM:libpldm encode/decode APIs into PLDM
Change-Id: I756506e8f1678d6ee82528fdb26ea817d4a2b3cf Signed-off-by: Priyanga <priyram1@in.ibm.com> |
0c6d22cc | 25-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> |
f666db13 | 29-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 ...
|
7f57f441 | 13-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 ...
|