28abd6e4 | 28-Jul-2021 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Implementation of deleteFRUVPD api
The api sets present property of given FRU as false. If the present property is already set to false, it will log error.
One of the use case: This api is to be ca
Implementation of deleteFRUVPD api
The api sets present property of given FRU as false. If the present property is already set to false, it will log error.
One of the use case: This api is to be called before requesting VPD parser to collect VPD of any given FRU in case of concurrent maintenance.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Ibbe2eba34e586e02bcb0bec38945a81d1efe6109
show more ...
|
523af2e0 | 14-Feb-2022 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Shift to boost asio library
This commit shifts vpd manager from sdbusplus event loop to boost io_context event loop. The shift was done to have a more flexible way to perform async Dbus calls. For e
Shift to boost asio library
This commit shifts vpd manager from sdbusplus event loop to boost io_context event loop. The shift was done to have a more flexible way to perform async Dbus calls. For example read/write of vpd data can be performed asynchronously.
It also removes dependency of Manager class on the interface class created as a part of Phosphor-Dbus-Interface repo.
Test: - Introspect com.ibm.VPD.Manager /com/ibm/VPD/Manager to ensure that all the methods exposed under com.ibm.VPD.Manager interface matches to the ones documented under PDI repo.
- Make DBus call to each of the exposed api to ensure that the funcation calls are working fine.
-To ensure bios handler call back is working. Stop vpd-manager service. Stop pldm service. Start vpd-manager service Start pldm service. Should recieve callback.
-To ensure gpio call back std::cout were added to callback function being trigerred on timer expiration and the same were verified in journal.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: I00640f64de487d5244e8be2e7a3f3d63a013644e
show more ...
|
cce0e653 | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
Change-Id: I19f5d4fb914bdbb6822053844b1a0f33047168f0 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0dc51da0 | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
black: re-format
black and isort are enabled in the openbmc-build-scripts on Python files to have a consistent formatting. Re-run the formatter on the whole repository.
Change-Id: If5c3917e776d658
black: re-format
black and isort are enabled in the openbmc-build-scripts on Python files to have a consistent formatting. Re-run the formatter on the whole repository.
Change-Id: If5c3917e776d658a3485633a530410f200177374 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
7a975f0b | 07-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Change-Id: Iaf9bb4a5ea6a04cf1c65fc0f32b1cca833ccdb71 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
a2ddc96e | 29-Jun-2022 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Async request to create PEL
To avoid any deadlocks between phosphor-logging and vpd-manager service a wrapper around request to create PEL is created which enables vpd-manager to make async requests
Async request to create PEL
To avoid any deadlocks between phosphor-logging and vpd-manager service a wrapper around request to create PEL is created which enables vpd-manager to make async requests to create PEL.
It also implements a new exception type to throw any GPIO related exception. This was required to throw specific exception.
Test: Scenario 1: While vpd-manager logs a pel with call out to an inventory item. It should be checked that both the services do not enter into a deadlock situation.
Scenario 2: Any third process is requesting to log PEL with call out to an inventory item in a loop. In the mean time vpd-manager also requests to log a PEL with or without call out to inventory item. All the pels should be logged correctly in the system. No deadlock should appear.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: I0efaf6918e679ca94808fc70d747c843a50eaf78
show more ...
|
fdf9ff2a | 15-Jun-2022 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Check for essential FRUs
Some FRUs are marked as essential in the inventory JSON, which implies that those FRUs should be present in the system at power on.
The commit checks for presence of those
Check for essential FRUs
Some FRUs are marked as essential in the inventory JSON, which implies that those FRUs should be present in the system at power on.
The commit checks for presence of those FRUs when the system is powered on. In case any FRU in the list is found missing, appropriate PEL is logged.
Also, as it is not possible to say if the reason for GPIO failures are hardware or firmware related. GPIO PELs has been modified to just have description and no call outs and to be logged in place.
Commit link for PEL interface: https://gerrit.openbmc.org/c/openbmc/phosphor-logging/+/54715
''' Test steps(rainier): Check for present property for fru path /xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth
if it is false then proceed else set the property to false using busctl set-property command.
execute obmcutil poweron PEL should be logged for missing essential fru. '''
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Id8b912503a0086beffa2831910d6852b5e473c15
show more ...
|
f31a91bc | 09-Jun-2022 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Update vpd read and write flow
The commit implement changes to log Pel and call out FRU and record in case of any ECC failure while reading the vpd data for the FRU and continue with the processing
Update vpd read and write flow
The commit implement changes to log Pel and call out FRU and record in case of any ECC failure while reading the vpd data for the FRU and continue with the processing of rest of the records.
In case of write, BMC reboot is blocked till the VPD is updated. Doing this will restrict any data/Ecc corruption due to BMC reboot while VPD data is being updated.
Tested: Corrupted vpd for tpm_wilson then triggered collection of vpd for the FRU. Pel was logged calling out the FRU
''' root@rain127bmc:~# ibm-read-vpd --file /sys/bus/i2c/drivers/at24/0-0051/eeprom root@rain127bmc:~# peltool -a [ { "Private Header": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x4000", "Created at": "06/10/2022 06:36:59", "Committed at": "06/10/2022 06:36:59", "Creator Subsystem": "BMC", "CSSVER": "", "Platform Log Id": "0x50002B35", "Entry Id": "0x50002B35", "BMC Event Log Id": "10" }, "User Header": { "Section Version": "1", "Sub-section type": "0", "Log Committed by": "0x2000", "Subsystem": "CEC Hardware - VPD Interface", "Event Scope": "Entire Platform", "Event Severity": "Predictive Error", "Event Type": "Not Applicable", "Action Flags": [ "Service Action Required", "Report Externally", "HMC Call Home" ], "Host Transmission": "Not Sent", "HMC Transmission": "Not Sent" }, "Primary SRC": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x4000", "SRC Version": "0x02", "SRC Format": "0x55", "Virtual Progress SRC": "False", "I5/OS Service Event Bit": "False", "Hypervisor Dump Initiated":"False", "Backplane CCIN": "2E43", "Terminate FW Error": "False", "Deconfigured": "False", "Guarded": "False", "Error Details": { "Message": "A VPD ecc exception occurred." }, "Valid Word Count": "0x09", "Reference Code": "BD554002", "Hex Word 2": "00080255", "Hex Word 3": "2E430010", "Hex Word 4": "00000000", "Hex Word 5": "00000000", "Hex Word 6": "00000000", "Hex Word 7": "00000000", "Hex Word 8": "00000000", "Hex Word 9": "00000000", "Callout Section": { "Callout Count": "1", "Callouts": [{ "FRU Type": "Normal Hardware FRU", "Priority": "Mandatory, replace all with this type as a unit", "Location Code": "U78DB.ND0.WZS002U-P0-C22", "Part Number": "02WF429", "CCIN": "6B59", "Serial Number": "Y131UF09S00H" }] } }, "Extended User Header": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x2000", "Reporting Machine Type": "9105-42A", "Reporting Serial Number": "13BE990", "FW Released Ver": "", "FW SubSys Version": "fw1020.00-58.9", "Common Ref Time": "00/00/0000 00:00:00", "Symptom Id Len": "20", "Symptom Id": "BD554002_2E430010" }, "Failing MTMS": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x2000", "Machine Type Model": "9105-42A", "Serial Number": "13BE990" }, "User Data 0": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x2000", "BMCState": "Ready", "BootState": "SecondaryProcInit", "ChassisState": "On", "FW Version ID": "fw1020.00-58.9-3-gb29698f8cf", "HostState": "Running", "System IM": "50001000" }, "User Data 1": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x2000", "CALLOUT_INVENTORY_PATH": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson", "DESCRIPTION": "ERROR: ECC check did not pass for the Record:VINI" } } ] '''
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Ie7c7fff5699d8b89d5aa0995f4074ccb3fdd6c37
show more ...
|
9073130f | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
python: fix flake8 warnings and format with black
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic5b4e7ca7f2abf9b12aaa21cea29caf5617ae9f6 |
0ac10850 | 26-Oct-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Increase table width in vpd-tool --fixSystemVPD
This change is required to fit keywords with a maximum size of 32 bytes. Padded to few more spaces to fit in keywords larger than 32 bytes.
Test: Tes
Increase table width in vpd-tool --fixSystemVPD
This change is required to fit keywords with a maximum size of 32 bytes. Padded to few more spaces to fit in keywords larger than 32 bytes.
Test: Tested on BMC console in GUI. Table exactly fits in the console. Size cannot be altered anymore.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I7d5da3ffc28045cc5231e9f2625f1462071da7c4
show more ...
|
afb71f75 | 21-Oct-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Include VSYS FV in restorable keywords list
There is a new requirement to restore VSYS FV keyword along with other system backplane keywords.
Along with this change, increased the table size in vpd
Include VSYS FV in restorable keywords list
There is a new requirement to restore VSYS FV keyword along with other system backplane keywords.
Along with this change, increased the table size in vpd-tool fixSystemVPD code, so that keyword FV which is of 32 bytes can fit in that table.
Test: CASE 1: Automatic restore via vpd-manager ./vpd-tool -r -O /system/chassis/motherboard -R VSYS -K FV { "/system/chassis/motherboard": { "FV": "ab" } }
./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K FV { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "FV": " " } }
systemctl restart com.ibm.VPD.Manager.service
./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K FV { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "FV": "ab " } }
./vpd-tool -r -O /system/chassis/motherboard -R VSYS -K FV { "/system/chassis/motherboard": { "FV": "ab" } }
CASE 2: Restore using vpd-tool command ==================================================================================================================================================================================================== S.No Record Keyword Data On BMC Data On System Backplane Data Mismatch 12 VSYS FV 0x6162202020202020202020202020202020202020202020202020202020202020 0x6162202020202020202020202020202020202020202020202020202020202020 NO ====================================================================================================================================================================================================
No mismatch found.
Enter 6 => If you wish to enter a new value to update both on BMC and System Backplane Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully : 6
====================================================================================================================================================================================================
Enter the new value to update both on BMC & System Backplane (Value should be in ASCII or in HEX(prefixed with 0x)) : 0x2020202020202020202020202020202020202020202020202020202020202020
====================================================================================================================================================================================================
Data updated successfully.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I1048e1cc39249f587355597e42a6749a1cb01fa5
show more ...
|
da3b2d25 | 31-Oct-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Skip logging PEL if unable to restore VSYS FV
During system backplane VPD restore, the critical keywords will be checked for its default value in both cache and hardware and a PEL will be logged if
Skip logging PEL if unable to restore VSYS FV
During system backplane VPD restore, the critical keywords will be checked for its default value in both cache and hardware and a PEL will be logged if both cache and hardware has default value.
This needs to be skipped for the record-keyword pair VSYS:FV as there is a requirement to support customers to use older level without errors and also requires an error-free upgrade if required.
Test: Tested on rainier that no PELs are logged for VSYS FV when its blank on both cache and hardware.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I1711fd1545dfff988a9908a13ca3119f8da5eae5
show more ...
|
e008432a | 27-Sep-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Use namespace std in place
This commit uses std in place in header files rather than using namespace.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: If8e77ad0d23c7e6d8f16ea93e6
Use namespace std in place
This commit uses std in place in header files rather than using namespace.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: If8e77ad0d23c7e6d8f16ea93e65f34aefb6b157f
show more ...
|
43ffcf77 | 08-Jun-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
vpd-tool:Option to fixSystemVPD keywords
This commit has an added option in vpd-tool that fixes system VPD restorable keywords in an interactive way. This option is required in a field usecase.
In
vpd-tool:Option to fixSystemVPD keywords
This commit has an added option in vpd-tool that fixes system VPD restorable keywords in an interactive way. This option is required in a field usecase.
In the field when there is a fault in BMC and BMC gets replaced, the replaced BMC VPD will now have all blank data. Now the Product engineer can use vpd-tool fixSystemVPD option to update the BMC critical keywords by chosing the corresponding keyword data from system backplane.
Similarly when the system backplane is replaced, using the option, the PEs' can copy the keyword data from BMC.
When both system backplane and BMC are replaced, the PEs' will have option to update new value on both.
This interactive tool option eases keyword data updation and avoids manual updation for each and every mismatching critical keyword.
Test: Tested on everest
// Create a mismatch. root@ever8bmc:/tmp# ./vpd-tool-writeHardwareFix -w -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VCEN -K FC -V 0x64560204 Disabled reboot Sleep started Enabled reboot root@ever8bmc:/tmp# root@ever8bmc:/tmp# busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.LXR0 LX ay 2 0x04 0x64 root@ever8bmc:/tmp# root@ever8bmc:/tmp# busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS WN ay 3 0x74 0x85 0x69 root@ever8bmc:/tmp# ./vpd-tool-writeHardwareFix -w -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K WN -V 0x64560204077675 Disabled reboot Sleep started Enabled reboot
=========
(Trimmed the output) root@ever8bmc:/tmp# ./vpd-tool --fixSystemVPD
Restorable record-keyword pairs and their data on cache & hardware.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch |======================================================================================================| 1 UTIL D0 0x69 0x69 NO |------------------------------------------------------------------------------------------------------| 2 LXR0 LX 0x0464 0x3100080100300074 YES |------------------------------------------------------------------------------------------------------| 3 VCEN FC 0x373830432d303031 0x645602042d303031 YES |------------------------------------------------------------------------------------------------------| 4 VCEN SE RCH0014 RCH0014 NO |------------------------------------------------------------------------------------------------------| 5 VSYS BR 0x5330 0x5330 NO |------------------------------------------------------------------------------------------------------| 6 VSYS TM 0x646534302d4d5258 0x646534302d4d5258 NO |------------------------------------------------------------------------------------------------------| 7 VSYS SE 13E8CEX 13E8CEX NO |------------------------------------------------------------------------------------------------------| 8 VSYS SU 0x0004ac1e9fd4 0x0004ac1e9fd4 NO |------------------------------------------------------------------------------------------------------| 9 VSYS RB 0x31000000 0x31000000 NO |------------------------------------------------------------------------------------------------------| 10 VSYS WN 0x748569 0x645602040776754243453432 YES |------------------------------------------------------------------------------------------------------| 11 VSYS RG 0x00000000 0x00000000 NO |------------------------------------------------------------------------------------------------------|
Enter 1 => If you choose cache data of all mismatching record-keyword pairs Enter 2 => If you choose hardware data of all mismatching record-keyword pairs Enter 3 => If you wish to explore more options Enter 0 to exit 3
|======================================================================================================|
Iterate through all restorable record-keyword pairs
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 1 UTIL D0 0x69 0x69 NO |======================================================================================================|
No mismatch found.
Enter 6 => If you wish to enter a new value to update both on BMC and System Backplane Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully : 6
|======================================================================================================|
Enter the new value to update both on BMC & System Backplane (Value should be in ASCII or in HEX(prefixed with 0x)) : 0x02
|======================================================================================================|
Data updated successfully.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 2 LXR0 LX 0x0464 0x3100080100300074 YES |======================================================================================================|
Enter 4 => If you choose the cache value as the right value Enter 5 => If you choose hardware value as the right value Enter 6 => If you wish to enter a new value to update both cache and hardware Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully 5
|=======================================================================| Disabled reboot Sleep started, try to reboot Sleep end Sleep started Enabled reboot
Data updated successfully.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 3 VCEN FC 0x373830432d303031 0x645602042d303031 YES |======================================================================================================|
Enter 4 => If you choose the cache value as the right value Enter 5 => If you choose hardware value as the right value Enter 6 => If you wish to enter a new value to update both cache and hardware Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully 4
|=======================================================================| Disabled reboot Sleep started, try to reboot Sleep end Sleep started Enabled reboot
Data updated successfully.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 4 VCEN SE RCH0014 RCH0014 NO |======================================================================================================|
No mismatch found.
Enter 6 => If you wish to enter a new value to update both on BMC and System Backplane Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully : 7
|======================================================================================================|
Skipped the above record-keyword pair. Continueing to the next pair if available.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 10 VSYS WN 0x748569 0x645602040776754243453432 YES |======================================================================================================|
Enter 4 => If you choose the cache value as the right value Enter 5 => If you choose hardware value as the right value Enter 6 => If you wish to enter a new value to update both cache and hardware Enter 7 => If you wish to skip the above record-keyword pair Enter 0 => To exit successfully 6
|=======================================================================|
Enter the new value to update both in cache & hardware (Value should be in ASCII or in HEX(prefixed with 0x)) : 0x433035303736304243453432
|=======================================================================|
Data updated successfully.
|======================================================================================================| S.No Record Keyword Data On Cache Data On Hardware Data Mismatch 11 VSYS RG 0x00000000 0x00000000 NO |======================================================================================================| No mismatch found. Skip this record-keyword pair.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: Ifb32efd1174360409b795b162282673a4f73df1b
show more ...
|
f1449cd2 | 13-Jul-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Add templated API which reads properties from D-Bus
This commit adds a template method that can be used to read D-Bus properties.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id:
Add templated API which reads properties from D-Bus
This commit adds a template method that can be used to read D-Bus properties.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I55c7c897383a7e64281d0fa387450cf97ea478c4
show more ...
|
84d61e82 | 22-Jul-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Bug fix in initializing VPD with BIOS attribute
When syncing FCO attribute with RG keyword in system VPD, there occurs a corner case where VSYS-RG keyword is not programmed in VPD and has all ASCII
Bug fix in initializing VPD with BIOS attribute
When syncing FCO attribute with RG keyword in system VPD, there occurs a corner case where VSYS-RG keyword is not programmed in VPD and has all ASCII blanks(32 in decimal) and if FCO BIOS attribute value is 32, then existing logic fails to initialise the VPD with the BIOS attribute.
The existing code checks if the value in VPD is same as the FCO value. The check compares only the LSB of the VPD value instead of the complete value. This commit has a fix for it.
Test:
Case 1: Value in VPD is blank and BIOS FCO value is 32
busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 32 32 32 32
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 32 32 32 32
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager GetAttribute s "hb_field_core_override" svv "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer" x 0 x 0
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager SetAttribute sv "hb_field_core_override" x 32
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager GetAttribute s "hb_field_core_override" svv "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer" x 32 x 0
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 32
===================================================================
Case 2: Value in VPD is not blank and BIOS FCO value is 24(numerically different values)
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 32
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager SetAttribute sv "hb_field_core_override" x 24
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 24
==================================================================
Case 3: Value in VPD and BIOS FCO value are (equal) 0 (null)
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 0
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager SetAttribute sv "hb_field_core_override" x 0
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 0
===================================================================
Case 4: Value in VPD is blank and BIOS FCO value is 16
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 32 32 32 32
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager SetAttribute sv "hb_field_core_override" x 16
busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard com.ibm.ipzvpd.VSYS RG ay 4 0 0 0 16
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I417d6099f1fe76115c4e71fd575e6977cef0affd
show more ...
|
a97b63eb | 20-May-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Sync pvm_clear_nvram BIOS Attribute
This commit adds support to synchronize the pvm_clear_nvram BIOS attribute to bit 2 in the UTIL/D1 keyword of the motherboard VPD.
The attribute will be
manager: Sync pvm_clear_nvram BIOS Attribute
This commit adds support to synchronize the pvm_clear_nvram BIOS attribute to bit 2 in the UTIL/D1 keyword of the motherboard VPD.
The attribute will be used by PHYP to determine when to clear their NVRAM content.
A value of "Disabled" in the BIOS attribute maps to the D1:2 bit being 0 and a value of "Enabled: maps to the D1:2 bit being 1.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Ia0f3cfa92a98a2a1a95dd67ca598770459b9b7f2
show more ...
|
b2c2ccc2 | 14-May-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Add some attributes to BIOS restore
This commit adds support to synchronize the pvm_keep_and_clear and pvm_create_default_lpar BIOS attributes to the UTIL/D1 keyword in the motherboard VPD.
manager: Add some attributes to BIOS restore
This commit adds support to synchronize the pvm_keep_and_clear and pvm_create_default_lpar BIOS attributes to the UTIL/D1 keyword in the motherboard VPD.
The use-case for doing this is the same as the other attributes we already handle - that to restore them post a factory reset.
pvm_keep_and_clear - Backed up to UTIL/D1, bit 0 pvm_create_default_lpar - Backed up to UTIL/D1, bit 1
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I8a2c08a06a17d15ed9a607a482a2c8a88173fddd Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>
show more ...
|
253fbe9f | 06-Oct-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
Add delay after trigerring DIMM VPD Collection
Since systems can have a number of DIMMs (as opposed to other FRUs) and the DIMM VPD collection is only kicked off after the primary processor VPD is c
Add delay after trigerring DIMM VPD Collection
Since systems can have a number of DIMMs (as opposed to other FRUs) and the DIMM VPD collection is only kicked off after the primary processor VPD is collected, add a small delay at the end of trigerring the udev events for all DIMMs.
This ensures that we can properly wait for all the VPD to be collected before we can reach BMC Ready state.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I96ebee1cb9ecddd35ba590faf1cfcb05ce0378b0
show more ...
|
c99a0b05 | 08-Jun-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
vpd-tool: Fix for Hardware write option
With this commit, vpd-tool has a fix in Hardware (-H) write option to update only in hardware and not in cache.
This commit also has an added change. User ca
vpd-tool: Fix for Hardware write option
With this commit, vpd-tool has a fix in Hardware (-H) write option to update only in hardware and not in cache.
This commit also has an added change. User can provide VPD offset(--seek) value while using read from hardware and write to hardware options. Providing offset value(--seek) is optional. By default offset value is 0. This option is mainly usefull when providing an EEPROM path which is not present in VPD json.
Test: Tested on everest.
CASE 1: Using Hardware write option will update only hardware and not cache.
root@ever20bmc:/tmp# ./vpd-tool -w -H -O /sys/bus/spi/drivers/at25/spi12.0/eeprom -R VINI -K CC --seek 0x30000 -V 0x32
root@ever20bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/spi/drivers/at25/spi12.0/eeprom -R VINI -K CC --seek 0x30000 { "/sys/bus/spi/drivers/at25/spi12.0/eeprom": { "CC": "2C5F" } } root@ever20bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu0 -R VINI -K CC { "/system/chassis/motherboard/dcm0/cpu1": { "CC": "5C5F" } }
CASE 2: Using normal write option will update both hardware and cache
root@ever20bmc:/tmp# ./vpd-tool -w -O /system/chassis/motherboard/dcm0/cpu1 -R VINI -K CC -V 0x64
root@ever20bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu1 -R VINI -K CC { "/system/chassis/motherboard/dcm0/cpu1": { "CC": "dC5F" } } root@ever20bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/spi/drivers/at25/spi22.0/eeprom -R VINI -K CC --seek 0x30000
{ "/sys/bus/spi/drivers/at25/spi22.0/eeprom": { "CC": "dC5F" } }
CASE 3: Providing wrong offset value during hardware read
root@ever20bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/28-0051/eeprom -R VINI -K CC --seek 19 VHDR record not found Did you provide a valid offset? By default VPD offset is taken as 0. To input offset, use --offset. Refer vpd-tool help.
CASE 4: Providing offset value during normal read operation. As mentioned, there'll be no impact as the offset value will be valid only while using --Hardware/-H option.
root@ever20bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu1 -R VINI -K CC --seek 0 { "/system/chassis/motherboard/dcm0/cpu1": { "CC": "5C5F" } }
CASE 5: Providing wrong offset value during hardware write
root@ever20bmc:/tmp# ./vpd-tool -w -H -O /sys/bus/spi/drivers/at25/spi12.0/eeprom -R VINI -K CC --seek 20 -V 0x53 Could not find start tag in VPD /sys/bus/spi/drivers/at25/spi12.0/eeprom Did you provide a valid offset? By default VPD offset is taken as 0. To input offset, use --seek. Refer vpd-tool help.
CASE 6: Providing offset value during normal write. As mentioned, there'll be no impact as the offset value will be valid only while using --Hardware/-H option.
root@ever8bmc:/tmp# ./vpd-tool -w -O /system/chassis/motherboard/dasd_backplane/panel1 -R VMPU -K VZ -V 0x64 --seek 19 root@ever8bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dasd_backplane/panel1 -R VMPU -K VZ { "/system/chassis/motherboard/dasd_backplane/panel1": { "VZ": "d1" } }
CASE 7: Reading and Writing on a EEPROM path which is not a key in JSON.
root@ever8bmc:/tmp# ./vpd-tool -w -O /sys/bus/spi/drivers/at25/spi13.0/eeprom -R VMPU -K VZ --seek 196608 -H -V 0x64 root@ever8bmc:/tmp# root@ever8bmc:/tmp# ./vpd-tool -r -O /sys/bus/spi/drivers/at25/spi13.0/eeprom -R VMPU -K VZ --seek 196608 -H { "/sys/bus/spi/drivers/at25/spi13.0/eeprom": { "VZ": "d1" } }
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: Icc94b5ee0d044271acf7b6263405fca07eb33728
show more ...
|
2eb0176c | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0eb22958103519924e336a2260a4d48015848c3e
show more ...
|
705d0376 | 04-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
MAINTAINERS: remove file
The MAINTAINERS file is deprecated in favor of OWNERS.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8e23fcf64cbe92d30f3b3312caad3b3ac735be39
|
57cebeb0 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have the correct field.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I67dd409ab724c9496682ab7f1338deb890c49084
show more ...
|
6b2b5374 | 02-Jun-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Move System VPD Restore to Manager
This commit moves the system VPD restore functionality to the VPD manager.
This ensures there are no race conditions with doing it in the parser process
manager: Move System VPD Restore to Manager
This commit moves the system VPD restore functionality to the VPD manager.
This ensures there are no race conditions with doing it in the parser process when the manager is synchronizing BIOS attributes to VPD.
Tested: I tested both the VPD restore as well as the BIOS attribute sync paths. They tested out fine.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I4e3c274a72f86ad4b4821529ffbe0526203b7df5
show more ...
|
3803131f | 07-Oct-2021 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Vpd-tool:Read keyword from hardware
Vpd-tool adds an option to read any keyword directly from hardware with the help of -H option.
This commit has the front-end portion which gets the user option a
Vpd-tool:Read keyword from hardware
Vpd-tool adds an option to read any keyword directly from hardware with the help of -H option.
This commit has the front-end portion which gets the user option and calls the back end code which is present in Impl class in this commit https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/47666 .
Test: Tested on rainier.
1. root@rain111bmc:/tmp# ./vpd-tool -r -O /sys/bus/spi/drivers/at25/spi12.0/eeprom -R CP00 -K PG -H { "/sys/bus/spi/drivers/at25/spi12.0/eeprom": { "PG": "0x01e03fffe051ffe37fffe53fffffffffffffffffffffffffffe00c1fe00c1fffffffffffffe21dffe21dffffffffffffffe79fffe39fffe79fffe79fffffffffffffffffffffffffffffffffffffffe3bdffe3bdffe3bdffffffffe3bdffe3bdffe7f9ffe1987fe0001fe7f9ffe7f9ffe0001fe6619fe0001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } }
root@rain111bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu0 -R CP00 -K PG { "/system/chassis/motherboard/dcm0/cpu0": { "PG": "0x01e03fffe051ffe37fffe53fffffffffffffffffffffffffffe00c1fe00c1fffffffffffffe21dffe21dffffffffffffffe79fffe39fffe79fffe79fffffffffffffffffffffffffffffffffffffffe3bdffe3bdffe3bdffffffffe3bdffe3bdffe7f9ffe1987fe0001fe7f9ffe7f9ffe0001fe6619fe0001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } }
2. root@rain111bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/spi/drivers/at25/spi12.0/eeprom -R VINI -K SN { "/sys/bus/spi/drivers/at25/spi12.0/eeprom": { "SN": "YA3936110110" } } root@rain111bmc:/tmp# ./vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu0 -R VINI -K SN { "/system/chassis/motherboard/dcm0/cpu0": { "SN": "YA3936110110" } }
3. root@rain111bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "BR": "S0" } }
4. root@rain111bmc:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VINI -K SN { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "SN": "Y131UF07302S" } }
5. root@perfrain86bmctest:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/7-0050/eeprom -R VR10 -K BD The given keyword BD is not present in the given record VR10 in the given vpd path /sys/bus/i2c/drivers/at24/7-0050/eeprom
6. root@perfrain86bmctest:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/7-0050/eeprom -R CP00 -K SN The given record CP00 is not present in the given vpd path /sys/bus/i2c/drivers/at24/7-0050/eeprom
7. root@perfrain86bmctest:/tmp# ./vpd-tool -r -H -O /sys/bus/i2c/drivers/at24/7-0050/eeprom -R VR10 -K DC { "/sys/bus/i2c/drivers/at24/7-0050/eeprom": { "DC": "BD 201908260800" } }
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I37f85fe22a2c98704bbc8f6090f0d83084d4c6f8
show more ...
|