commit | 9f255f5c5caac205a3ae47a7e11c31e32971b2e8 | [log] [tgz] |
---|---|---|
author | Rekha Aparna <vrekhaaparna@ibm.com> | Wed Apr 23 05:25:07 2025 -0500 |
committer | Rekha Aparna <vrekhaaparna@ibm.com> | Tue Apr 29 01:14:32 2025 -0500 |
tree | 5fcebb9c618710e61ff6d21dd6dd0b54bf013ce2 | |
parent | 78a504275dd38bbc65127b5c4b816cf927f78380 [diff] |
Restrict updating of IM keyword This commit adds code to restrict updating of IM value from vpd-tool if the value is not in the supported list of IM values. Test: ``` root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "0x50001003" Given IM value [0x50001003] does not match to any valid system type. root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "5000" Given IM value [5000] does not match to any valid system type. root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "0x50001002" Data updated successfully ``` Change-Id: Ia14d6ffe8673a3ed94fc3a5f4fdbfe37f351b2a8 Signed-off-by: Rekha Aparna <vrekhaaparna@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.