commit | abb87eda2a79b2c371e3b329c3c911838e6e84c8 | [log] [tgz] |
---|---|---|
author | PriyangaRamasamy <priyanga24@in.ibm.com> | Tue Nov 19 17:25:35 2019 +0530 |
committer | Priyanga Ramasamy <priyanga24@in.ibm.com> | Fri Jun 19 19:24:59 2020 +0530 |
tree | 677bc69f7b106ddc0712eb17b83f1cae1ecf1f97 | |
parent | c0aeac39da9efc460ca1c8a6e42f0a12234e306a [diff] |
IBM VPD main app & KeywordVPD parser: IBM VPD main application triggers either 'IPZ/Keyword' type VPD parser. This commit also has keyword VPD parser code. Flag to enable IBM VPD main parser is "--enable-ibm-parser" Flag to debug the keyword vpd parser is "--enable-debug-kw-vpd". Steps to build and execute: ./bootstrap.sh ./configure ${CONFIGURE_FLAGS} --enable-ibm-parser make To run test cases: make check Test: Tested on a rainier system to parse [IPZ and Keyword] types of VPD. Signed-off-by: PriyangaRamasamy <priyanga24@in.ibm.com> Change-Id: Ie4466551a60acd16ad9e4852f9b4d14c51f0a44d
#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.