diff options
| author | Terry J. Opie <opiet@us.ibm.com> | 2012-03-07 13:39:53 -0600 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-04-04 21:02:11 -0500 |
| commit | ade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c (patch) | |
| tree | 29bcedfb462d476c4d1ace8a29cee543e465510b /src/include | |
| parent | 4e29fbf87555f7d1b4c9923203f091bde397e2a6 (diff) | |
| download | blackbird-hostboot-ade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c.tar.gz blackbird-hostboot-ade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c.zip | |
MVPD Device Driver
- MVPD test cases
- Add temp binary image file
- Adjust SPD/DIMM Pres Detect tests to operate on 1 DIMM.
Change-Id: Iaaacd4787ba8e8a8d74f3c427507d98a5f0b218c
RTC: 35329
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/777
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/usr/devicefw/userif.H | 11 | ||||
| -rw-r--r-- | src/include/usr/hbotcompid.H | 18 | ||||
| -rw-r--r-- | src/include/usr/mvpd/mvpdenums.H | 124 | ||||
| -rw-r--r-- | src/include/usr/mvpd/mvpdreasoncodes.H | 79 |
4 files changed, 228 insertions, 4 deletions
diff --git a/src/include/usr/devicefw/userif.H b/src/include/usr/devicefw/userif.H index 8d95db3a9..acd5d5ada 100644 --- a/src/include/usr/devicefw/userif.H +++ b/src/include/usr/devicefw/userif.H @@ -48,6 +48,7 @@ namespace DeviceFW PRESENT, FSI, SPD, + MVPD, LAST_ACCESS_TYPE, }; @@ -97,6 +98,16 @@ namespace DeviceFW DeviceFW::MAILBOX, static_cast<uint64_t*>((o_status)) /** + * Construct the device addressing parameters for the MVPD device ops. + * @param[in] i_record - The enumeration of the MVPD record to access. + * @param[in] i_keyword - The enumeration of the MVPD keyword, located + * within the i_record Record to access. + */ + #define DEVICE_MVPD_ADDRESS( i_record, i_keyword )\ + DeviceFW::MVPD, static_cast<uint64_t>(( i_record )),\ + static_cast<uint64_t>(( i_keyword )) + + /** * @brief Perform a hardware read operation. * * @param[in] i_target Device target to operate on. diff --git a/src/include/usr/hbotcompid.H b/src/include/usr/hbotcompid.H index df0280f14..7888327f3 100644 --- a/src/include/usr/hbotcompid.H +++ b/src/include/usr/hbotcompid.H @@ -171,7 +171,7 @@ const char INTR_COMP_NAME[] = "intr"; //@} /** @name SPD - * EEPROM device driver component + * DIMM SPD device driver component */ //@{ const compId_t SPD_COMP_ID = 0x1000; @@ -186,9 +186,19 @@ const compId_t HBMBOX_COMP_ID = 0x1100; const char HBMBOX_COMP_NAME[] = "mbox"; //@} -/** @name FIPS_ERRL - * Used to add component trace to an error log - * so that it can be decoded by the FSP errlog parser +/** @name MVPD + * MVPD device driver component + */ +//@{ +const compId_t MVPD_COMP_ID = 0x1200; +const char MVPD_COMP_NAME[] = "mvpd"; +//@} + +/** @name RESERVED + * Reserved component ID. x3100 is the component ID + * of FipS ERRL component. Due to our use of + * of the FipS errl tool, let no Hostboot component + * use this component ID. */ //@{ const compId_t FIPS_ERRL_COMP_ID = 0x3100; diff --git a/src/include/usr/mvpd/mvpdenums.H b/src/include/usr/mvpd/mvpdenums.H new file mode 100644 index 000000000..fdb9486ca --- /dev/null +++ b/src/include/usr/mvpd/mvpdenums.H @@ -0,0 +1,124 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/mvpd/mvpdenums.H $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// p1 +// +// Object Code Only (OCO) source materials +// Licensed Internal Code Source Materials +// IBM HostBoot Licensed Internal Code +// +// The source code for this program is not published or other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END +/** + * @file MVpdenums.H + * + * @brief Enums for the MVPD fields to be requested. + * + */ +#ifndef __MVPDENUMS_H +#define __MVPDENUMS_H + +namespace MVPD +{ + +/** +* @brief Enumeration for the MVPD Records that contain +* the keyword enumerations below. +*/ +enum mvpdRecord +{ + MVPD_FIRST_RECORD = 0x00, + CRP0 = MVPD_FIRST_RECORD, + CP00 = 0x01, + VINI = 0x02, + LRP0 = 0x03, + LRP1 = 0x04, + LRP2 = 0x05, + LRP3 = 0x06, + LRP4 = 0x07, + LRP5 = 0x08, + LRP6 = 0x09, + LRP7 = 0x0a, + LRP8 = 0x0b, + LRP9 = 0x0c, + LRPA = 0x0d, + LRPB = 0x0e, + LWP0 = 0x0f, + LWP1 = 0x10, + LWP2 = 0x11, + LWP3 = 0x12, + LWP4 = 0x13, + LWP5 = 0x14, + LWP6 = 0x15, + LWP7 = 0x16, + LWP8 = 0x17, + LWP9 = 0x18, + LWPA = 0x19, + LWPB = 0x1a, + VWML = 0x1b, + + // Last Record + MVPD_LAST_RECORD, + MVPD_TEST_RECORD, // Test purposes ONLY! + MVPD_INVALID_RECORD = 0xFFFF, +}; + +/** +* @brief Enumerations for MVPD keywords that can be +* accessed in the MVPD. +*/ +enum mvpdKeyword +{ + MVPD_FIRST_KEYWORD = 0x00, + VD = MVPD_FIRST_KEYWORD, + ED = 0x01, + TE = 0x02, + DD = 0x03, + pdP = 0x04, + ST = 0x05, + DN = 0x06, + PG = 0x07, + PK = 0x08, + pdR = 0x09, + pdV = 0x0a, + pdH = 0x0b, + SB = 0x0c, + DR = 0x0d, + VZ = 0x0e, + CC = 0x0f, + CE = 0x10, + FN = 0x11, + PN = 0x12, + SN = 0x13, + PR = 0x14, + HE = 0x15, + CT = 0x16, + HW = 0x17, + pdM = 0x18, + IN = 0x19, + pd2 = 0x1a, + pd3 = 0x1b, + OC = 0x1c, + FO = 0x1d, + pdI = 0x1e, + + // Last Keyword + MVPD_LAST_KEYWORD, + MVPD_TEST_KEYWORD, // Test purposes ONLY! + INVALID_MVPD_KEYWORD = 0xFFFF, +}; + +}; // end MVPD + +#endif diff --git a/src/include/usr/mvpd/mvpdreasoncodes.H b/src/include/usr/mvpd/mvpdreasoncodes.H new file mode 100644 index 000000000..8e9317b1a --- /dev/null +++ b/src/include/usr/mvpd/mvpdreasoncodes.H @@ -0,0 +1,79 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/mvpd/mvpdreasoncodes.H $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// p1 +// +// Object Code Only (OCO) source materials +// Licensed Internal Code Source Materials +// IBM HostBoot Licensed Internal Code +// +// The source code for this program is not published or other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END +/** + * @file mvpdreasoncodes.H + * + * @brief Reason codes and module ids for the MVPD device driver + * + */ +#ifndef __MVPDREASONCODES_H +#define __MVPDREASONCODES_H +// ----------------------------------------------- +// Includes +// ----------------------------------------------- +#include <hbotcompid.H> + +namespace MVPD +{ + +/** +* @enum mvpdModuleid +* +* @brief Module Ids used in created errorlogs. Indicates which +* functions an error log was created in. +* +*/ +enum mvpdModuleId +{ + MVPD_INVALID_MODULE = 0x00, + MVPD_READ_BINARY_FILE = 0x01, + MVPD_READ = 0x02, + MVPD_WRITE = 0x03, + MVPD_TRANSLATE_RECORD = 0x04, + MVPD_TRANSLATE_KEYWORD = 0x05, + MVPD_FIND_RECORD_OFFSET = 0x06, + MVPD_RETRIEVE_KEYWORD = 0x07, + MVPD_FETCH_DATA = 0x08, + MVPD_CHECK_BUFFER_SIZE = 0x09, +}; + +/** + * @enum mvpdReasonCode + * + * @brief Reasoncodes used to describe what errors are being indicated. + * + */ +enum mvpdReasonCode +{ + MVPD_INVALID_REASONCODE = MVPD_COMP_ID | 0x00, // Invalid Reasoncode + MVPD_INSUFFICIENT_FILE_SIZE = MVPD_COMP_ID | 0x01, + MVPD_OPERATION_NOT_SUPPORTED = MVPD_COMP_ID | 0x02, + MVPD_RECORD_NOT_FOUND = MVPD_COMP_ID | 0x03, + MVPD_KEYWORD_NOT_FOUND = MVPD_COMP_ID | 0x04, + MVPD_RECORD_MISMATCH = MVPD_COMP_ID | 0x05, + MVPD_INSUFFICIENT_BUFFER_SIZE = MVPD_COMP_ID | 0x06, +}; + +}; // end MVPD + +#endif |

