commit | b1e64bb6fa2605b41583a150c90812f756e2590b | [log] [tgz] |
---|---|---|
author | Matt Spinler <spinler@us.ibm.com> | Wed Sep 08 09:57:48 2021 -0500 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Tue Sep 14 15:53:28 2021 +0000 |
tree | 6f1dc9c188e2452bb3871f872c8e1a8dd28afeac | |
parent | d3a379a6b259a0cd4b7b1af700079b31a6a492b2 [diff] |
Support size_t properties on extraInterfaces The xyz...I2CDevice interface is needed on certain FRU object paths so that entity-manager can know the EEPROM I2C bus and address. It has two size_t properties, Bus and Address. This commit adds support for this by looking for numeric JSON properties in the extraInterfaces JSON and saving them in the PIM payload as size_t. A future improvement would be to figure out the exact type needed, such as uint64_t, int, etc. Tested: Saw the interface on D-Bus: xyz.openbmc_project.Inventory.Decorator.I2CDevice .Address 81 .Bus 30 Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iad92917b53e0dc9fdc7cd95d7452e41a8a7f6510
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.