diff options
Diffstat (limited to 'src/usr/vpd/pvpd.H')
-rw-r--r-- | src/usr/vpd/pvpd.H | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/src/usr/vpd/pvpd.H b/src/usr/vpd/pvpd.H new file mode 100644 index 000000000..092dd45f7 --- /dev/null +++ b/src/usr/vpd/pvpd.H @@ -0,0 +1,149 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/vpd/pvpd.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 __PVPD_H +#define __PVPD_H + + +/** + * @file pvpd.H + * + * @brief Provides the interfaces for the PVPD device driver + * + */ + +// ---------------------------------------------- +// Includes +// ---------------------------------------------- +#include <errl/errlentry.H> +#include <vpd/pvpdenums.H> + +#include "ipvpd.H" +#include <config.h> + +namespace PVPD +{ + + /** + * @brief Conversion of PVPD Records to corresponding character + * representation. + */ + const IpVpdFacade::recordInfo pvpdRecords[] = + { + // ------------------------------------------------------------------- + // NOTE: This list must remain an ordered list! There will be a + // testcase that checks this. When adding new entries to the + // list, be sure that the keyword in each entry (value 0) + // are in ascending order. + // ------------------------------------------------------------------- + { VINI, "VINI" }, + { OSYS, "OSYS" }, + { OPFR, "OPFR" }, + { VNDR, "VNDR" }, + // ------------------------------------------------------------------- + // DO NOT USE!! This is for test purposes ONLY! + { PVPD_TEST_RECORD, "TEST" }, + // ------------------------------------------------------------------- + }; + + /** + * @brief Conversion of PVPD Keywords to corresponding character + * representation. + */ + const IpVpdFacade::keywordInfo pvpdKeywords[] = + { + // ------------------------------------------------------------------- + // NOTE: This list must remain an ordered list! There will be a + // testcase that checks this. When adding new entries to + // the list, be sure that the keyword in each entry (value 0) + // are in ascending order. + // ------------------------------------------------------------------- + { pdI, "#I" }, + { B3, "B3" }, + { B4, "B4" }, + { B7, "B7" }, + { CC, "CC" }, + { CE, "CE" }, + { CT, "CT" }, + { DR, "DR" }, + { ET, "ET" }, + { FN, "FN" }, + { HE, "HE" }, + { HW, "HW" }, + { IN, "IN" }, + { MM, "MM" }, + { PF, "PF" }, + { PN, "PN" }, + { RT, "RT" }, + { SN, "SN" }, + { SS, "SS" }, + { VD, "VD" }, + { VN, "VN" }, + { VP, "VP" }, + { VS, "VS" }, + { VZ, "VZ" }, + + // ------------------------------------------------------------------- + // DO NOT USE!! This is for test purposes ONLY! + { PVPD_TEST_KEYWORD, "XX" }, + // ------------------------------------------------------------------- + + //Common ipvpd + { FULL_RECORD, "FL"}, + }; + +}; // end PVPD namespace + +class PvpdFacade: public IpVpdFacade +{ + public: + + /** + * @brief Constructor + */ + PvpdFacade( ); + + private: + + /** + * @brief This function returns a primary and an alternate list of records + * that should be copied to pnor. The Alternate list is optional. + * + * @param[out] o_primaryVpdRecords - Pointer to array of VPD Records to use + * + * @param[out] o_primaryRecSize - Size of o_primaryVpdRecords array + * + * @param[out] o_altVpdRecords - Pointer to array of VPD Records to use + * + * @param[out] o_altRecSize - Size of o_altVpdRecords array + * + */ + void getRecordLists( + const recordInfo* & o_primaryVpdRecords, + uint64_t & o_primaryRecSize, + const recordInfo* & o_altVpdRecords, + uint64_t & o_altRecSize); + +}; +#endif // __PVPD_H |