#
b3b84b49 |
| 23-Aug-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://rel
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://releases.llvm.org/13.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html
Change-Id: Ia3b1df10175e2e661c8fffb82e357c9db81b2e9c Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
#
62dd8ff2 |
| 12-Feb-2024 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Build BIOS Table Lazily
Entity manager service hosts the compatible interface and populates the Names property with the chassis type. It is seen that the Names property is updated pretty late
pldm: Build BIOS Table Lazily
Entity manager service hosts the compatible interface and populates the Names property with the chassis type. It is seen that the Names property is updated pretty late on the way to BMC ready state. And by that time pldmd is already creating the bios table assuming that the system type is not detected.
To fix this behavior, rather than creating the bios table early, we need to wait until we get the system type from the entity manager daemon.
System Type is fetched from Entity Manager Decorator.Compatible interface [1].
PLDM registers the service name only after building the BIOS tables, to avoids failures to bios updates from other applications
Tested: Power off/On successfully in Simulator
[1] https://github.com/openbmc/entity-manager/commit/9bac6409d4bd684f058517f41de33ba1d17e5666
Change-Id: I4d431061eaaf8842f6382c2e83807f725653e19b Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
#
3c50c82a |
| 30-Jan-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Adding Platform specific PDR support
- Adding platform check to generate pdr based on platform type.
- Currently PDR generation is happening based on default configuration, so this commit adds su
Adding Platform specific PDR support
- Adding platform check to generate pdr based on platform type.
- Currently PDR generation is happening based on default configuration, so this commit adds support to generate PDR's based in the platform type.
Testing: - Added traces and check from which path the files has been taken for pdr generation. - Removed power supply from default path and oem layer and identified that power supply pdr is not generating.
Change-Id: I6bedf06be7392e02c1ad32af7a552a5a4d6d42c0 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
#
2abbce76 |
| 17-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
InstanceIdDb: Move header from pldmd/ to common/
The header is used across all executables produced by the project, which makes it "common".
Change-Id: I022b179fad1de8dba2ef39fd33bc240ec73a2d33 Sig
InstanceIdDb: Move header from pldmd/ to common/
The header is used across all executables produced by the project, which makes it "common".
Change-Id: I022b179fad1de8dba2ef39fd33bc240ec73a2d33 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
11ce8d22 |
| 28-Jul-2022 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
PLDM: System specific BIOS attributes
This commit adds code to populate BIOS attributes based on the system type that is the platform.
The BIOS Jsons are installed based on the platform/ system typ
PLDM: System specific BIOS attributes
This commit adds code to populate BIOS attributes based on the system type that is the platform.
The BIOS Jsons are installed based on the platform/ system type. The system type is populated by entity manager.
TESTED on hardware across different platform/system type. On systems where the compatible system interface is not implemented or entity manager not running, then the BIOS Jsons with default values are installed.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: I179dad34537ed0d1fb263584d687a1b8cb64c335
show more ...
|
#
47792274 |
| 13-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pldm: Include config.h via compiler argument
This removes any ambiguity about which config.h is being included. Subprojects such as libpldm and phosphor-logging also generate config.h files, and the
pldm: Include config.h via compiler argument
This removes any ambiguity about which config.h is being included. Subprojects such as libpldm and phosphor-logging also generate config.h files, and these are exposed in the include path.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3e0ccd6339f088380ffa29d41167b07aefc7dd16
show more ...
|
#
a330b2f0 |
| 04-May-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pldmd: Migrate instance ID allocation to pldm::InstanceIdDb
This removes use of `pldm::dbus_api::Requester` from around the code-base. This makes progress towards removing the DBus API entirely once
pldmd: Migrate instance ID allocation to pldm::InstanceIdDb
This removes use of `pldm::dbus_api::Requester` from around the code-base. This makes progress towards removing the DBus API entirely once all its consumers are converted to the libpldm instance ID APIs.
There was never a good reason for the code using the class to have knowledge that it was related to DBus anyway, so this is, in-effect, a double clean up improving separation of concerns.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I2d9397cae1b3c8c251c32e36ca520aad9c9b8cf6
show more ...
|
#
c453e164 |
| 21-Dec-2022 |
George Liu <liuxiwei@inspur.com> |
libpldm: Correct reference to libpldm header files
When relying on header files from external libraries, #include<> should be used instead of #include "" to avoid ambiguity.
Tested: Built pldm succ
libpldm: Correct reference to libpldm header files
When relying on header files from external libraries, #include<> should be used instead of #include "" to avoid ambiguity.
Tested: Built pldm successfully after enabling ibm-oem
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ia1997de7e0f61564055bbd837f4e24c8f14e55a5
show more ...
|
#
c0c79481 |
| 02-Jun-2021 |
Sampa Misra <sampmisr@in.ibm.com> |
implement async handlers for all requester commands
this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to convert the existing blocking requester commands in pldm to async ones. this
implement async handlers for all requester commands
this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to convert the existing blocking requester commands in pldm to async ones. this is tested with Host code and seems to work fine
Change-Id: I8d4762c3cd5bce49f854b30f8325bfcd1dcb4ff9 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
#
7f839f9d |
| 20-Sep-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
oem-ibm: Send the event to host when BIOS attribute changes
IBM has the requirement to send a hot update to host when the BIOS attribute changes. This patch enables sending an OEM platform event mes
oem-ibm: Send the event to host when BIOS attribute changes
IBM has the requirement to send a hot update to host when the BIOS attribute changes. This patch enables sending an OEM platform event message to host with the details of the BIOS attributes that changed on the BMC. Once the host acknowledges the event, then BMC updates the BaseBiosTable in the bios-config-manager. The host comes down and reads the changed BIOS attributes by calling the command GetBIOSAttribute value.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: Id1579bfed1967e653da743313c825b765d227681
show more ...
|
#
1b180d8a |
| 23-Jul-2020 |
George Liu <liuxiwei@inspur.com> |
libpldmresponder: Implement SetBIOSTable
Register the setBIOSTable method and set separately string table, attribute table, and attribute value table. When the attribute value table is set, the corr
libpldmresponder: Implement SetBIOSTable
Register the setBIOSTable method and set separately string table, attribute table, and attribute value table. When the attribute value table is set, the corresponding D-Bus property value needs to updated.
Tested: test with JSON: https://gist.github.com/lxwinspur/2afffff2e445fddf90dfed6eceef4014
~# pldmtool raw -d 0x80 0x03 0x02 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x03 0x00 0x4c 0x65 0x64 0x01 0x00 0x03 0x00 0x4f 0x66 0x66 0x02 0x00 0x02 0x00 0x4f 0x6e 0x23 0x4d 0x50 0x09 Request Message: 08 01 80 03 02 00 00 00 00 05 00 00 00 03 00 4c 65 64 01 00 03 00 4f 66 66 02 00 02 00 4f 6e 23 4d 50 09 Response Message: 08 01 00 03 02 00 00 00 00 00
~# pldmtool raw -d 0x80 0x03 0x02 0x00 0x00 0x00 0x00 0x05 0x01 0x00 0x00 0x00 0x00 0x00 0x02 0x02 0x00 0x01 0x00 0x01 0x01 0xff 0x10 0x22 0x77 Request Message: 08 01 80 03 02 00 00 00 00 05 01 00 00 00 00 00 02 02 00 01 00 01 01 ff 10 22 77 Response Message: 08 01 00 03 02 00 00 00 00 00
~# pldmtool raw -d 0x80 0x03 0x02 0x00 0x00 0x00 0x00 0x05 0x02 0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0xbc 0x91 0xfe 0xe0 Request Message: 08 01 80 03 02 00 00 00 00 05 02 00 00 00 01 01 00 00 00 bc 91 fe e0 Response Message: 08 01 00 03 02 00 00 00 00 00
~# pldmtool bios GetBIOSTable -t 0 PLDM StringTable: BIOSStringHandle : BIOSString 0 : Led 1 : Off 2 : On
~# pldmtool bios GetBIOSTable -t 1 PLDM AttributeTable: AttributeHandle: 0, AttributeNameHandle: 0(Led) AttributeType: BIOSEnumeration NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 2(On) PossibleValueStringHandle[1] = 1(Off) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 1, StringHandle = 1(Off)
~# pldmtool bios GetBIOSTable -t 2 PLDM AttributeValueTable: AttributeHandle: 0 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = Off
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I0ff88961afdfe0835c9fd0b56e37f7ed75f2fb45
show more ...
|
#
1521f6d1 |
| 16-Jun-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
pldmd: code re-org
Move code specific to the pldm main app to its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I9341ebb02b7fcf8f62fbbe922e1fa6fe3fbcb9ec
|
#
6492f524 |
| 15-Jun-2020 |
George Liu <liuxiwei@inspur.com> |
clang-format: update to latest from docs repo
Since `Cpp11` is an alias for `Latest` and we should tend towards using the latest C++ standard, update the C++ standard to Latest.
https://github.com/
clang-format: update to latest from docs repo
Since `Cpp11` is an alias for `Latest` and we should tend towards using the latest C++ standard, update the C++ standard to Latest.
https://github.com/llvm/llvm-project/commit/e5032567903de19962333c4bf7d2edceaf4f9824#diff-b49a097415dff2837d9626d422c58ba8R82 https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format
Also, other OpenBMC repos are doing the same.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I449e88bb4e1e262060110e1a8f3e8db3ddfc74cf
show more ...
|
#
6080aae7 |
| 13-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Use the new APIs in bios table commands
Use new APIs(BIOSConfig) in bios table commands.
The previous code built bios tables after receiving the GetBIOSTable command. But A BIOS can send GetB
bios: Use the new APIs in bios table commands
Use new APIs(BIOSConfig) in bios table commands.
The previous code built bios tables after receiving the GetBIOSTable command. But A BIOS can send GetBIOSAttributeCurrentValueByHandle or SetBIOSAttributeCurrentValue before GetBIOSTable, then we should build bios tables in those commands.
This change builds bios tables in the command handler's constructor, which avoids building bios tables in multiple places.
Tested: Build tables and verify that built tables are as expected (same as before)
Tested on fp5280g2, with json file https://gist.github.com/wangzqbj/b24558331cb35d14fca3b555ef03e458
$ pldmtool bios GetBIOSTable -t StringTable ... ... PLDM StringTable: BIOSStringHandle : BIOSString 0 : CodeUpdatePolicy 1 : Concurrent 2 : Disruptive 3 : Led 4 : Model 5 : OUTLET 6 : Off 7 : On 8 : str_example3
$ pldmtool bios GetBIOSTable -t AttributeTable ... ... PLDM AttributeTable: AttributeHandle: 0, AttributeNameHandle: 4(Model) AttributeType: BIOSString StringType: 0x01 MinimumStringLength: 1 MaximumStringLength: 100 DefaultStringLength: 8 DefaultString: FP5280G2 AttributeHandle: 1, AttributeNameHandle: 8(str_example3) AttributeType: BIOSStringReadOnly StringType: 0x00 MinimumStringLength: 1 MaximumStringLength: 100 DefaultStringLength: 2 DefaultString: ef AttributeHandle: 2, AttributeNameHandle: 5(OUTLET) AttributeType: BIOSInteger LowerBound: 0 UpperBound: 68002 ScalarIncrement: 1 DefaultValue: 0 AttributeHandle: 3, AttributeNameHandle: 3(Led) AttributeType: BIOSEnumeration NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 7(On) PossibleValueStringHandle[1] = 6(Off) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 1, StringHandle = 6(Off) AttributeHandle: 4, AttributeNameHandle: 0(CodeUpdatePolicy) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 1(Concurrent) PossibleValueStringHandle[1] = 2(Disruptive) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 1(Concurrent)
$ pldmtool bios GetBIOSTable -t AttributeValueTable ... ... PLDM AttributeValueTable: AttributeHandle: 0 AttributeType: BIOSString CurrentStringLength: 12 CurrentString: powersupply0 AttributeHandle: 1 AttributeType: BIOSStringReadOnly CurrentStringLength: 2 CurrentString: ef AttributeHandle: 2 AttributeType: BIOSInteger CurrentValue: 0 AttributeHandle: 3 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 6(Off) AttributeHandle: 4 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 1(Concurrent)
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Icb698971ccd78023e8532be947f2150ea903ff8d
show more ...
|
#
42174885 |
| 20-Dec-2019 |
John Wang <wangzqbj@inspur.com> |
bios: Add SetBIOSAttributeCurrentValue
Update the persisted attribute value table and the d-bus property corresponding to the attribute.
Tested:
Tested on fp5280g2, with json files: https://gist.g
bios: Add SetBIOSAttributeCurrentValue
Update the persisted attribute value table and the d-bus property corresponding to the attribute.
Tested:
Tested on fp5280g2, with json files: https://gist.github.com/wangzqbj/b24558331cb35d14fca3b555ef03e458
Build Tables:
pldmtool raw --data 0x80 0x03 0x01 0x00 0x00 0x00 0x00 0x00 0x00 pldmtool raw --data 0x80 0x03 0x01 0x00 0x00 0x00 0x00 0x00 0x01 pldmtool raw --data 0x80 0x03 0x01 0x00 0x00 0x00 0x00 0x00 0x02
enum attribute:
Get Attribute Value By Handle: root@fp5280g2:/tmp# pldmtool raw --data 0x80 0x03 0x08 0x00 0x00 0x00 0x00 0x00 0x01 0x00 ... ... Response Message: 08 01 00 03 08 00 00 00 00 00 05 01 00
Check Dbus Property: root@fp5280g2:/tmp# busctl get-property xyz.openbmc_project.LED.Controller.front_memory /xyz/openbmc_project/led/physical/front_memory xyz.openbmc_project.Led.Physical State s "xyz.openbmc_project.Led.Physical.Action.Off"
Set Attribute Value: root@fp5280g2:/tmp# pldmtool raw --data 0x80 0x03 0x07 0x00 0x00 0x00 0x00 0x05 0x01 0x00 0x00 0x01 0x01 ... ... Response Message: 08 01 00 03 07 00 //exec successfully
Get Attribute Value By Handle: root@fp5280g2:/tmp# pldmtool raw --data 0x80 0x03 0x08 0x00 0x00 0x00 0x00 0x00 0x01 0x00 ... ... Response Message: 08 01 00 03 08 00 00 00 00 00 05 01 01 // attribute value table was updated.
Check Dbus Property: root@fp5280g2:/tmp# busctl get-property xyz.openbmc_project.LED.Controller.front_memory /xyz/openbmc_project/led/physical/front_memory xyz.openbmc_project.Led.Physical State s "xyz.openbmc_project.Led.Physical.Action.On" // dbus property was updated
Verified that string/integer attributes can be updated as expected.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I8dab1870396061037284c1683de2502c8da68c98
show more ...
|
#
60227a0b |
| 03-Dec-2019 |
Xiaochao Ma <maxiaochao@inspur.com> |
libpldmresponder: bios: Add SetDataTime
Implement the time setting function based on decode requests, set values and return responses. It contains the error response. Unit tests only include tests f
libpldmresponder: bios: Add SetDataTime
Implement the time setting function based on decode requests, set values and return responses. It contains the error response. Unit tests only include tests for numerical conversion.
Tested: ~# pldmtool bios SetDateTime -d 20200101080000 Encode request successfully Request Message: 08 01 80 03 0d 00 00 08 01 01 20 20 On first recv(),response == request : RC = 0 Total length: 6 Shutdown Socket successful : RC = 0 Response Message: 08 01 00 03 0d 00 Set date time successfully.
~# busctl get-property xyz.openbmc_project.Time.Manager\ /xyz/openbmc_project/time/host\ xyz.openbmc_project.Time.EpochTime Elapsed
t 1577865726549597
The value of epochtime matches the time entered.
Signed-off-by: Xiaochao Ma <maxiaochao@inspur.com> Change-Id: I8d123b993d515bcadba1468974907eb56d7e98b9
show more ...
|
#
8721ed6e |
| 05-Dec-2019 |
John Wang <wangzqbj@inspur.com> |
Implement GetBIOSAttributeCurrentValueByHandle
Implement GetBIOSAttributeCurrentValueByHandle in libpldmresponder
Tested: tested with this json https://github.com/openbmc/openbmc/blob/master/meta-i
Implement GetBIOSAttributeCurrentValueByHandle
Implement GetBIOSAttributeCurrentValueByHandle in libpldmresponder
Tested: tested with this json https://github.com/openbmc/openbmc/blob/master/meta-ibm/meta-witherspoon/recipes-phosphor/pldm/pldm/enum_attrs.json
root@fp5280g2:/tmp# ./pldmtool raw --data 0x80 0x03 0x08 0x00 0x00 0x00 0x00 0x00 0x02 0x00 Encode request successfully Request Message: 08 01 80 03 08 00 00 00 00 00 02 00 Success in creating the socket : RC = 3 Success in connecting to socket : RC = 0 Success in sending message type as pldm to mctp : RC = 0 Write to socket successful : RC = 12 Total length:12 Loopback response message: 08 01 80 03 08 00 00 00 00 00 02 00 On first recv(),response == request : RC = 0 Total length: 13 Shutdown Socket successful : RC = 0 Response Message: 08 01 00 03 08 00 00 00 00 00 05 01 00
root@fp5280g2:/tmp# ./pldmtool raw --data 0x80 0x03 0x08 0x00 0x00 0x00 0x00 0x00 0x03 0x00 Encode request successfully Request Message: 08 01 80 03 08 00 00 00 00 00 03 00 Success in creating the socket : RC = 3 Success in connecting to socket : RC = 0 Success in sending message type as pldm to mctp : RC = 0 Write to socket successful : RC = 12 Total length:12 Loopback response message: 08 01 80 03 08 00 00 00 00 00 03 00 On first recv(),response == request : RC = 0 Total length: 13 Shutdown Socket successful : RC = 0 Response Message: 08 01 00 03 08 00 00 00 00 00 05 01 01
root@fp5280g2:/tmp# ./pldmtool raw --data 0x80 0x03 0x08 0x00 0x00 0x00 0x00 0x00 0x06 0x00 Encode request successfully Request Message: 08 01 80 03 08 00 00 00 00 00 06 00 Success in creating the socket : RC = 3 Success in connecting to socket : RC = 0 Success in sending message type as pldm to mctp : RC = 0 Write to socket successful : RC = 12 Total length:12 Loopback response message: 08 01 80 03 08 00 00 00 00 00 06 00 On first recv(),response == request : RC = 0 Total length: 6 Shutdown Socket successful : RC = 0 Response Message: 08 01 00 03 08 88
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ibb68cbb3c825184bd30bdf6cea9d84d91f3a3a16
show more ...
|
#
d9fb1526 |
| 28-Nov-2019 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
bios: delete persisted tables at startup
Leveraging the new registration scheme introduced in the previous commit, delete persisted BIOS tables at PLDM daemon startup. This lets us process new (via
bios: delete persisted tables at startup
Leveraging the new registration scheme introduced in the previous commit, delete persisted BIOS tables at PLDM daemon startup. This lets us process new (via a firmware update, for eg) BIOS config JSONs.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I2e7759261e80afb2f0a45d8598c36838ab530d54
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 ...
|
#
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 ...
|
#
b37be313 |
| 03-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 ...
|
#
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 ...
|
#
a6575b84 |
| 03-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 ...
|
#
032bd50a |
| 06-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 ...
|