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 ...
|
79c37f11 | 31-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Use crc implemented in libpldm
Use the crc function implemented in libpldm, and fixed the endianness of checksum.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Id799da93fdf55ce9fa
bios: Use crc implemented in libpldm
Use the crc function implemented in libpldm, and fixed the endianness of checksum.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Id799da93fdf55ce9fad31dc7c1cfca7f832cf6f1
show more ...
|
5bdb30ad | 20-Nov-2019 |
John Wang <wangzqbj@inspur.com> |
libplmd: utils: Add bcd conversions
Add bcd2dec/dec2bcd functions
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I3781c6f3d312c6700eaca5f2bb88013a36c313ed |
dbbc9ff3 | 25-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: table construct: Add support for integer attribute
Add support for integer attribute to construct attribute table and attribute value table
Signed-off-by: John Wang <wangzqbj@inspur.com> Chan
bios: table construct: Add support for integer attribute
Add support for integer attribute to construct attribute table and attribute value table
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I98a027a32d935cef704b3e7052f87c1af57fddf8
show more ...
|
ecb7d57e | 17-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Add a configuration parser for integer attribute
Add a configuration parser for integer attribute and check the fields for string attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Chan
bios: Add a configuration parser for integer attribute
Add a configuration parser for integer attribute and check the fields for string attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I3be56f4a64373fb442ef58ad9d6693ffb8994917
show more ...
|
daebf4dc | 28-Aug-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Define json structure for integer attribute
Define json structure for "Specific BIOS Attribute Table Fields for BIOSInteger and BIOSIntegerReadOnly Types", see DSP0247 Version 1.0.0 Table 9.
bios: Define json structure for integer attribute
Define json structure for "Specific BIOS Attribute Table Fields for BIOSInteger and BIOSIntegerReadOnly Types", see DSP0247 Version 1.0.0 Table 9.
In the json, VDD_AVSBUS_RAIL is an example for BIOSInteger type and SBE_IMAGE_MINIMUM_VALID_ECS is an exmaple for BIOSIntegerReadOnly Type
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I08190923df2c100062194ccb2e266407bc63ef31
show more ...
|
827c5dee | 07-Nov-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Verify the fields that need to be encoded
Implement functions to verify the fields that to be encoded and set error message.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I897f724
bios: Verify the fields that need to be encoded
Implement functions to verify the fields that to be encoded and set error message.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I897f72497b36f6c62a577b5c062adf7edbad5607
show more ...
|
ca230821 | 15-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Add en/decodes for integer attribute
Add encode/decode functions for integer attribute to construct attribute table and attribute value table
Signed-off-by: John Wang <wangzqbj@inspur.com> Ch
bios: Add en/decodes for integer attribute
Add encode/decode functions for integer attribute to construct attribute table and attribute value table
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I1b61e33c169ea9f78864f9919af0f09fb5ffe5e0
show more ...
|
4de4d00f | 11-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
pldmd: implement PLDM.Requester D-Bus API
Implement D-Bus API defined at https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-dbus-interfaces/+/27077/.
This commit provides an implementation of
pldmd: implement PLDM.Requester D-Bus API
Implement D-Bus API defined at https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-dbus-interfaces/+/27077/.
This commit provides an implementation of the PLDM instance id as per DSP0240 v1.0.0. Ids are tracked per MCTP EID.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I8a1ef213646529b71d9bf33edda67537f7c0f32a
show more ...
|
72136230 | 14-Nov-2019 |
John Wang <wangzqbj@inspur.com> |
libpldm: util: Convert version field to string
Convert version field to string, see DSP0240 5.5
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ife36c0e0ae916173fa73309b490cd380a43b3db6 |
d3d5fa82 | 29-Oct-2019 |
Sridevi Ramesh <sridevra@in.ibm.com> |
Add encode_get_bios_table() function in PLDM BIOS
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com> Change-Id: Id0acee69d3ba13e6c39a569f37c005f1e94a5603 |
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 ...
|
ccc0455b | 14-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Move en/decodes for Attribute Table to libpldm
BIOS Attribute Table has various attribute types, the existing code implements enum/string.
This commit moves the existing encode/decode functio
bios: Move en/decodes for Attribute Table to libpldm
BIOS Attribute Table has various attribute types, the existing code implements enum/string.
This commit moves the existing encode/decode functions for BIOS Attribute Table to libplm.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I60757ee346464d3d108d1667e6074a1345e6e150
show more ...
|
dd9a628d | 11-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Move en/decodes for String Table to libpldm
Move encode/decode functions for BIOS String Table to libpldm. And implement an iterator to traverse the string table.
Signed-off-by: John Wang <wa
bios: Move en/decodes for String Table to libpldm
Move encode/decode functions for BIOS String Table to libpldm. And implement an iterator to traverse the string table.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I409a935dc6fed0b8a16ac37e11401e82d070612c
show more ...
|
e96e7e53 | 05-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
Refactor: bios_parser: Implement a new parsing process
The new version parses the configuration file before `bios module` is loaded.
Assume that configuration files consist of bios attributes. For
Refactor: bios_parser: Implement a new parsing process
The new version parses the configuration file before `bios module` is loaded.
Assume that configuration files consist of bios attributes. For each attribute, Parsing process has the following 3 steps.
1. Get bios strings for BIOS String Table 2. Implement an `attribute to dbus object` mapping 3. Get the type-related values for the attribute
1), 3) are type-related, need to implement handlers for those.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Id7de7f163e75945fb4efdc9b58aa199cb363dd9b
show more ...
|
3ad2175f | 06-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
Refactor: bios: Construct the attribute value table
when constructing the attribute value table, we need to traverse the attribute table. But there is a bug in the previous version when traversing t
Refactor: bios: Construct the attribute value table
when constructing the attribute value table, we need to traverse the attribute table. But there is a bug in the previous version when traversing the attribute table.
Now we use the iterator of the last commit implementation to rebuild attribute value table.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I9fe2b6eabf2b01e124b780fc0fc8615d492c1fed
show more ...
|
0270040b | 06-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Implement an iterator for bios attribute table
Traversing bios attribute table should be platform-independent, so implement a c-version bios attribute table iterator in libpldm, also implement
bios: Implement an iterator for bios attribute table
Traversing bios attribute table should be platform-independent, so implement a c-version bios attribute table iterator in libpldm, also implement a c++ auxiliary function to traverse a bios table.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I2afcaac306603410e711aa4772ba35b5e0b131d5
show more ...
|
d8702f60 | 30-Oct-2019 |
John Wang <wangzqbj@inspur.com> |
libpldm: utils: Add crc implementation
Add crc implementation,copied from http://web.mit.edu/freebsd/head/sys/libkern/crc32.c
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I82e3f7e556b1
libpldm: utils: Add crc implementation
Add crc implementation,copied from http://web.mit.edu/freebsd/head/sys/libkern/crc32.c
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I82e3f7e556b10fba2956b294b14e8396e50f49e2
show more ...
|
f6704d5c | 23-Oct-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
build: remove autotools support
The project has shifted over to use meson since about a month, and there have been no challenges in terms of build from the source, bitbake builds, OpenBMC CI builds,
build: remove autotools support
The project has shifted over to use meson since about a month, and there have been no challenges in terms of build from the source, bitbake builds, OpenBMC CI builds, etc. The time seems right to disable autotools.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I464a1e5ff93b8d3cf825d452ddbc6c162fceffd2
show more ...
|
497665ac | 30-Jul-2019 |
PriyangaRamasamy <priyanga24@in.ibm.com> |
libpldm: requester: APIs for GetFruRecordTable
This commit implements decode request api and the encode response API for GetFruRecordTable which is defined in PLDM FRU Data Specification DSP0257_1.0
libpldm: requester: APIs for GetFruRecordTable
This commit implements decode request api and the encode response API for GetFruRecordTable which is defined in PLDM FRU Data Specification DSP0257_1.0.0.
Signed-off-by: PriyangaRamasamy <priyanga24@in.ibm.com> Change-Id: I014e6da5460bdae6f7f45f1239cba325d689dd48
show more ...
|
8e92c6c4 | 06-Aug-2019 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
libpldm: support GetFruRecordTableMetadata api's
Added encode of request for GetFruRecordTableMetadata Added encode of response for GetFruRecordTableMetadata Added decode of response for GetFruRecor
libpldm: support GetFruRecordTableMetadata api's
Added encode of request for GetFruRecordTableMetadata Added encode of response for GetFruRecordTableMetadata Added decode of response for GetFruRecordTableMetadata
The above encode and decode implementation is based on PLDM FRU Data Specification DSP0257_1.0.0.
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> Change-Id: Ibb16998c58f50538d37f4ea3b324de8277bc5205
show more ...
|
69d3e7fb | 04-Sep-2019 |
Carol Wang <wangkair@cn.ibm.com> |
BIOS: UT for bios attribute tables with string type
In libpldmresponder_bios_test.cpp: 1. Modify some existing UTs to match new implemented types. 2. Add new class TestSingleTypeBIOSTable to test at
BIOS: UT for bios attribute tables with string type
In libpldmresponder_bios_test.cpp: 1. Modify some existing UTs to match new implemented types. 2. Add new class TestSingleTypeBIOSTable to test attribute value table based on single type.
Tested: /tmp/singleTypeBIOSTable.pnzuaS$ hexdump -C stringTable 00000000 0f 00 0c 00 73 74 72 5f 65 78 61 6d 70 6c 65 31 |....str_example1| 00000010 10 00 0c 00 73 74 72 5f 65 78 61 6d 70 6c 65 32 |....str_example2| 00000020 11 00 0c 00 73 74 72 5f 65 78 61 6d 70 6c 65 33 |....str_example3| 00000030 98 4c 55 cf |.LU.| 00000034 /tmp/singleTypeBIOSTable.pnzuaS$ hexdump -C attributeTable 00000000 07 00 01 0f 00 01 01 00 64 00 03 00 61 62 63 08 |........d...abc.| 00000010 00 01 10 00 02 00 00 64 00 00 00 09 00 01 11 00 |.......d........| 00000020 00 01 00 64 00 02 00 65 66 00 00 00 fb e0 7d 7f |...d...ef.....}.| 00000030 /tmp/singleTypeBIOSTable.pnzuaS$ hexdump -C attributeValueTable 00000000 09 00 01 02 00 65 66 00 6d 81 4a b6 |.....ef.m.J.|
Change-Id: I65316bcbd52c60d2671709632dd567aea0a52593 Signed-off-by: Carol Wang <wangkair@cn.ibm.com>
show more ...
|
612f35b4 | 26-Aug-2019 |
Carol Wang <wangkair@cn.ibm.com> |
BIOS: Implement attribute table with type string
Construct attribute table with type string based on string table.
Tested: Following are the tables constructed from the sample json file present at
BIOS: Implement attribute table with type string
Construct attribute table with type string based on string table.
Tested: Following are the tables constructed from the sample json file present at "test/bios_jsons/
$ hexdump -C 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 0c 00 0c 00 73 |erm....Temp....s| 000000a0 74 72 5f 65 78 61 6d 70 6c 65 31 0d 00 0c 00 73 |tr_example1....s| 000000b0 74 72 5f 65 78 61 6d 70 6c 65 32 0e 00 0c 00 73 |tr_example2....s| 000000c0 74 72 5f 65 78 61 6d 70 6c 65 33 00 6c 11 89 d4 |tr_example3.l...|
$ hexdump -C 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 04 00 01 0c 00 01 01 00 64 00 03 00 61 62 63 05 |........d...abc.| 00000040 00 01 0d 00 02 00 00 64 00 00 00 06 00 01 0e 00 |.......d........| 00000050 00 01 00 64 00 02 00 65 66 00 00 00 72 ef 0c 2a |...d...ef...r..*|
Change-Id: I272c59b96b5aa14571d01eeeaccd504ca7ac168b Signed-off-by: Carol Wang <wangkair@cn.ibm.com>
show more ...
|
a2fa0709 | 31-May-2019 |
Sampa Misra <sampmisr@in.ibm.com> |
libpldmresponder: implement setStateEffecterStates
This commit implements the handler for setStateEffecterStates response. Apart from that it actually sets the effecter for PLDM_BOOT_PROGRESS state.
libpldmresponder: implement setStateEffecterStates
This commit implements the handler for setStateEffecterStates response. Apart from that it actually sets the effecter for PLDM_BOOT_PROGRESS state. This is used when host sends setStateEffecterStates to mark any change in hypervisor state. The currently supported states are "StandBy" and "BootComplete" as per xyz.openbmc_project.State.OperatingSystem.Status
Change-Id: I205627b2b8a796a0dd4a200ac3d59c1d19d71f01 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
557dfb00 | 12-May-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
libpldmresponder: implement handler for GetPDR
This commit implements the GetPDR command as defined in DSP0248 v1.1.1. Multipart PDR transfers are still not implemented.
Signed-off-by: Deepak Kodih
libpldmresponder: implement handler for GetPDR
This commit implements the GetPDR command as defined in DSP0248 v1.1.1. Multipart PDR transfers are still not implemented.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Ic520a914e8228b723521151f4ba1eed947179047
show more ...
|