commit | a12c6c8e27e6dfc2ae4766c7152cd39efe1dad8f | [log] [tgz] |
---|---|---|
author | Sunny Srivastava <55740008+SunnySrivastava1984@users.noreply.github.com> | Mon Oct 14 10:49:37 2024 +0530 |
committer | Sunny Srivastava <sunnsr25@in.ibm.com> | Mon Oct 14 11:45:15 2024 +0530 |
tree | 6660ecee2d9832f27166698ccc4dc064a17cf5ef | |
parent | 78b2cd679b4ea4e9700c8e0150e4f0adc67d22f4 [diff] |
Clear vpd before recollection Some FRUs qualifies for recollection at standby. To avoid any misleading representation because of the stale data, VPD is being cleared and present is set to false before recollection is triggered for those FRUs. The commit also checks for any sub tree under the parent path and if found resets data for them as well. This will also help in detecting any error that can happen during recollection of those FRUs as their present property will remain set to false. Change-Id: I9b706df39648ded63c44363fc817104028e60014 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.