commit | 920408dd1ccbb8494f8e9e446bb3a5dc24edf2cd | [log] [tgz] |
---|---|---|
author | Alpana Kumari <alpankum@in.ibm.com> | Thu May 14 00:07:03 2020 -0500 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Mon Nov 02 16:18:34 2020 +0530 |
tree | bb59869fab55f86f3694888d52445923df8a88f5 | |
parent | 58e22145810d6dc88d1afe60e03135e8caf198ba [diff] |
Handle CPU Module and FRU in write VPD Test- 1. Using vpd-tool ./vpd-tool --readKeyword --object /system/chassis/motherboard --record VINI --keyword SN { "/system/chassis/motherboard": { "SN": "YL2E2D010000" } } ./vpd-tool --writeKeyword --object /system/chassis/motherboard --record VINI --keyword SN --value 0x303030 ./vpd-tool --readKeyword --object /system/chassis/motherboard --record VINI --keyword SN { "/system/chassis/motherboard": { "SN": "000E2D010000" } } COM interface- Change-Id: I39ee0448483be581da254f5633b0817637292dff ------------- .SN property ay 12 48 48 48 69 50 68 48 49 48 48 48 48 emits-change writable Common Interface- ---------------- xyz.openbmc_project.Inventory.Decorator.Asset interface - - - .SerialNumber property s "000E2D010000" emits-change writable sys path updated- -------- 00000110 35 53 4e 0c 30 30 30 45 32 44 30 31 30 30 30 30 |5SN.000E2D010000| 2. Tested on simics with spi driver supported image for 1 DCM verified CPUs and other FRUs to work as expected. 1- busctl call WriteKeyword ossay "/system/chassis/motherboard/cpu0" "VINI" "DR" 1 65 Updating CI, so updated cpu0, cpu1 and spi2 vpd. 2- busctl call WriteKeyword ossay "/system/chassis/motherboard/cpu1" "VINI" "DR" 1 66 Updating CI, so updated cpu0, cpu1 and spi2 vpd. 3- busctl call WriteKeyword ossay "/system/chassis/motherboard/cpu0" "VINI" "CC" 1 67 Not a CI, so only cpu0 and spi2 vpd updated. 4- busctl call WriteKeyword ossay "/system/chassis/motherboard/cpu1" "VINI" "CC" 1 67 Not a CI, so only cpu1 and spi6 vpd updated. cpu1 updated 1 Byte data of DR (7)- busctl call WriteKeyword ossay "/system/chassis/motherboard/cpu1" "VINI" "DR" 1 55 Read file info at spi2.0/spi2.00/nvmem offset 0x30000- 000001a0 04 56 49 4e 49 44 52 10 37 20 57 41 59 20 20 50 |.VINIDR.7 WAY P| <--DR updated 1 Byte Change-Id: I5e99c1ac4e09b2d0e05be18a10d1d50eba22fea2 Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
#Overview This repository hosts code for OpenPower and IBM IPZ format VPD parsers. Both OpenPower VPD and IPZ VPD formats are structured binaries that consist of records and keywords. A record is a collection of multiple keywords. More information about the format can be found here.
The repository consists of two distinct applications, which are:
This is a build-time YAML driven application that parses the OpenPower VPD format and uses the YAML configuration (see extra-properties-example.yaml and writefru.yaml) to determine:
The application instance must be passed in the file path to the VPD (this can, for example, be a sysfs path exposed by the EEPROM device driver) and also the D-Bus object path(s) that EEPROM data needs to be published under.
This parser is can be built by passing in the --enable-ibm-parser
configure option. This parser differs from the OpenPower VPD parser in the following ways:
#
and are > 255 bytes in length).Making the application runtime JSON driven allows us to support multiple systems (with different FRU configurations) to be supported in a single code image as well as making the application more flexible for future improvements.