commit | c0a534f4075fc515d143321e6a535006bf36ac87 | [log] [tgz] |
---|---|---|
author | PriyangaRamasamy <priyanga24@in.ibm.com> | Mon Aug 24 21:29:18 2020 +0530 |
committer | PriyangaRamasamy <priyanga24@in.ibm.com> | Wed Apr 07 00:10:53 2021 -0500 |
tree | 0c12d3188cc836f5df6c369c1d70fb8f0e8ed9d3 | |
parent | 2fe709f11031c9f447283aaa5316c4d08ba7c34e [diff] |
VPD Tool: Update Hardware Vpd tool has --Hardware/-H flag which should be given along with writeKeyword flags, if the user wants to write directly to "Hardware". In general the user should give only the object path in --path/-P value. Only if --Hardware/-H flag is given, the user has an option to give either eeprom path or the object path in --path/-P value. Test: Tested on simics. ./vpd-tool --writeKeyword -H --path < hardware path/object path > -R < record name > -K < keyword > -V < value in hex/ascii > CASE 1: <updating eeprom path> < update directly on hardware using -H.> ./vpd-tool -u -H -P /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a480.i2c-bus/i2c-8/8-0051/8-00510/nvmem -R VINI -K PN -V 0x717273 updation successful on both dbus and hardware. CASE 2: ./vpd-tool -u -H -P /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a480.i2c-bus/i2c-8/8-0051/8-00510/nvmem -R DINF -K FL -V 0x717273 updation successful on hardware. <this wont get updated in dbus as the given record-keyword pair is not required to update in dbus(only those record keywords present in dbus_properties.json are required to be updated in dbus). CASE 3: <failure case - invalid eeprom path> root@rainier:/tmp# ./vpd-tool -u -H -P /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a490.i2c-bus/i2c-8/8-0051/8-00510/nvmem -R VINI -K PN -V 0x717273 Invalid object path : /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a490.i2c-bus/i2c-8/8-0051/8-00510/nvmem. Unable to find the corresponding EEPROM path for the given object path : /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e7$ Signed-off-by: PriyangaRamasamy <priyanga24@in.ibm.com> Change-Id: I6b893e699fe343c90c3a3fd2b07fd8b9a4711687
#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.