0d7aca8c | 30-Mar-2020 |
George Liu <liuxiwei@inspur.com> |
pldm: Optimized the setXXXHandler method in platform.hpp
Since other PDR types(eg: numeric effecter PDR) need to be added later, all setXXXHandler methods are best separated, which is easy to mainta
pldm: Optimized the setXXXHandler method in platform.hpp
Since other PDR types(eg: numeric effecter PDR) need to be added later, all setXXXHandler methods are best separated, which is easy to maintain and read. so moved the setStateEffecterStateHandler method to platform_state_effecter.hpp.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Iae120541963f3026e303f38f7960f51434be9de3
show more ...
|
456c9a2f | 12-Jan-2020 |
George Liu <liuxiwei@inspur.com> |
pldm: Add parsing JSON for Numeric Effecter PDR
According to spec DSP0248_1.2.0: 28.11 and effecter_pdr.json, parse JSON and generate PDR structure.
In addition: 1. move the parsing generateNumeri
pldm: Add parsing JSON for Numeric Effecter PDR
According to spec DSP0248_1.2.0: 28.11 and effecter_pdr.json, parse JSON and generate PDR structure.
In addition: 1. move the parsing generateNumericEffecterHandler method to pdr_numeric_effecter_pdr.hpp. 2. test/libpldmresponder_pdr_state_effecter_test.cpp renamed test/libpldmresponder_pdr_effecter_test.cpp.
Tested with JSON files: https://gist.github.com/lxwinspur/2c3fd68cdb35e06480c4a5f7890e3a06#file-effecter_pdr-json.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I4254a14f0fd5e33b312f65c15c9a23437e28d341
show more ...
|
c94d4941 | 14-Jan-2020 |
Chicago Duan <duanzhijia01@inspur.com> |
pldm: Add numeric effecter configuration to the effecter_pdr.json
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: Ic8ecd052001e52b855872c27e7e11f21679ddb7c Signed-off-by: George Liu
pldm: Add numeric effecter configuration to the effecter_pdr.json
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: Ic8ecd052001e52b855872c27e7e11f21679ddb7c Signed-off-by: George Liu <liuxiwei@inspur.com>
show more ...
|
0be647d3 | 02-Mar-2020 |
George Liu <liuxiwei@inspur.com> |
pldm: rename state_effecter_pdr.json to effecter_pdr.json
state_effecter_pdr.json represents PDR state effecter, and the PDR numeric effecter is added after it, so it is renamed effecter_pdr.json.
pldm: rename state_effecter_pdr.json to effecter_pdr.json
state_effecter_pdr.json represents PDR state effecter, and the PDR numeric effecter is added after it, so it is renamed effecter_pdr.json.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ia6a1b54787cada3146dfc108874ea406d436c6f0
show more ...
|
e8beb898 | 14-Apr-2020 |
Pavithra Barithaya <pbaritha@in.ibm.com> |
pdr : send up PDRRepositoryChgEvent
Once the BMC has merged entity associations from the host firmware into its primary PDR repo, send up an event to the host, providing it with the record handles o
pdr : send up PDRRepositoryChgEvent
Once the BMC has merged entity associations from the host firmware into its primary PDR repo, send up an event to the host, providing it with the record handles of the merged entity association PDRs.
Change-Id: I3e6e1d8d1390107f976829ae39f0cc9151447d9c Signed-off-by: Pavithra Barithaya <pbaritha@in.ibm.com> Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
show more ...
|
87514cc6 | 16-Apr-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
Merge entity association PDRs
This commit enables merging entity association PDRs from the host into the BMC's PDR repo. Entities from the host are inserted into the appropriate location in the enti
Merge entity association PDRs
This commit enables merging entity association PDRs from the host into the BMC's PDR repo. Entities from the host are inserted into the appropriate location in the entity tree maintained by the BMC.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Ie9fa46d9f8512fad6c04069e4fc65785972fbf64
show more ...
|
8cb6f665 | 10-Apr-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
event: Handling pldmPDRRepositoryChgEvent
Added a handler to react to the "pldmPDRRepositoryChgEvent" event and extract the data. If the eventDataFormat is "formatIsPDRHandles" then the changeRecord
event: Handling pldmPDRRepositoryChgEvent
Added a handler to react to the "pldmPDRRepositoryChgEvent" event and extract the data. If the eventDataFormat is "formatIsPDRHandles" then the changeRecords are further extracted. If the eventDataOperation is "recordAdded" then the PDRHandles are extracted from the changeEntry data and stored in the "pdrRecordHandle" vector.
"decode_pldm_pdr_repository_chg_event_data" function will extract the eventData and changeRecord from the pldmPDRRepositoryChgEvent class while the "decode_pldm_pdr_repository_change_record_data" will extract the changeEntries data from the changeRecord. Unit tests for the above decode functions have been added.
Extracted PDR handles are used to fetch PDRs corresponding to the same from the host.
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com> Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I32e8745e04ac82393e067c0f0ab48802809495a6
show more ...
|
51efaf87 | 02-Apr-2020 |
Pavithra Barithaya <pbaritha@in.ibm.com> |
Add HostPDRHandler class
HostPDRHandler has an API to fetch PDRs from the host.
The class HostPDRHandler has a function fetchPDR which basically calls GetPDR on the host using libpldm's pldm_send_r
Add HostPDRHandler class
HostPDRHandler has an API to fetch PDRs from the host.
The class HostPDRHandler has a function fetchPDR which basically calls GetPDR on the host using libpldm's pldm_send_recv API.
The retrieved PDRs are stored in the BMCs primary PDR repo.
Change-Id: Ifd727316caf37d49f17e117b32ee105f6d941e0e Signed-off-by: Pavithra Barithaya <pbaritha@in.ibm.com> Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
show more ...
|
a556eb2c | 14-Apr-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
FRU: pldmresponder: fix width of PLDM entity type
One of the APIs had the entity type wrongly set at a byte. Entity type is two bytes.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-I
FRU: pldmresponder: fix width of PLDM entity type
One of the APIs had the entity type wrongly set at a byte. Entity type is two bytes.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Idd1b4cb425efab738a1ec23ed0a0fca3b903f194
show more ...
|
077fea24 | 08-Apr-2020 |
George Liu <liuxiwei@inspur.com> |
pldm: Remove boost related code in pldm daemon
Use the crc32 method in libpldm/utils.h instead of boost::crc_32_type and remove boost related code.
Signed-off-by: George Liu <liuxiwei@inspur.com> C
pldm: Remove boost related code in pldm daemon
Use the crc32 method in libpldm/utils.h instead of boost::crc_32_type and remove boost related code.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I114eb83a73c5c47bdd44d5ad53f3ff6101235558
show more ...
|
027844d0 | 08-Apr-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Remvoe unused header files in bios.cpp
Remove unused header files in bios.cpp
Tested: build successful
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I20221f440bdefd54761042471ee4
bios: Remvoe unused header files in bios.cpp
Remove unused header files in bios.cpp
Tested: build successful
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I20221f440bdefd54761042471ee44c29b005f17e
show more ...
|
45e52543 | 03-Apr-2020 |
Sridevi Ramesh <sridevra@in.ibm.com> |
Enable 'oem-ibm' in pldmtool for base commands.
pldmtool base GetPLDMTypes Supported types: 0(base) 2(platform) 3(bios) 4(fru) 63(oem-ibm)
pldmtool base GetPLDMCommands -t 63 upported Commands : 1(
Enable 'oem-ibm' in pldmtool for base commands.
pldmtool base GetPLDMTypes Supported types: 0(base) 2(platform) 3(bios) 4(fru) 63(oem-ibm)
pldmtool base GetPLDMCommands -t 63 upported Commands : 1(GetFileTable) 4(ReadFile) 5(WriteFile) 6(ReadFileInToMemory) 7(WriteFileFromMemory) 8(ReadFileByTypeIntoMemory) 9(WriteFileByTypeFromMemory) 10(NewFileAvailable) 11(ReadFileByType) 12(WriteFileByType) 13(FileAck) 240(GetAlertStatus)
pldmtool base GetPLDMVersion -t 63 Type 63(oem-ibm): 1.0.0
pldmtool oem-ibm --help oem type command Usage: ./pldmtool oem-ibm [OPTIONS] SUBCOMMAND
Options: -h,--help Print this help message and exit
Subcommands: GetAlertStatus get alert status descriptor
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com> Change-Id: I4937e56dcf11eb0c0a2a272a3439821f9eb60b5f
show more ...
|
6a30a3e4 | 23-Mar-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
docs: Update documentation for FRU_Master.json
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I0e9dba265e00f54342bd6e228f7b013135e6eb90 |
d823cc0b | 24-Mar-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
pldm oem: implement certificate handler
This commit adds code to handle the ceritificate request and certificate transfer between the host and bmc following pldm oem file i/o protocol
Change-Id: I8
pldm oem: implement certificate handler
This commit adds code to handle the ceritificate request and certificate transfer between the host and bmc following pldm oem file i/o protocol
Change-Id: I8095e0f5ad8c3c5cc796da1cfbe4bb9946af31cf Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
46ece063 | 18-Mar-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
libpldmresponder: enable DBus change notification
This commit enables libpldmresponder to subscribe to DBus property change signal for the BIOS properties which are fetched from DBus. The new DBus v
libpldmresponder: enable DBus change notification
This commit enables libpldmresponder to subscribe to DBus property change signal for the BIOS properties which are fetched from DBus. The new DBus value is received and the relevant entry in the attributeValueTable is updated.
test result:
root@rainier:/tmp# pldmtool bios GetBIOSTable -t 0 Parsed Response Msg: PLDM StringTable: BIOSStringHandle : BIOSString 0 : Allowed 1 : Disabled 2 : Enabled 3 : IPv4DHCP 4 : IPv4Static 5 : Not Allowed 6 : Perm 7 : Temp 8 : pvm-fw-boot-side 9 : pvm-inband-code-update 10 : pvm-os-boot-side 11 : pvm-pcie-error-inject 12 : pvm-surveillance 13 : pvm-system-name 14 : vmi-hostname 15 : vmi-if-count 16 : vmi-if0-ipv4-ipaddr 17 : vmi-if0-ipv4-method 18 : vmi-if0-ipv4-prefix-length 19 : vmi-if1-ipv4-ipaddr 20 : vmi-if1-ipv4-method 21 : vmi-if1-ipv4-prefix-length 22 : vmi-ipv4-gateway root@rainier:/tmp#
root@rainier:/tmp# pldmtool bios GetBIOSTable -t 1 Parsed Response Msg: PLDM AttributeTable: AttributeHandle: 0, AttributeNameHandle: 13(pvm-system-name) AttributeType: BIOSStringReadOnly StringType: 0x01 MinimumStringLength: 1 MaximumStringLength: 100 DefaultStringLength: 15 DefaultString: witherspoon-128 AttributeHandle: 1, AttributeNameHandle: 14(vmi-hostname) AttributeType: BIOSString StringType: 0x01 MinimumStringLength: 0 MaximumStringLength: 255 DefaultStringLength: 0 DefaultString: AttributeHandle: 2, AttributeNameHandle: 22(vmi-ipv4-gateway) AttributeType: BIOSString StringType: 0x01 MinimumStringLength: 7 MaximumStringLength: 15 DefaultStringLength: 7 DefaultString: 0.0.0.0 AttributeHandle: 3, AttributeNameHandle: 16(vmi-if0-ipv4-ipaddr) AttributeType: BIOSString StringType: 0x01 MinimumStringLength: 7 MaximumStringLength: 15 DefaultStringLength: 7 DefaultString: 0.0.0.0 AttributeHandle: 4, AttributeNameHandle: 19(vmi-if1-ipv4-ipaddr) AttributeType: BIOSString StringType: 0x01 MinimumStringLength: 7 MaximumStringLength: 15 DefaultStringLength: 7 DefaultString: 0.0.0.0 AttributeHandle: 5, AttributeNameHandle: 15(vmi-if-count) AttributeType: BIOSIntegerReadOnly LowerBound: 0 UpperBound: 2 ScalarIncrement: 1 DefaultValue: 1 AttributeHandle: 6, AttributeNameHandle: 18(vmi-if0-ipv4-prefix-length) AttributeType: BIOSInteger LowerBound: 0 UpperBound: 32 ScalarIncrement: 1 DefaultValue: 0 AttributeHandle: 7, AttributeNameHandle: 21(vmi-if1-ipv4-prefix-length) AttributeType: BIOSInteger LowerBound: 0 UpperBound: 32 ScalarIncrement: 1 DefaultValue: 0 AttributeHandle: 8, AttributeNameHandle: 8(pvm-fw-boot-side) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 6(Perm) PossibleValueStringHandle[1] = 7(Temp) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 9, AttributeNameHandle: 10(pvm-os-boot-side) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 6(Perm) PossibleValueStringHandle[1] = 7(Temp) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 10, AttributeNameHandle: 9(pvm-inband-code-update) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 0(Allowed) PossibleValueStringHandle[1] = 5(Not Allowed) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 0(Allowed) AttributeHandle: 11, AttributeNameHandle: 12(pvm-surveillance) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 1(Disabled) PossibleValueStringHandle[1] = 2(Enabled) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 12, AttributeNameHandle: 11(pvm-pcie-error-inject) AttributeType: BIOSEnumerationReadOnly NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 1(Disabled) PossibleValueStringHandle[1] = 2(Enabled) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 13, AttributeNameHandle: 17(vmi-if0-ipv4-method) AttributeType: BIOSEnumeration NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 4(IPv4Static) PossibleValueStringHandle[1] = 3(IPv4DHCP) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 4(IPv4Static) AttributeHandle: 14, AttributeNameHandle: 20(vmi-if1-ipv4-method) AttributeType: BIOSEnumeration NumberOfPossibleValues: 2 PossibleValueStringHandle[0] = 4(IPv4Static) PossibleValueStringHandle[1] = 3(IPv4DHCP) NumberOfDefaultValues: 1 DefaultValueStringHandleIndex[0] = 0, StringHandle = 4(IPv4Static) root@rainier:/tmp#
root@rainier:/tmp# pldmtool bios GetBIOSTable -t 2 Parsed Response Msg: PLDM AttributeValueTable: AttributeHandle: 0 AttributeType: BIOSStringReadOnly CurrentStringLength: 15 CurrentString: witherspoon-128 AttributeHandle: 1 AttributeType: BIOSString CurrentStringLength: 0 CurrentString: AttributeHandle: 2 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 0.0.0.0 AttributeHandle: 3 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 0.0.0.0 AttributeHandle: 4 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 0.0.0.0 AttributeHandle: 5 AttributeType: BIOSIntegerReadOnly CurrentValue: 1 AttributeHandle: 6 AttributeType: BIOSInteger CurrentValue: 0 AttributeHandle: 7 AttributeType: BIOSInteger CurrentValue: 0 AttributeHandle: 8 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 9 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 10 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 0(Allowed) AttributeHandle: 11 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 12 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 13 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 4(IPv4Static) AttributeHandle: 14 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 4(IPv4Static) root@rainier:/tmp#
root@rainier:/tmp# busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP PrefixLength y 0
root@rainier:/tmp# busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP PrefixLength y 6
root@rainier:/tmp# busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP Origin s "xyz.openbmc_project.Network.IP.AddressOrigin.Static"
root@rainier:/tmp# busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP Origin s "xyz.openbmc_project.Network.IP.AddressOrigin.DHCP"
root@rainier:/tmp# busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP Address s "0.0.0.0"
root@rainier:/tmp# busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/network/vmi/intf1/ipv4/addr0 xyz.openbmc_project.Network.IP Address s "1.2.3.4"
root@rainier:/tmp# pldmtool bios GetBIOSTable -t 2 Parsed Response Msg: PLDM AttributeValueTable: AttributeHandle: 0 AttributeType: BIOSStringReadOnly CurrentStringLength: 15 CurrentString: witherspoon-128 AttributeHandle: 1 AttributeType: BIOSString CurrentStringLength: 0 CurrentString: AttributeHandle: 2 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 0.0.0.0 AttributeHandle: 3 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 0.0.0.0 AttributeHandle: 4 AttributeType: BIOSString CurrentStringLength: 7 CurrentString: 1.2.3.4 AttributeHandle: 5 AttributeType: BIOSIntegerReadOnly CurrentValue: 1 AttributeHandle: 6 AttributeType: BIOSInteger CurrentValue: 0 AttributeHandle: 7 AttributeType: BIOSInteger CurrentValue: 6 AttributeHandle: 8 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 9 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 6(Perm) AttributeHandle: 10 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 0(Allowed) AttributeHandle: 11 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 12 AttributeType: BIOSEnumerationReadOnly NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 2(Enabled) AttributeHandle: 13 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 0, StringHandle = 4(IPv4Static) AttributeHandle: 14 AttributeType: BIOSEnumeration NumberOfCurrentValues: 1 CurrentValueStringHandleIndex[0] = 1, StringHandle = 3(IPv4DHCP)
Change-Id: I60e8f916a82bda0ef27c8c482fafb755b65210b4 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
45fed20f | 01-Apr-2020 |
John Wang <wangzqbj@inspur.com> |
bios_table: Implement find attr entry by string handle
Implement find attribute table entry by string handle
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I884043df1b75e48d737bb37b8f0f7
bios_table: Implement find attr entry by string handle
Implement find attribute table entry by string handle
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I884043df1b75e48d737bb37b8f0f724c32bb3334
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 ...
|
3be7085e | 13-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSEnumAttribute
Implement BIOSEnumAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for enum attribute
Signed-off-b
bios: Implement BIOSEnumAttribute
Implement BIOSEnumAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for enum attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ia6230485fd2d6d05f9f2ddb3a80b81f6556aee9f
show more ...
|
95e6b3c1 | 12-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSIntegerAttribute
Implement BIOSIntegerAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for integer attribute
Sig
bios: Implement BIOSIntegerAttribute
Implement BIOSIntegerAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for integer attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I57d5b5dbcb74f9a404f5133426208f4c6851dea2
show more ...
|
d965934f | 27-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSConfig
Load the parsed json configs into memory. And provid APIs to get/set on bios tables.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ida1fedc923d31afc61dd2d4aec
bios: Implement BIOSConfig
Load the parsed json configs into memory. And provid APIs to get/set on bios tables.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ida1fedc923d31afc61dd2d4aec70d81bb6a90ae9
show more ...
|
29683b53 | 27-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSStringAttribute
Implement BIOSStringAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for string attribute
Signed
bios: Implement BIOSStringAttribute
Implement BIOSStringAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for string attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ic7c6b35d32738d698d7649f97cb7843606b8a2ba
show more ...
|
e2efdcce | 12-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSAttribute
BIOS tables are built based on json entry. When a bios attribute is set by pldm, the corresponding dbus backend should be synchronized.
Then, the BIOSAttribute class i
bios: Implement BIOSAttribute
BIOS tables are built based on json entry. When a bios attribute is set by pldm, the corresponding dbus backend should be synchronized.
Then, the BIOSAttribute class is abstracted, and it provides the following two interfaces
1. constructEntry: Construct the entry of the attribute/attribute-value table 2. setAttrValueOnDbus: Update the corresponding dbus backend
Specific types of attributes are implemented based on BIOSAttribute. eg BIOSStringAttribute, BIOSEnumAttribute, BIOSIntegerAttribute.
Once the BIOS Handler is loaded, all attributes would be constructed from json. We use BIOSConfig(class) to persist all attributes in ram.
BIOSConfig provides the following methods.
- buildTables: Build tables - removeTables: Remove the persistent tables - setAttrValue: Set attribute value on dbus and update the bios table - getBIOSTable: Get bios table by table type
After we implemented BIOSConfig/BIOSSIntegerAttribute/BIOSStringAttribute/BIOSEnumAttribute, we will use the new interface(BIOSConfig) in BIOS Handler.
It will have the following advantages
1. Different types of attribute implementations are placed in different files, improving readability 2. Logic to operate bios tables is no longer coupled with BIOS Handler.
In addition, added a c++ wrapper for string table. After completing this refactor, will move the implementation to a common place. It's useful for pldmtool.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I11e304c470360ca5fde23e4969494bb03de475c0
show more ...
|
9e24242f | 04-Mar-2020 |
John Wang <wangzqbj@inspur.com> |
utils: Make getDbusPropertyVariant virtual
Make getDbusPropertyVariant virtual so it can be mocked
Tested: built successfully, no more testing
Change-Id: I83fa8e8a3810f42fea6969722add27d52534072b |
75330f36 | 24-Mar-2020 |
Zahed Hossain <zahzahed@in.ibm.com> |
event: Handle platform event message
Provide infrastructure to set the properties for the D-Bus object depending on the EventEntry, Where <EventEntry - uint32_t>= <uint8_t - EventState> <uint8_t - S
event: Handle platform event message
Provide infrastructure to set the properties for the D-Bus object depending on the EventEntry, Where <EventEntry - uint32_t>= <uint8_t - EventState> <uint8_t - SensorOffset> <uint16_t - SensorID> Based on the EventEntry value the corresponding dBus property will be set.
Current EventEntryMap contains EventEntries mapped for the sensorID 7 & 8 representing the COM Channel 1001 (VMI) port 0's & port 1's ipv4 "STATE SET 15" respectively each for "valid" & "invalid" Configuration States as listed in DSP0249_1.0.0 State Set Specification.
Change-Id: Iff26f5879ec632053de7de46154f962ce95a7512 Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>
show more ...
|
56e45c58 | 15-Mar-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Add responder for Platform Event Message
Provide infrastructure to hook handler for each PLDM event type.
Change-Id: I67480bb923f5eca311b2b0e597a146e020a5baf7 Signed-off-by: Tom Joseph <tomjoseph@i
Add responder for Platform Event Message
Provide infrastructure to hook handler for each PLDM event type.
Change-Id: I67480bb923f5eca311b2b0e597a146e020a5baf7 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
show more ...
|