History log of /openbmc/openpower-vpd-parser/ (Results 176 – 200 of 422)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
28abd6e428-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 ...

523af2e014-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 ...

cce0e65308-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 ...

0dc51da008-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 ...

7a975f0b07-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 ...

a2ddc96e29-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 ...

fdf9ff2a15-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 ...

f31a91bc09-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 ...

9073130f05-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

0ac1085026-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 ...

afb71f7521-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 ...

da3b2d2531-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 ...

e008432a27-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 ...

43ffcf7708-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 ...

f1449cd213-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 ...

84d61e8222-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 ...

a97b63eb20-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 ...

b2c2ccc214-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 ...

253fbe9f06-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 ...

c99a0b0508-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 ...

2eb0176c22-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 ...

705d037604-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


57cebeb022-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 ...

6b2b537402-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 ...

3803131f07-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 ...

12345678910>>...17