diff options
Diffstat (limited to 'src/include/usr/vpd')
-rw-r--r-- | src/include/usr/vpd/cvpdenums.H | 1 | ||||
-rw-r--r-- | src/include/usr/vpd/pvpdenums.H | 96 | ||||
-rw-r--r-- | src/include/usr/vpd/vpd_if.H | 8 | ||||
-rw-r--r-- | src/include/usr/vpd/vpdreasoncodes.H | 4 |
4 files changed, 108 insertions, 1 deletions
diff --git a/src/include/usr/vpd/cvpdenums.H b/src/include/usr/vpd/cvpdenums.H index 4b5adb271..79b81093c 100644 --- a/src/include/usr/vpd/cvpdenums.H +++ b/src/include/usr/vpd/cvpdenums.H @@ -45,7 +45,6 @@ namespace CVPD OPFR = 0x05, VNDR = 0x06, SPDX = 0x07, - OSYS = 0x08, // Last Record CVPD_LAST_RECORD, CVPD_TEST_RECORD, // Test purposes ONLY! diff --git a/src/include/usr/vpd/pvpdenums.H b/src/include/usr/vpd/pvpdenums.H new file mode 100644 index 000000000..acf3bbd22 --- /dev/null +++ b/src/include/usr/vpd/pvpdenums.H @@ -0,0 +1,96 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/vpd/pvpdenums.H $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2013,2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef __PVPDENUMS_H +#define __PVPDENUMS_H + +#include <vpd/ipvpdenums.H> + +namespace PVPD +{ + + /** + * @brief Enumeration for the PVPD Records that contain + * the keyword enumerations below. + * + */ + enum pvpdRecord + { + PVPD_FIRST_RECORD = 0x00, + VINI = PVPD_FIRST_RECORD, + OSYS = 0x01, + OPFR = 0x02, + VNDR = 0x03, + // Last Record + PVPD_LAST_RECORD, + PVPD_TEST_RECORD, // Test purposes ONLY! + + //Start common IPVPD enums + PVPD_INVALID_RECORD = IPVPD::INVALID_RECORD, + }; + + /** + * @brief Enumerations for PVPD keywords that can be + * accessed in the PVPD. + */ + enum pvpdKeyword + { + PVPD_FIRST_KEYWORD = 0x00, + pdI = PVPD_FIRST_KEYWORD, + B3 = 0x01, + B4 = 0x02, + B7 = 0x03, + CC = 0x04, + CE = 0x05, + CT = 0x06, + DR = 0x07, + ET = 0x08, + FN = 0x09, + HE = 0x0a, + HW = 0x0b, + IN = 0x0c, + MM = 0x0d, + PF = 0x0e, + PN = 0x0f, + RT = 0x10, + SN = 0x11, + SS = 0x12, + VD = 0x13, + VN = 0x14, + VP = 0x15, + VS = 0x16, + VZ = 0x17, + + // Last Keyword + PVPD_LAST_KEYWORD, + PVPD_TEST_KEYWORD, // Test purposes ONLY! + + //Start common IPVPD enums + FULL_RECORD = IPVPD::FULL_RECORD, + PVPD_INVALID_KEYWORD = IPVPD::INVALID_KEYWORD, + }; + +}; // end PVPD + +#endif diff --git a/src/include/usr/vpd/vpd_if.H b/src/include/usr/vpd/vpd_if.H index 0b3298a80..d3915ee6a 100644 --- a/src/include/usr/vpd/vpd_if.H +++ b/src/include/usr/vpd/vpd_if.H @@ -71,6 +71,14 @@ namespace VPD bool cvpdPresent ( TARGETING::Target * i_target ); /** + * @brief This function checks to see if the given pvpd target + * is present + * @param[in] i_target - Target device to search for pvpd + * @return bool - true if pvpd is present, false if it is not. + */ + bool pvpdPresent ( TARGETING::Target * i_target ); + + /** * @brief This function checks if the PNOR cache for this target is in * sync with the SEEPROM, if not it loads the PNOR cache from SEEPROM. * @param[in] i_target - Target device diff --git a/src/include/usr/vpd/vpdreasoncodes.H b/src/include/usr/vpd/vpdreasoncodes.H index 88668b70c..2cfe8a68a 100644 --- a/src/include/usr/vpd/vpdreasoncodes.H +++ b/src/include/usr/vpd/vpdreasoncodes.H @@ -61,6 +61,9 @@ enum vpdModuleId VPD_IPVPD_LOAD_PNOR = 0x33, VPD_IPVPD_GET_RECORD_LIST_SEEPROM = 0x34, + // PVPD + VPD_PVPD_PRESENCEDETECT = 0x50, + // DIMM SPD VPD_SPD_GET_KEYWORD_VALUE = 0x61, VPD_SPD_GET_VALUE = 0x62, @@ -131,6 +134,7 @@ enum vpdReasonCode VPD_UNEXPECTED_TARGET_TYPE = VPD_COMP_ID | 0x33, VPD_WRITE_DEST_UNRESOLVED = VPD_COMP_ID | 0x34, VPD_CACHE_SIZE_EXCEEDED = VPD_COMP_ID | 0x35, + VPD_INVALID_LENGTH = VPD_COMP_ID | 0x36, }; |