daa6923c | 02-Sep-2020 |
George Liu <liuxiwei@inspur.com> |
BIOS: Fix readOnly BIOS attributes
Previously, the readOnly property is true when without a D-Bus section in BIOS JSON. Now, the readOnly property should be determined by a new readOnly field, which
BIOS: Fix readOnly BIOS attributes
Previously, the readOnly property is true when without a D-Bus section in BIOS JSON. Now, the readOnly property should be determined by a new readOnly field, which should be introduced in the JSON. The checks are updated to ensure that if there is D-Bus mapping then only D-Bus lookups are done.
Tested: test with json https://gist.github.com/lxwinspur/2afffff2e445fddf90dfed6eceef4014
busctl get-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager BaseBIOSTable
a{s(sbsssvva(sv))} 5 "CodeUpdatePolicy" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" true "" "" "" s "Concurrent" s "Concurrent" 2 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf" s "Concurrent" "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf" s "Disruptive"
"Led" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" false "" "" "" s "Off" s "Off" 2 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf" s "On" "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf" s "Off"
"Model" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String" false "" "" "" s "powersupply0" s "FP5280G2" 2 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.MinStringLength" x 1 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.MaxStringLength" x 100
"OUTLET" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer" false "" "" "" x 9149282306036291456 x 0 3 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.LowerBound" x 0 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.UpperBound" x 68002 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.ScalarIncrement" x 1
"str_example3" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String" true "" "" "" s "ef" s "ef" 2 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.MinStringLength" x 1 "xyz.openbmc_project.BIOSConfig.Manager.BoundType.MaxStringLength" x 100
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I73d2dcb9fc65a1aa8bbd060cfb9d44e708b47aae
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 ...
|
1244acfd | 13-Aug-2020 |
George Liu <liuxiwei@inspur.com> |
support runtime update of BIOS attributes
Register the BIOSConfig/PendingAttributes signal and when the out of band redfish user updates the BIOS attributes, the pldm daemon should process and check
support runtime update of BIOS attributes
Register the BIOSConfig/PendingAttributes signal and when the out of band redfish user updates the BIOS attributes, the pldm daemon should process and check the PendingAttributes porperty, and then update the BIOSConfig/BaseBIOSTable property and the BIOS table.
Tested: test JSON with https://gist.github.com/lxwinspur/2afffff2e445fddf90dfed6eceef4014 Type.Enumeration: ~#: busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a\{s\(sv\)\} 1 "Led" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" s "xyz.openbmc_project.Led.Physical.Action.On" ~#: pldmtool bios getbiostable -t 2 PLDM AttributeValueTable: ... ... AttributeHandle: 3 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = On ... ...
Type.String ~#: busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a\{s\(sv\)\} 1 "Model" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String" s "testModel" ~#: pldmtool bios getbiostable -t 2 PLDM AttributeValueTable: AttributeHandle: 0 AttributeType: BIOSString CurrentStringLength: 10 CurrentString: testModel ... ...
Type.Integer ~#: busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a\{s\(sv\)\} 1 "OUTLET" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer" x 1000 ~#: pldmtool bios getbiostable -t 2 ... ... AttributeHandle: 2 AttributeType: BIOSInteger CurrentValue: 1000 ... ...
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I4d4d2941e6c9bfa7f6fccb664db1580f2ffc9c9f
show more ...
|
de195ff6 | 30-Jul-2020 |
George Liu <liuxiwei@inspur.com> |
test: fix bios JSON in the test file
1. `object_path` should contain `dbus` objects. 2. the difference between `default_value` and `lower_bound` should be an integer multiple of `scalar_increment
test: fix bios JSON in the test file
1. `object_path` should contain `dbus` objects. 2. the difference between `default_value` and `lower_bound` should be an integer multiple of `scalar_increment`.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Id91cbdcc13ed1af51deb7d049b65e9488767c5d6
show more ...
|
a792b216 | 12-Aug-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
VMI sensors: Add JSON changes to support VMI sensors
The handling for state sensor events for VMI network status sensors were hardcoded. This patch makes the sensor handling for VMI sensors data dri
VMI sensors: Add JSON changes to support VMI sensors
The handling for state sensor events for VMI network status sensors were hardcoded. This patch makes the sensor handling for VMI sensors data driven and also to handle for host sensors which are standard and OEM. The OCC sensors handling is moved to openpower-occ-control app so removing it from event_state_sensor.json file.
Tested:
By using pldmtool, the PlatformEventMessage is generated for VMI sensors and verified the D-Bus propert in settings manager.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I851573e54e2c1984bed142fdc1c2d40f37e544a9
show more ...
|
c4ea6a90 | 14-Jul-2020 |
George Liu <liuxiwei@inspur.com> |
Mechanism to associate sensor/effecter to FRU entity
The "entity_path" key is defined in PDR JSONs and will have an FRU D-Bus object path as the value, if this is present, the entity type, instance,
Mechanism to associate sensor/effecter to FRU entity
The "entity_path" key is defined in PDR JSONs and will have an FRU D-Bus object path as the value, if this is present, the entity type, instance, and container id should be associate with the FRU entity.
Tested: test JSON with https://gist.github.com/lxwinspur/7225a9301ccfcbff1f6549203405b4fa after executing the following command, get the entity information from FruHandler entity_type = 120 entity_instance_num = 1 entity_container_id = 0
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I019f9a0b9d4dbec20a71dfd797f30ac8f57f67b8
show more ...
|
cae1866f | 14-May-2020 |
George Liu <liuxiwei@inspur.com> |
send PLDM event msg when state sensor changes
Add the D-Bus to event handler interface to listen all of the state sensor PDRs and pldm should be able to send up a PLDM event msg when a D-Bus propert
send PLDM event msg when state sensor changes
Add the D-Bus to event handler interface to listen all of the state sensor PDRs and pldm should be able to send up a PLDM event msg when a D-Bus property changes. the PlatformEventMessage command format is defined in Table 15 in DSP0248 v1.2.0.
Tested: test with JSON https://gist.github.com/lxwinspur/6a40abea7330c25e4d49826e890c4be9 The sendEventMsg method is successfully called and the corresponding message is successfully sent when the D-Bus property value of the sensor status changes. print requestMsg Data: 80 02 0a 01 00 00 01 00 01 00 00 00(when calling sendEventMsg method)
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I9b6d5c1403bfcaa00dbbf478f7d797cc4a40f20d
show more ...
|
a917012d | 13-May-2020 |
George Liu <liuxiwei@inspur.com> |
libpldmresponder: Add gmock test for the getStateSensorReadings method
Add the getStateSensorReadings test method to the test/libpldmresponder_platform_test.cpp.
Signed-off-by: George Liu <liuxiwei
libpldmresponder: Add gmock test for the getStateSensorReadings method
Add the getStateSensorReadings test method to the test/libpldmresponder_platform_test.cpp.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I3ecec5c5d74676bf34beac18ba3416bcfd351982
show more ...
|
4371f2b6 | 09-May-2020 |
George Liu <liuxiwei@inspur.com> |
Add test for the GeneratePDRByStateSensor method
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ie53dfa61e01f8a20b785f4cd305032a965cbaac3 |
a929dac1 | 09-May-2020 |
George Liu <liuxiwei@inspur.com> |
Add state sensor configuration to the sensor_pdr.json
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I239d482f95a66be711952e628ef0b0f27f78bdd7 |
12afe110 | 25-May-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
pdr: Implement terminus locator PDR for BMC
This commit creates the TL PDR for the BMC. The TID and MCTP EID for BMC is static, 1 and 8 respectively. BMC PDRs are assigned the value of 1 for PLDMTer
pdr: Implement terminus locator PDR for BMC
This commit creates the TL PDR for the BMC. The TID and MCTP EID for BMC is static, 1 and 8 respectively. BMC PDRs are assigned the value of 1 for PLDMTerminusHandle. Added the parser for terminus locator PDR in pldmtool.
Tested:
/tmp/pldmtool platform GetPdr -d 0
nextRecordHandle: 2 responseCount: 19 recordHandle: 1 PDRHeaderVersion: 1 PDRType: 1 recordChangeNumber: 0 dataLength: 9
PLDMTerminusHandle: 1 validity: valid TID: 1 containerID: 0 terminusLocatorType: MCTP_EID terminusLocatorValueSize: 1 EID: 8
Change-Id: I596301d6c676b450ae1f2cef872966b4c40d8bae Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
a4a96162 | 14-Jul-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
pldmd: Remove hard coded effecter id
This commit removes the hard coded effecter id from the dbus_to_host_effecter.json for Phyp to boot from standby to runtime. The effecter id will be fetched from
pldmd: Remove hard coded effecter id
This commit removes the hard coded effecter id from the dbus_to_host_effecter.json for Phyp to boot from standby to runtime. The effecter id will be fetched from Host PDR instead.
Change-Id: I1829c99557a0f1b89d88c58b3ddef6d7d58ed2f6 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
b5c227ea | 13-Jul-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
libpldmresponder: construct BMC PDRs lazily
BMC's PDRs were constructed when the pldm daemon starts up. However, the pldm daemon might rely on other services to start in order to create PDRs. To sol
libpldmresponder: construct BMC PDRs lazily
BMC's PDRs were constructed when the pldm daemon starts up. However, the pldm daemon might rely on other services to start in order to create PDRs. To solve this problem, construct the PDRs when the first GetPDR call comes in. From a practical timing perspective, this ensures the pldm daemon and the services it needs to build PDRs are all up and running.
An alternative would be to add 'After' directives in pldm's service file, however that can get complex when some of the services are not present on all platforms.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Id6ac9fd47b293f7e84e3837432b32b0e3c3f8a5a
show more ...
|
36e81352 | 01-Jul-2020 |
George Liu <liuxiwei@inspur.com> |
libpldmresponder: create PDR when the D-Bus object path exists
On a system where this D-Bus object path does not exist, it should not create a PDR when the D-Bus object specified here is not found.
libpldmresponder: create PDR when the D-Bus object path exists
On a system where this D-Bus object path does not exist, it should not create a PDR when the D-Bus object specified here is not found.
Tested: In the PDR config files, the PDR is successfully created when the objectPath of the D-Bus exists, otherwise, skipped the current config and the PDR is not created.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib59fa79cc28d5712161bfb971c37c86c363bafb0
show more ...
|
c6e49c4f | 01-Jul-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
libpldmresponder: PDR: check config dir
Gracefully exist if PDR config directory doesn't exist.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Iee4210469f275f574fc9c9b8da183003497
libpldmresponder: PDR: check config dir
Gracefully exist if PDR config directory doesn't exist.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Iee4210469f275f574fc9c9b8da183003497bfb2d
show more ...
|
33e9c7ea | 11-Jun-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Build FRU table lazily
The FRU table is created when the PLDM daemon starts and depends on BMC inventory collection to populate it completely. There is no D-Bus signal or target that PLDM daemon can
Build FRU table lazily
The FRU table is created when the PLDM daemon starts and depends on BMC inventory collection to populate it completely. There is no D-Bus signal or target that PLDM daemon can rely on to figure completion of inventory. This can cause some of the inventory to not show up in the FRU table if the inventory collection is not complete when the PLDM daemon starts.
An easy solution to this problem is to do the FRU table creation lazily. The FRU table will be created when the FRU commands or Get PDR command is handled the first time. The entity association PDR's are created when the FRU table is built. So Get PDR commands expects the building of the FRU table as a pre condition.
Tested:
Ensured FRU table is created when the GetFRURecordTableMetadata, GetFRURecordTable and GetPDR command is handled by the PLDM daemon the first time. Next time already built table is returned for the FRU commands.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I0deb723f30a30a667d0e80c9f9f6aced5ab23a67
show more ...
|
d130e1a3 | 17-Jun-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
common: code re-org
Move common files under a common/ directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I0eaf91d4ee94c1e78228da0c50892f82e91912fa |
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 |
ac19bd68 | 16-Jun-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
host-bmc: code re-org
Move code specific to Host BMC PLDM communication into its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I0a88874bdccfe6cd71099ff41b8b5c65491
host-bmc: code re-org
Move code specific to Host BMC PLDM communication into its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I0a88874bdccfe6cd71099ff41b8b5c654915316d
show more ...
|
250c4754 | 15-Apr-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
pldmd: D-Bus to host effecter translation
This commit implements a mechanism to move the Host's boot state from 'not started' to 'boot complete' by setting the relevant Host effecter when the associ
pldmd: D-Bus to host effecter translation
This commit implements a mechanism to move the Host's boot state from 'not started' to 'boot complete' by setting the relevant Host effecter when the associated D-Bus property is set in the BMC.
Also added an example JSON to match D-Bus to host effecters
Change-Id: I41025d99d2b4b3452d4c51b03efe3750e159328b Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
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 ...
|
a7aacc31 | 10-Jun-2020 |
Chicago Duan <duanzhijia01@inspur.com> |
Fix issue: Find composite sensors/effecters PDRs error
Fix the issue that when looking for composite sensors/effecters PDRs return faild: The resource is not found.
Fix the test function in pldm_ut
Fix issue: Find composite sensors/effecters PDRs error
Fix the issue that when looking for composite sensors/effecters PDRs return faild: The resource is not found.
Fix the test function in pldm_utils_test.cpp.
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: I3e5df59de1a1d71e8eec043fdbb7868bbff6343b
show more ...
|
738e4d8f | 28-May-2020 |
Chicago Duan <duanzhijia01@inspur.com> |
Implement PDR.FindStateSensorPDR DBus API
This commit implements a DBus API defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/32905 to find the stateSensorPDR based
Implement PDR.FindStateSensorPDR DBus API
This commit implements a DBus API defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/32905 to find the stateSensorPDR based on the entity ID and stateSetID
Tested: Tested ok in fp5280g2 system busctl call xyz.openbmc_project.PLDM /xyz/openbmc_project/pldm xyz.openbmc_project.PLDM.PDR FindStateSensorPDR yqq 1 5 1 aay 1 27 4 0 0 0 1 4 0 0 17 0 0 0 1 0 5 0 0 0 0 0 0 0 1 1 0 1 33
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: I2b4ea63df4890933d1c70ac48a6829e7c1204f69
show more ...
|
0f74c982 | 27-Apr-2020 |
Pavithra Barithaya <pbaritha@in.ibm.com> |
Implement PDR.FindStateEffecterPDR DBus API
This commit implements a DBus API defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/31774 to find the stateEffecterPDR ba
Implement PDR.FindStateEffecterPDR DBus API
This commit implements a DBus API defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/31774 to find the stateEffecterPDR based on the entity ID and stateSetID.
Tested: Unit tests and in witherspoon system busctl call :1.187 /xyz/openbmc_project/pldm xyz.openbmc_project.PLDM.PDR FindStateEffecterPDR yqq 1 33 196 aay 1 29 1 0 0 0 1 11 0 0 19 0 0 0 1 0 33 0 0 0 0 0 0 0 0 0 1 196 0 1 6
busctl call :1.187 /xyz/openbmc_project/pldm xyz.openbmc_project.PLDM.PDR FindStateEffecterPDR yqq 1 31 129 aay 1 29 3 0 0 0 1 11 0 0 19 0 0 0 3 0 31 0 0 0 0 0 0 0 0 0 1 129 0 1 64
Change-Id: I5c15be5303b511465c36914f5b60a0957cd3857e Signed-off-by: Pavithra Barithaya <pbaritha@in.ibm.com>
show more ...
|
d4d97a53 | 23-Mar-2020 |
TOM JOSEPH <tomjoseph@in.ibm.com> |
pldm_events: Implement support for state sensorEvents
PLDM supports platform event message by which events can be generated by a PLDM entity and can be processed by event receiver like BMC. This pat
pldm_events: Implement support for state sensorEvents
PLDM supports platform event message by which events can be generated by a PLDM entity and can be processed by event receiver like BMC. This patch adds support for remote state sensors which sends PlatformEventMessage command with sensorEvent type. The sensor is mapped to a D-Bus property and the eventState is mapped to a D-Bus property value.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I50dea23eccbdf29ad1b4cf2c9ab5700d74c12c68
show more ...
|