commit | dd453be997178ba042cc99b04fc32e23582eab9c | [log] [tgz] |
---|---|---|
author | Santosh Puranik <santosh.puranik@in.ibm.com> | Wed Feb 10 21:45:25 2021 +0530 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Fri Feb 12 13:34:11 2021 +0000 |
tree | f2136309e9b80a473e057598753f81c270069d98 | |
parent | 81671f6d52da047aa487d8e08c4435505e3fe61b [diff] |
Fix Bad VPD Handling This commit fixes two issues discovered with handling VPD that cannot be parsed: * If a parser object cannot be identified, return a VPDDataException and not a runtime_error. * Fix a code bug which was causing us to run the parser twice. Tested: Tested agsinst bad VPD data and verified that the right exception is now thrown. Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com> Change-Id: I5ed10519b26f16b69b4b8b3f8a6f1f4ef2fa3cdb
#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.