834c0786 | 14-Feb-2023 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
Defect fix in restoring system VPD via vpd-manager
In vpd-manager restore api, the keyword defaults should be taken from the system vpd map. Instead it assumes blank value as default for all keyword
Defect fix in restoring system VPD via vpd-manager
In vpd-manager restore api, the keyword defaults should be taken from the system vpd map. Instead it assumes blank value as default for all keywords. This fails to restore UTIL D0 keyword as its default value is 0x00.
This commit fixes the issue.
Test: ~#vpd-tool -w -H -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R UTIL -K D0 -V 0x00
~# vpd-tool --fixSystemVPD =============================================================================================================================================================================================== S.No Record Keyword Data On BMC Data On System Backplane Data Mismatch =============================================================================================================================================================================================== 1 UTIL D0 0x01 0x00 YES
~#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
~#vpd-tool --fixSystemVPD
=============================================================================================================================================================================================== S.No Record Keyword Data On BMC Data On System Backplane Data Mismatch =============================================================================================================================================================================================== 1 UTIL D0 0x01 0x01 NO
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: If6817829211e9b8a47652deab5d1ec7643855fb6
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 ...
|
ab2304d2 | 10-Jan-2023 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Enable CM for NVMe Drives
Since NVMe backplane is not CMable whereas NVMe drives are CMable, code has been modified to loop through the list of FRUs under an EEPROM path instead of just checking the
Enable CM for NVMe Drives
Since NVMe backplane is not CMable whereas NVMe drives are CMable, code has been modified to loop through the list of FRUs under an EEPROM path instead of just checking the base FRU for CMable flag.
Test: Trigger collectFRUVPD using busctl command for NVMe drive and check if the parser has been re-trigerred and returns successfully.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: I408bd3f9a68da0dd511da4dd0560cff2a36f80c6
show more ...
|
bc599477 | 19-Dec-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Fixes to CM related APIs
This commit fixes the following issues with manager APIs:
-- Handle inventory paths with and without a inventory prefix. -- Properly handle GpioExceptions wherever
manager: Fixes to CM related APIs
This commit fixes the following issues with manager APIs:
-- Handle inventory paths with and without a inventory prefix. -- Properly handle GpioExceptions wherever postFailAction is called. -- Clean CCIN when deleteFRUVPD is called. This helps any EM config files that latch onto the CCIN to detect that the FRU is gone.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I6bde9c906e8d51edc9f7d0fabcac12af3dc44e0b
show more ...
|
5ef6ccc0 | 30-May-2022 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
Code fix to handle Dbus failure
The commit implement changes to catch and log error instead of re throwing a run time exception in case there is any Dbus failure while calling phosphor-logging servi
Code fix to handle Dbus failure
The commit implement changes to catch and log error instead of re throwing a run time exception in case there is any Dbus failure while calling phosphor-logging service.
It was required as there is no need to re throw runtime error in that case.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Ic62ee3d37e6dcb900fd3bec534eec63863ce956e
show more ...
|
41d498c1 | 16-Sep-2021 |
Alpana Kumari <alpankum@in.ibm.com> |
CM: Bind the PCIe devices with LED driver
Bind the LED driver to the device if vpd collection done successfully on adding the FRU to the system concurrently and unbind if FRU removed. This binding w
CM: Bind the PCIe devices with LED driver
Bind the LED driver to the device if vpd collection done successfully on adding the FRU to the system concurrently and unbind if FRU removed. This binding will be required pca chip address which is defined in inventory json for each cable card.
Test:
''' sh-5.1# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager CollectFRUVPD o "/system/chassis/motherboard/pcieslot10/pcie_card10" sh-5.1# sh-5.1# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager deleteFRUVPD o "/system/chassis/motherboard/pcieslot10/pcie_card10" sh-5.1# sh-5.1# i2cdetect -y 11 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- 0c -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- 1b -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- 4d -- -- 50: UU -- -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- sh-5.1# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager CollectFRUVPD o "/system/chassis/motherboard/pcieslot10/pcie_card10" sh-5.1# i2cdetect -y 11 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- 0c -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- 1b -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- 4d -- -- 50: UU -- -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 60: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- sh-5.1# exit exit ===============================================================================================
Corresponding response from vpd-manager- CollectFRUVPD :
Change-Id: I629fd06df2a9f1550b1a0bf8e0a1abed853d0475 ------------- Setting GPIO: SLOT10_PRSNT_EN_RSVD to 1 Executing driver binding for chip address - 11-0060 sh: line 1: echo: write error: Device or resource busy <---------- When device already bound
deleteFRUVPD : ------------- Unbinding device- 11-0060 <---- Unbind the device
CollectFRUVPD : ------------- Setting GPIO: SLOT10_PRSNT_EN_RSVD to 1 Executing driver binding for chip address - 11-0060 <---Bind it again
=============================================================================================== '''
Signed-off-by: Alpana Kumari <alpankum@in.ibm.com> Change-Id: I1d886d31e0e36c21d8b739c4b3d3e054ec876b6d
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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
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 ...
|
f7f8da6f | 06-May-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Update BIOS Attributes only if needed
This commit adds a check before updating the FCO and AMM BIOS attributes. If the attributes are already the value that we are trying to update, we skip
manager: Update BIOS Attributes only if needed
This commit adds a check before updating the FCO and AMM BIOS attributes. If the attributes are already the value that we are trying to update, we skip the BIOS attribute update.
This helps eliminate unnecessary BIOS updates being sent to PHYP.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Icc771a9c024cedb248a0fa2e983f9eebdc76b2b6
show more ...
|
f2d3b53d | 19-Apr-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Save and Restore BIOS Attributes
This commit saves any updates made to BIOS attributes to VPD.
It also restores the attributes from the VPD when we start VPD manager.
Signed-off-by: Santo
manager: Save and Restore BIOS Attributes
This commit saves any updates made to BIOS attributes to VPD.
It also restores the attributes from the VPD when we start VPD manager.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Idb28e2f89d21ccd89eb8e56490eb7f31397ff5f5
show more ...
|
a4a2adfa | 03-Feb-2022 |
Priyanga Ramasamy <priyanga24@in.ibm.com> |
VPD ECC shared library
This commit makes the VPD ECC source into a shared library and links the shared library with other executables which are dependant on VPD ECC.
Since the ECC source file is co
VPD ECC shared library
This commit makes the VPD ECC source into a shared library and links the shared library with other executables which are dependant on VPD ECC.
Since the ECC source file is confidential, we need to share the ECC as a shared library to the IBM Power customers.
Test: Tested on simics: 1. Corrupted the vpd data. root@p10bmc:/usr/lib# dd if=/dev/zero of=/sys/bus/i2c/drivers/at24/7-0050/eeprom bs=1 count=2 seek=184 2+0 records in 2+0 records out
root@p10bmc:/usr/lib# ibm-read-vpd --file /sys/bus/i2c/drivers/at24/7-0050/eeprom ERROR: ECC check did not pass for the Record:VINI
2. VPD Parser parsed successfully for a valid vpd root@p10bmc:/usr/lib# ibm-read-vpd --file /sys/bus/i2c/drivers/at24/7-0050/eeprom <no error>
3.ECC Code worked fine with VPD-Manager root@p10bmc:/usr/lib# vpd-tool -w -O /system/chassis/motherboard/base_op_panel_blyth -R VINI -K PN -V "PN34" root@p10bmc:/usr/lib# ibm-read-vpd --file /sys/bus/i2c/drivers/at24/7-0050/eeprom root@p10bmc:/usr/lib# root@p10bmc:/usr/lib# root@p10bmc:/usr/lib# vpd-tool -w -O /system/chassis/motherboard/base_op_panel_blyth -R VINI -K PN -V "PN12" root@p10bmc:/usr/lib# ibm-read-vpd --file /sys/bus/i2c/drivers/at24/7-0050/eeprom
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com> Change-Id: I72306b06ca8724193ef5ef05a0659467994a154d
show more ...
|
bf78ed88 | 20-Apr-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
vpd-manager: Fix compile failure.
Manager needs common_utility.hpp to get to callPIM
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: Ie114cb53b928dba630c1921f8b72ea10620c12b7 |
b62f6054 | 06-Apr-2022 |
Santosh Puranik <santosh.puranik@in.ibm.com> |
manager: Sync AssetTag Property
The AssetTag property on the system inventory object is used to hold the custom system name. This property is settable by the user via Redfish and by the host via PLD
manager: Sync AssetTag Property
The AssetTag property on the system inventory object is used to hold the custom system name. This property is settable by the user via Redfish and by the host via PLDM.
The Redfish server and PLDM daemon both use the org.freedesktop.DBus.Properties Set method to set this on D-Bus.
However, this is not persisted by PIM, which only persists properties that get set via Notify call.
This commit adds a workaround to the VPD manager code to listen for property changed events on the AssetTag property and relay it to a Notify call so that the custom name is persisted.
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I8839fbb5f014949040d85b03ed13e22790438529
show more ...
|