#
1da52faf |
| 27-Aug-2024 |
Eddie James <eajames@linux.ibm.com> |
Update udev paths for updated device tree paths
The new device tree has a different set up for the AHB and APB, so update the udev path check appropriately.
Change-Id: I9eeb619bfae304f990f525ff01d5
Update udev paths for updated device tree paths
The new device tree has a different set up for the AHB and APB, so update the udev path check appropriately.
Change-Id: I9eeb619bfae304f990f525ff01d52e40a53b2b9e Signed-off-by: Eddie James <eajames@linux.ibm.com>
show more ...
|
#
c023f9bf |
| 25-Aug-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
IBM: P12 kernel device tree addition
Added Huygens DTB file Added Huygens json file
Change-Id: I030964db6398b506877eef84bb94374c90947708 Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.c
IBM: P12 kernel device tree addition
Added Huygens DTB file Added Huygens json file
Change-Id: I030964db6398b506877eef84bb94374c90947708 Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
08dc31cd |
| 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I917f3a65c985f3df3bb4d7a1bef0a13da54ab7bd Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
3b61ff52 |
| 18-Jul-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
IBM:P11:support
Added IBM P11 device tree support
Change-Id: Ib2bf48a387f54984901594c9e491dd004ad121ca Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
|
#
af921756 |
| 17-Jun-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://githu
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://github.com/codespell-project/codespell
Change-Id: Iae81201889d1bb4ca324243b863948cb60420ae7 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
7ef9c8cd |
| 03-May-2024 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Enable mux when setting symlink
Muxes, if required, are enabled again at the time of setting symlink to system specific JSON.
This is done to avoid the scenario where, if system comes up with the d
Enable mux when setting symlink
Muxes, if required, are enabled again at the time of setting symlink to system specific JSON.
This is done to avoid the scenario where, if system comes up with the default JSON, which will not have entry for muxes and will skip enabling mux at the beginning, resulting in disabled mux.
This change ensures that if there is a change is system configuration JSON symlink, same is picked and checked for required muxes to get enabled.
Change-Id: I4e88f24f9ea5bd8e22fa90a50028686a67abc4a0 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
0b33b34f |
| 27-Feb-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
VPD:collection: Fix BMC state check failure
we use the BMC state to check if we need to do a recollection and in the case where the state manager is not up we get a failure. when we get a failure ,
VPD:collection: Fix BMC state check failure
we use the BMC state to check if we need to do a recollection and in the case where the state manager is not up we get a failure. when we get a failure , since we do nto know the state we did not populate anything and so did not do a recollect , this caused certain preaction to not run and so some failure happened.we decided to set the state as not ready on any failure getting state so that the recollection will happen and we will have the preaction run.
Change-Id: I7887a5d45ae21ae16035a29609b74bbc30dfcdc1 Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
1bb8716b |
| 13-Feb-2024 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Publish all EI while priming inventory
The change is to publish all the interfaces marked as extra interfaces in config JSONs while priming the inventory.
The change was done so that code can pick
Publish all EI while priming inventory
The change is to publish all the interfaces marked as extra interfaces in config JSONs while priming the inventory.
The change was done so that code can pick up any interfac eadded under extra interface without any change.
Test: Inventory objects published all the interfaces listed under EI in the JSON.
Change-Id: I6fedf5c98345faca864b1e1d8644f84b7dee7ae5 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|
#
2cb6769e |
| 30-Jan-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
MUX enable to be done on any BMC reboot
MUX enablement was done only on AC cycle but since the settings do not persist , we need to set it out of hold state on all BMC reboots.
Change-Id: I6a2c8f19
MUX enable to be done on any BMC reboot
MUX enablement was done only on AC cycle but since the settings do not persist , we need to set it out of hold state on all BMC reboots.
Change-Id: I6a2c8f1936cce3d96f91b634d59976844e659c72 Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
63cce0ff |
| 29-Jan-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
Do VPD collection manually for ISDIMM
The VPD collection was initially done from the device tree, This has caused some issues, and so the entries for the ISDIMM were removed from the device tree. No
Do VPD collection manually for ISDIMM
The VPD collection was initially done from the device tree, This has caused some issues, and so the entries for the ISDIMM were removed from the device tree. Now we have the VPD app to manually trigger the ISDIMM by binding the driver for it, so that the collection will happen via the udev rule specified.
Once UDEV signal is received for the ISDIMM the service to collect the VPD is triggered.
Change-Id: I5846d419989f23637f5094b485d771b3418183c0 Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
9a60c8b4 |
| 16-Jan-2024 |
Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com> |
Enable MUX by getting it out of hold state
Bring MUX out of hold state by setting the holdidle to 0. This will be done only if the MUX details are in the system json. Done during system vpd collecti
Enable MUX by getting it out of hold state
Bring MUX out of hold state by setting the holdidle to 0. This will be done only if the MUX details are in the system json. Done during system vpd collection so that it is run only once.
Change-Id: I9d598ca6a6285a05956bdf1d470f1a561f7c1d0d Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
37992a65 |
| 11-Jul-2023 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Back up and Restore update
The commit updates the flow of Back up and Restore of system VPD.
Updates: - Removing call_out_inventory_path tag from the PEL create call in case there is any issue whil
Back up and Restore update
The commit updates the flow of Back up and Restore of system VPD.
Updates: - Removing call_out_inventory_path tag from the PEL create call in case there is any issue while backup or restore. This was done to avoid any calls from phosphor-logging to VPD-Manager at this stage as Manager service is not up at this point resulting in a D-Bus call failure.
- Removing dupicate code as and where possible in the flow.
The commit is an extension of following commit: https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/62250/
Tests: PEL was created duringthe flow and confirmed that there was no call to VPD-Manager from phosphor-logging.
Tested for all te scenarios w.r.t backup and restore of system VPD.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: I92779247438bf50d907fd7f60ed94dda6fadb2a0
show more ...
|
#
38ee9c8d |
| 07-Apr-2023 |
Kantesh Nagaradder <kantesh.nagaradder@ibm.com> |
Backup & restore changes for bonnell's system VPD
This commit implements the changes of system backplane VPD backup on the base banel VPD and restoring it from the base panel VPD
The bonnell BMC is
Backup & restore changes for bonnell's system VPD
This commit implements the changes of system backplane VPD backup on the base banel VPD and restoring it from the base panel VPD
The bonnell BMC is embedded in the system backplane, so if either fails, the backplane should be replaced as a whole. So the changes have been made to backup the system backplane critical keywords on the operator panel base EEPROM under the VSBK record.
Test: Case 1: A PEL with error severity is created when the base panel EEPROM file doesn't exist.
Case 2: A PEL with error severity is created when the base panel VPD has ecc exceptions.
Case 3: A PEL with error severity is created when the base panel EEPROM doesn't contain VSBK record.
Case 4: System VPD's critical keywords are backing up in the base panel VPD
Case 5: System VPD's critical keywords are restoring from the base panel VPD
Case 6: The VSBK record creation and population of properties on dbus
Case 7: A PEL with warning serverity is created when there is a mismatch between system VPD & base panel keyword values.
Case 8: A PEL with error serverity is created when both the system VPD & base panel keyword values are default.
Tests above works as expected.
Change-Id: Ieea6ff4e267518f010c924e2d51a2b080b47e91c Signed-off-by: Kantesh Nagaradder <kantesh.nagaradder@ibm.com>
show more ...
|
#
c78d887c |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: Ia442cdc88aaeaab2f1384cc46a56f5cd5e40f2f5 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
f457a3ef |
| 13-Apr-2023 |
jinuthomas <jinu.joy.thomas@in.ibm.com> |
Additional change to support ee1004 driver
changed the code to remove hardcoding of driver changed read parser executable to take driver as input
Change-Id: I6909e2d56d4572e3ff78610248683a75337bb
Additional change to support ee1004 driver
changed the code to remove hardcoding of driver changed read parser executable to take driver as input
Change-Id: I6909e2d56d4572e3ff78610248683a75337bbd72 Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>
show more ...
|
#
d640f696 |
| 28-Mar-2023 |
jinuthomas <jinu.joy.thomas@in.ibm.com> |
More changes to support JEDEC format VPD
Change-Id: I7d8e4b0508bc1f92c3f6fd1a924a153ebe23f17e Signed-off-by: jinuthomas <jinu.joy.thomas@in.ibm.com>
|
#
18bb985c |
| 16-Nov-2022 |
girik <giridharikrishnan@gmail.com> |
Correction of VPD using ECC
ECC algorithm corrects VPD data in 32:1 bit ratio in the event of corruption. Main Test Cases: 1) Check correction of KW in records. 2) Check correction while writing and
Correction of VPD using ECC
ECC algorithm corrects VPD data in 32:1 bit ratio in the event of corruption. Main Test Cases: 1) Check correction of KW in records. 2) Check correction while writing and reading VPD. 3) Check for Module VPD correction.
Signed-off-by: Giridhari Krishna <giridharikrishnan@gmail.com> Change-Id: I48a3db18df9d3a2aecde814610ab1b357e6f310d
show more ...
|
#
aca61373 |
| 24-Jan-2023 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Do not populate presence if handlePresence=false
This commit is to skip populating Present property for those frus whose handlePresence is made false explicitly in VPD JSON.
This is required in cas
Do not populate presence if handlePresence=false
This commit is to skip populating Present property for those frus whose handlePresence is made false explicitly in VPD JSON.
This is required in cases where the FRU has its own VPD, yet its presence gets handled by other application and not by VPD parser app.
Test: Test works as expected. To note: phosphor-fan-monitor identifies and sets the fan presence before collecting system VPD. Journal log be like,
Feb 14 12:54:08 ever6bmc phosphor-fan-monitor[601]: Fan /system/chassis/motherboard/fan0 presence state change to true Feb 14 12:54:09 ever6bmc systemd[1]: Finished Wait for /xyz/openbmc_project/led/groups/bmc_booted. Feb 14 12:54:09 ever6bmc phosphor-psu-monitor[604]: Binding device driver. path: /sys/bus/i2c/drivers/ibm-cffps/bind device: 3-006b Feb 14 12:54:09 ever6bmc phosphor-psu-monitor[604]: Failed binding or unbinding device. errno=16 Feb 14 12:54:09 ever6bmc phosphor-psu-monitor[604]: Updating inventory present property. present:true invpath:/system/chassis/motherboard/powersupply3 name:powersupply3 Feb 14 12:54:09 ever6bmc systemd[1]: Starting Wait for /xyz/openbmc_project/led/groups... Feb 14 12:54:09 ever6bmc systemd[1]: Starting Set the Asserted property of all the LED groups to false... Feb 14 12:54:09 ever6bmc systemd[1]: Starting Update BIOS attr table with host firmware well-known names... Feb 14 12:54:09 ever6bmc systemd[1]: Started Network IPMI daemon. Feb 14 12:54:09 ever6bmc systemd[1]: Started Network IPMI daemon. Feb 14 12:54:09 ever6bmc systemd[1]: Starting System VPD Collection...
Tested in the above mentioned scenario: -> busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/ inventory/system/chassis/motherboard/fan0 xyz.openbmc_project.Inventory.Item Present b false
->busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 xyz.openbmc_project.Inventory.Item interface - - - .Present property b false emits-change writable .PrettyName property s "fan0"
-> busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/ inventory/system/chassis/motherboard xyz.openbmc_project.Inventory.Item Present b false
->systemctl restart system-vpd.service
Result: busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 xyz.openbmc_project.Inventory.Item interface - - - .Present property b false emits-change writable .PrettyName property s "fan0"
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I775380792b0f031efdff8c42e236b822ba3c2b45
show more ...
|
#
24942235 |
| 05-Jan-2023 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Rewordings required in logging PEL
This commit rewords some of the comments and variables in restore VPD PEL code and in vpd-tool restore function.
Eg: >>Cache value -> Backup value [As backup
Rewordings required in logging PEL
This commit rewords some of the comments and variables in restore VPD PEL code and in vpd-tool restore function.
Eg: >>Cache value -> Backup value [As backup need not be in cache only] >>Blank data -> Default data [As default data need not be blank only] >>Hardware data -> Primary data The VPD backup values and backup memory are machine specific.
Thus providing generic terms makes the code statements/comments more reliable w.r.t any machine.
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I34fcd44e94b928db0fc30cda94eb8f03e6e87987
show more ...
|
#
952d6c58 |
| 07-Nov-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Enhance system VPD map
This commit enhances system VPD map to incorporate useful information about each critical keywords like the default keyword value, if the keyword is restorable or not, if the
Enhance system VPD map
This commit enhances system VPD map to incorporate useful information about each critical keywords like the default keyword value, if the keyword is restorable or not, if the keyword is resettable at manufacturing or not, if a PEL required or not when failed to restore the keywords.
Tested the following, 1. system VPD restore on cache via parser 2. system VPD restore on hardware via vpd-manager 3. system VPD restore via vpd-tool 4. system VPD reset via vpd-tool
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I29ae6016f6d84342a8ad91ba72617a45121cf8a6
show more ...
|
#
f612368f |
| 02-Dec-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Defect fix in logging system VPD mismatch PEL
This commit has the below fixes in ibm-read-vpd app.
1. Fixed the incorrect dbus path passed in CALLOUT_INVENTORY_PATH when there is a system VPD misma
Defect fix in logging system VPD mismatch PEL
This commit has the below fixes in ibm-read-vpd app.
1. Fixed the incorrect dbus path passed in CALLOUT_INVENTORY_PATH when there is a system VPD mismatch between cache and hardware.
2. Fixed the incorrect PEL interface logged when there is a system VPD mismatch between cache and hardware.
Test: Ensured that "com.ibm.VPD.Error.SystemVPDMismatch" PEL interface is logged and "/xyz/openbmc_project/inventory/system/chassis" "/motherboard" inventory path is called out when there is a system VPD mismatch.
peltool -i 0x500024AB { "Private Header": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x4000", "Created at": "12/05/2022 05:58:47", "Committed at": "12/05/2022 05:58:47", "Creator Subsystem": "BMC", "CSSVER": "", "Platform Log Id": "0x500024AB", "Entry Id": "0x500024AB", "BMC Event Log Id": "314" }, "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": "2E2D", "Terminate FW Error": "False", "Deconfigured": "False", "Guarded": "False", "Error Details": { "Message": "A system VPD restoration error" "occurred." }, "Valid Word Count": "0x09", "Reference Code": "BD554008", "Hex Word 2": "00080055", "Hex Word 3": "2E2D0010", "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": "2", "Callouts": [{ "FRU Type": "Normal Hardware FRU", "Priority": "Mandatory, replace all with this" "type as a unit", "Location Code": "U78DA.ND0.WZS007H-P0", "Part Number": "02WG676", "CCIN": "2E2D", "Serial Number": "YF33UF19Y007" }, { "FRU Type": "Maintenance Procedure Required", "Priority": "Mandatory, replace all with this" "type as a unit", "Procedure": "BMC0007" }] } }, "Extended User Header": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x2000", "Reporting Machine Type": "9105-22B", "Reporting Serial Number": "1392BE0", "FW Released Ver": "", "FW SubSys Version": "fw1040.00-1.2", "Common Ref Time": "00/00/0000 00:00:00", "Symptom Id Len": "20", "Symptom Id": "BD554008_2E2D0010" }, "Failing MTMS": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x2000", "Machine Type Model": "9105-22B", "Serial Number": "1392BE0" }, "User Data 0": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x2000", "BMCLoad": "0.22 0.41 0.33", "BMCState": "Ready", "BMCUptime": "0y 0d 0h 13m 6s", "BootState": "Unspecified", "ChassisState": "Off", "FW Version ID": "fw1040.00-1.2-2-g1859836242-dirty", "HostState": "Off", "System IM": "50001001" }, "User Data 1": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x2000", "CALLOUT_INVENTORY_PATH": "/xyz/openbmc_project/inventory/system" "/chassis/motherboard", "DESCRIPTION": "VPD data mismatch on cache and hardware for" "record: LXR0 and keyword: LX", "Value on Cache: ": "0x31 0x0 0x4 0x1 0x0 0x30 0x0 0x71 ", "Value read from EEPROM: ": "0x64 0x65 0x4 0x1 0x0 0x30 0x0 0x71 " } }
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I0b94b60d03f4223e5c14162e859dd45e76a4c2fb
show more ...
|
#
dedb5a63 |
| 19-Dec-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
Add Bonnell Support
-- Add initial support for Bonnell -- Miscellaneous fixes in the VPD app: Set Enabled property as true by default. Capture the mismatched data for system VPD in the PEL.
Add Bonnell Support
-- Add initial support for Bonnell -- Miscellaneous fixes in the VPD app: Set Enabled property as true by default. Capture the mismatched data for system VPD in the PEL. Clear CCIN for FRUs where the VPD cannot be collected.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I8c6c82c1d3d6aa09eaafff67832462dd3c31ebb4
show more ...
|
#
6a1bd39b |
| 02-Jun-2021 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Single FRU VPD collection
This commit implements a Dbus Api to collect VPD of a given FRU by launching the parser exe asynchronously.
The caller is supposed to update Present property for that FRU
Single FRU VPD collection
This commit implements a Dbus Api to collect VPD of a given FRU by launching the parser exe asynchronously.
The caller is supposed to update Present property for that FRU as false on Dbus before calling this Api and need to listen for Present property change signal to mark the collection of VPD complete for the FRU.
One of the use case for this api is to collect VPD for FRU undergoing concurrent maintenance.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Idc44d6bc05deb04f3b9097ccf3129f5d2b11eaf0
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 ...
|
#
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 ...
|