summaryrefslogtreecommitdiffstats
path: root/src/include/usr/vpd
diff options
context:
space:
mode:
authorAdam Muhle <armuhle@us.ibm.com>2013-01-21 16:52:43 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-02-14 15:38:34 -0600
commita753459c20affff821477924808ea5b9412504c5 (patch)
tree32bc3f2581564f53167440b76cb7ad1db3a8fe58 /src/include/usr/vpd
parent5f5ecb46d1838847dedd33791d4da86d3df39638 (diff)
downloadtalos-hostboot-a753459c20affff821477924808ea5b9412504c5.tar.gz
talos-hostboot-a753459c20affff821477924808ea5b9412504c5.zip
CVPD Device Driver updates.
Implemented Device Driver support for Centaur VPD. Since CVPD is almost identical to MVPD, I moved the MVPD code to a base class so the actual logic is now common between the two. To support CVPD in the standalone configs, the hb-preload script was updated to populate the CVPD partition as well. I also started migrating the VPD code to a common trace buffer. RTC: 44009 Change-Id: I6e96d5e993d6d74d40df3d296cdcf8f34e4b5cc5 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3029 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/vpd')
-rw-r--r--src/include/usr/vpd/cvpdenums.H62
-rw-r--r--src/include/usr/vpd/vpdreasoncodes.H31
2 files changed, 74 insertions, 19 deletions
diff --git a/src/include/usr/vpd/cvpdenums.H b/src/include/usr/vpd/cvpdenums.H
new file mode 100644
index 000000000..2f52ee07a
--- /dev/null
+++ b/src/include/usr/vpd/cvpdenums.H
@@ -0,0 +1,62 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/vpd/cvpdenums.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2013 */
+/* */
+/* 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 otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __CVPDENUMS_H
+#define __CVPDENUMS_H
+
+namespace CVPD
+{
+
+ /**
+ * @brief Enumeration for the CVPD Records that contain
+ * the keyword enumerations below.
+ */
+ enum cvpdRecord
+ {
+ CVPD_FIRST_RECORD = 0x00,
+ VEIR = CVPD_FIRST_RECORD,
+ VER0 = 0x01,
+ MER0 = 0x02,
+ // Last Record
+ CVPD_LAST_RECORD,
+ CVPD_TEST_RECORD, // Test purposes ONLY!
+ CVPD_INVALID_RECORD = 0xFFFF,
+ };
+
+ /**
+ * @brief Enumerations for CVPD keywords that can be
+ * accessed in the CVPD.
+ */
+ enum cvpdKeyword
+ {
+ CVPD_FIRST_KEYWORD = 0x00,
+ pdI = CVPD_FIRST_KEYWORD,
+ PF = 0x01,
+ // Last Keyword
+ CVPD_LAST_KEYWORD,
+ CVPD_TEST_KEYWORD, // Test purposes ONLY!
+ CVPD_INVALID_KEYWORD = 0xFFFF,
+ };
+
+}; // end CVPD
+
+#endif
diff --git a/src/include/usr/vpd/vpdreasoncodes.H b/src/include/usr/vpd/vpdreasoncodes.H
index 2ecbba770..7e95afa58 100644
--- a/src/include/usr/vpd/vpdreasoncodes.H
+++ b/src/include/usr/vpd/vpdreasoncodes.H
@@ -40,23 +40,17 @@ namespace VPD
*/
enum vpdModuleId
{
- VPD_INVALID_MODULE = 0x00,
+ VPD_INVALID_MODULE = 0x00,
// Common VPD
-
- // Proc MVPD
- VPD_MVPD_READ_BINARY_FILE = 0x31,
- VPD_MVPD_READ = 0x32,
- VPD_MVPD_WRITE = 0x33,
- VPD_MVPD_TRANSLATE_RECORD = 0x34,
- VPD_MVPD_TRANSLATE_KEYWORD = 0x35,
- VPD_MVPD_FIND_RECORD_OFFSET = 0x36,
- VPD_MVPD_RETRIEVE_KEYWORD = 0x37,
- VPD_MVPD_FETCH_DATA = 0x38,
- VPD_MVPD_CHECK_BUFFER_SIZE = 0x39,
- VPD_MVPD_WRITE_KEYWORD = 0x3A,
- VPD_MVPD_FIND_KEYWORD_ADDR = 0x3B,
+ // IPVPD
+ VPD_IPVPD_TRANSLATE_RECORD = 0x20,
+ VPD_IPVPD_TRANSLATE_KEYWORD = 0x21,
+ VPD_IPVPD_FIND_RECORD_OFFSET = 0x22,
+ VPD_IPVPD_FIND_KEYWORD_ADDR = 0x23,
+ VPD_IPVPD_CHECK_BUFFER_SIZE = 0x24,
+
// DIMM SPD
VPD_SPD_GET_KEYWORD_VALUE = 0x61,
@@ -67,10 +61,9 @@ enum vpdModuleId
VPD_SPD_SPECIAL_CASES = 0x66,
VPD_SPD_PRESENCE_DETECT = 0x67,
VPD_SPD_CHECK_MODULE_SPECIFIC_KEYWORD = 0x68,
- VPD_SPD_GET_PNOR_ADDR = 0x69,
- VPD_SPD_WRITE_VALUE = 0x6A,
- VPD_SPD_GET_KEYWORD_ENTRY = 0x6B,
- VPD_SPD_WRITE_DATA = 0x6C,
+ VPD_SPD_WRITE_VALUE = 0x69,
+ VPD_SPD_GET_KEYWORD_ENTRY = 0x6A,
+ VPD_SPD_WRITE_DATA = 0x6B,
// Centaur FRU VPD
@@ -84,7 +77,7 @@ enum vpdModuleId
*/
enum vpdReasonCode
{
- VPD_INVALID_REASONCODE = VPD_COMP_ID | 0x00, // Invalid Reasoncode
+ VPD_INVALID_REASONCODE = VPD_COMP_ID | 0x00, // Invalid RC
VPD_INSUFFICIENT_FILE_SIZE = VPD_COMP_ID | 0x01,
VPD_OPERATION_NOT_SUPPORTED = VPD_COMP_ID | 0x02,
VPD_RECORD_NOT_FOUND = VPD_COMP_ID | 0x03,
OpenPOWER on IntegriCloud