summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/diag/prdf/prdfWriteHomerFirData.H8
-rw-r--r--src/include/usr/hwpf/hwp/occ/occ.H9
-rw-r--r--src/include/usr/hwpf/hwp/occ/occAccess.H4
-rw-r--r--src/include/usr/hwpf/hwp/occ/occ_common.H35
-rw-r--r--src/include/usr/hwpf/hwpf_reasoncodes.H2
-rw-r--r--src/include/usr/isteps/istep06list.H3
-rw-r--r--src/include/usr/isteps/istep08list.H3
-rw-r--r--src/include/usr/isteps/istep10list.H3
-rw-r--r--src/include/usr/isteps/istep14list.H5
-rw-r--r--src/include/usr/isteps/istep16list.H5
10 files changed, 66 insertions, 11 deletions
diff --git a/src/include/usr/diag/prdf/prdfWriteHomerFirData.H b/src/include/usr/diag/prdf/prdfWriteHomerFirData.H
index f4e3590f0..7fa3a6d5d 100644
--- a/src/include/usr/diag/prdf/prdfWriteHomerFirData.H
+++ b/src/include/usr/diag/prdf/prdfWriteHomerFirData.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.H $ */
+/* $Source: src/include/usr/diag/prdf/prdfWriteHomerFirData.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
@@ -23,6 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
+#ifndef __prdfWriteHomerFirData_H
+#define __prdfWriteHomerFirData_H
+
#include <errl/errlentry.H>
namespace PRDF
@@ -41,9 +44,12 @@ enum HwInitialized_t
* the OCC to capture in the event of a system checkstop.
* @param i_hBuf SRAM pointer to the beginning of the HOMER data buffer.
* @param i_hBufSize Total size of the HOMER data buffer.
+ * @param i_curHW enum indicating which HW is currently known
* @return An error log on failure. NULL on success.
*/
errlHndl_t writeHomerFirData( uint8_t * i_hBuf, size_t i_hBufSize,
const HwInitialized_t i_curHw = ALL_HARDWARE );
}; // end namespace PRDF
+#endif // __prdfWriteHomerFirData_H
+
diff --git a/src/include/usr/hwpf/hwp/occ/occ.H b/src/include/usr/hwpf/hwp/occ/occ.H
index 9bf494669..c4dba0996 100644
--- a/src/include/usr/hwpf/hwp/occ/occ.H
+++ b/src/include/usr/hwpf/hwp/occ/occ.H
@@ -35,17 +35,22 @@ namespace HBOCC {
*
* @param[out] o_failedOccTarget: Pointer to the target failing
* loadnStartAllOccs
+ * @param[in] i_useSRAM: bool - use SRAM for OCC image, ie during IPL
+ * true if during IPL, false if at end of IPL (default)
* @return errlHndl_t Error log if OCC load failed
*/
- errlHndl_t loadnStartAllOccs(TARGETING::Target *& o_failedOccTarget);
+ errlHndl_t loadnStartAllOccs(TARGETING::Target *& o_failedOccTarget,
+ bool i_useSRAM = false);
/**
* @brief Starts OCCs on all Processors in the node
* This is intended to be used for Open Power.
*
+ * @param[in] i_useSRAM: bool - use SRAM for OCC image, ie during IPL
+ * true if during IPL, false if at end of IPL (default)
* @return errlHndl_t Error log if OCC load failed
*/
- errlHndl_t activateOCCs();
+ errlHndl_t activateOCCs(bool i_useSRAM = false);
} //end OCC namespace
diff --git a/src/include/usr/hwpf/hwp/occ/occAccess.H b/src/include/usr/hwpf/hwp/occ/occAccess.H
index b13f280af..f5de96589 100644
--- a/src/include/usr/hwpf/hwp/occ/occAccess.H
+++ b/src/include/usr/hwpf/hwp/occ/occAccess.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014 */
+/* Contributors Listed Below - COPYRIGHT 2014,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -30,7 +30,6 @@
#include <targeting/common/commontargeting.H>
#include <fapi.H>
-#ifdef CONFIG_HTMGT
namespace HBOCC
{
@@ -69,6 +68,5 @@ namespace HBOCC
ecmdDataBufferBase & i_dataBuf);
} //end OCC namespace
-#endif // CONFIG_HTMGT
#endif
diff --git a/src/include/usr/hwpf/hwp/occ/occ_common.H b/src/include/usr/hwpf/hwp/occ/occ_common.H
index 7ddb302b7..4dd83cbec 100644
--- a/src/include/usr/hwpf/hwp/occ/occ_common.H
+++ b/src/include/usr/hwpf/hwp/occ/occ_common.H
@@ -27,6 +27,7 @@
#include <limits.h>
#include <errl/errlentry.H>
+#include <diag/prdf/prdfWriteHomerFirData.H>
namespace HBOCC
{
@@ -69,7 +70,19 @@ namespace HBOCC
// FIR Master
NOT_FIR_MASTER = 0x00000000,
- IS_FIR_MASTER = 0x00000001
+ IS_FIR_MASTER = 0x00000001,
+
+ // SRAM Address for OCC Main App
+ OCC_SRAM_ADDRESS = 0xFFF80000,
+
+ // SRAM Address and length for FIR HOMER data
+ OCC_SRAM_FIR_DATA = 0xFFFF5000,
+ OCC_SRAM_FIR_LENGTH = 0x1000,
+
+ // offsets for OCC loading during IPL
+ OCC_OFFSET_IPL_FLAG = 0x82,
+ OCC_OFFSET_FREQ = 0x84,
+
};
enum occAction_t
@@ -78,7 +91,7 @@ namespace HBOCC
OCC_STOP,
};
/**
- * @brief Sets up OCC Host data
+ * @brief Sets up OCC Host data in Homer
*
* @param[in] i_proc: target processor to load
* @param[in] i_occHostDataVirtAddr Virtual
@@ -90,6 +103,19 @@ namespace HBOCC
errlHndl_t loadHostDataToHomer(TARGETING::Target* i_proc,
void* i_occHostDataVirtAddr);
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ /**
+ * @brief Sets up OCC Host data in SRAM
+ *
+ * @param[in] i_proc: target processor to load
+ * @param[in] i_curHW: enum indicating which HW is currently known
+ *
+ * @return errlHndl_t Error log Host data setup failed
+ */
+ errlHndl_t loadHostDataToSRAM(TARGETING::Target* i_proc,
+ const PRDF::HwInitialized_t i_curHw = PRDF::ALL_HARDWARE);
+#endif
+
/**
* @brief Execute procedures and steps required to load
* OCC data in a specified processor
@@ -101,12 +127,15 @@ namespace HBOCC
* proc's OCC image int the homer
* @param[in] i_commonPhysAddr: Physical address of common
* OCC region
+ * @param[in] i_useSRAM: bool - use SRAM for OCC image, ie during IPL
+ * true if duringIPL, false if at end of IPL (default)
* @return errlHndl_t Error log if loadOCC failed
*/
errlHndl_t loadOCC(TARGETING::Target* i_target,
uint64_t i_occImgPaddr,
uint64_t i_occImgVaddr,
- uint64_t i_commonPhysAddr);
+ uint64_t i_commonPhysAddr,
+ bool i_useSRAM = false);
/**
* @brief Start OCC for specified DCM pair of processors.
diff --git a/src/include/usr/hwpf/hwpf_reasoncodes.H b/src/include/usr/hwpf/hwpf_reasoncodes.H
index 4ef403eb8..80178275d 100644
--- a/src/include/usr/hwpf/hwpf_reasoncodes.H
+++ b/src/include/usr/hwpf/hwpf_reasoncodes.H
@@ -83,6 +83,7 @@ namespace fapi
MOD_GET_WOF_FREQ_UPLIFT_SELECTED = 0x29,
MOD_SET_NEST_FREQ = 0x2A,
MOD_FIND_MAX_DMI_SPD = 0x2B,
+ MOD_OCC_LOAD_HOST_DATA_TO_SRAM = 0x2C,
};
/**
@@ -143,6 +144,7 @@ namespace fapi
RC_NO_SINGLE_NODE = HWPF_COMP_ID | 0x3A,
RC_INVALID_ULTRA_TURBO_FREQ = HWPF_COMP_ID | 0x3B,
RC_INVALID_WOF_INDEX = HWPF_COMP_ID | 0x3C,
+ RC_ECMD_INSERT_FAILED = HWPF_COMP_ID | 0x3D,
};
/**
diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H
index 8b55f23a0..761b1f662 100644
--- a/src/include/usr/isteps/istep06list.H
+++ b/src/include/usr/isteps/istep06list.H
@@ -162,6 +162,9 @@ const DepModInfo g_istep06Dependancies = {
DEP_LIB(libpstates.so),
DEP_LIB(libcore_activate.so),
DEP_LIB(libsecure_boot.so),
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ DEP_LIB(libocc.so),
+#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep08list.H b/src/include/usr/isteps/istep08list.H
index 0a721c694..90f91f8d5 100644
--- a/src/include/usr/isteps/istep08list.H
+++ b/src/include/usr/isteps/istep08list.H
@@ -122,6 +122,9 @@ const DepModInfo g_istep08Dependancies = {
DEP_LIB(libslave_sbe.so),
DEP_LIB(libsbe.so),
DEP_LIB(libbuild_winkle_images.so),
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ DEP_LIB(libocc.so),
+#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep10list.H b/src/include/usr/isteps/istep10list.H
index 3dace26bb..86f12366f 100644
--- a/src/include/usr/isteps/istep10list.H
+++ b/src/include/usr/isteps/istep10list.H
@@ -170,6 +170,9 @@ const DepModInfo g_istep10Dependancies = {
DEP_LIB(libsbe.so),
DEP_LIB(libproc_hwreconfig.so),
DEP_LIB(libslave_sbe.so),
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ DEP_LIB(libocc.so),
+#endif
#endif
NULL
}
diff --git a/src/include/usr/isteps/istep14list.H b/src/include/usr/isteps/istep14list.H
index d4ebcd88f..b8da1fab3 100644
--- a/src/include/usr/isteps/istep14list.H
+++ b/src/include/usr/isteps/istep14list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -129,6 +129,9 @@ const DepModInfo g_istep14Dependancies = {
DEP_LIB(libdram_training.so),
DEP_LIB(libdump.so),
DEP_LIB(libnest_chiplets.so),
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ DEP_LIB(libocc.so),
+#endif
#endif
NULL
}
diff --git a/src/include/usr/isteps/istep16list.H b/src/include/usr/isteps/istep16list.H
index 1dc968c18..bde62884e 100644
--- a/src/include/usr/isteps/istep16list.H
+++ b/src/include/usr/isteps/istep16list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -91,6 +91,9 @@ const DepModInfo g_istep16Dependancies = {
DEP_LIB(libcore_activate.so),
DEP_LIB(libbuild_winkle_images.so),
DEP_LIB(libnest_chiplets.so),
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ DEP_LIB(libocc.so),
+#endif
NULL
}
};
OpenPOWER on IntegriCloud