commit | fa5e4d325ef9cea3c841fe89d202c340f92bd8c6 | [log] [tgz] |
---|---|---|
author | Sunny Srivastava <sunnsr25@in.ibm.com> | Sun Mar 12 11:59:49 2023 -0500 |
committer | Sunny Srivastava <sunnsr25@in.ibm.com> | Tue Jan 21 16:04:46 2025 +0530 |
tree | a4dd0b67265602a6cb111de81bf1be374e91a793 | |
parent | 7f23d4d9a2398da0f4a88a7f8764ada2fed18fe7 [diff] |
Revamped code for VPD parser The commit removes all the pre-existing code from the branch and pushes the revamped code. Major modification includes: - Movement from multi exe to single daemon model. - Multithreaded approach to parse FRU VPD. - Better error handling. - Refactored code for performance optimization. Note: This code supports all the existing functionalities as it is. Change-Id: I1ddce1f0725ac59020b72709689a1013643bda8b Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
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.