summaryrefslogtreecommitdiffstats
path: root/src/include/usr/isteps/pm
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2016-11-22 09:59:07 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-01-04 21:10:58 -0500
commitb2e82859d8551ef4ee4c6e270794b2fd2d5ad3a4 (patch)
treee88615621e295ee80b830537936b6633d3ee2003 /src/include/usr/isteps/pm
parent1c93d08e53678c1767a4b016dee32380aedd514a (diff)
downloadtalos-hostboot-b2e82859d8551ef4ee4c6e270794b2fd2d5ad3a4.tar.gz
talos-hostboot-b2e82859d8551ef4ee4c6e270794b2fd2d5ad3a4.zip
Start PM Complex during IPL for OPAL
- load/start PM complex in istep21 - make some rt_pm functions common - load/start PM by default in HB standalone - load OCC image into PNOR - fix bug in UtilLidMgr - add patch for p9n.act bug Change-Id: I6c41934cf1614018da7dcad67573c3edc2d081b6 RTC:159931 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32918 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/isteps/pm')
-rw-r--r--src/include/usr/isteps/pm/pm_common_ext.H40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/include/usr/isteps/pm/pm_common_ext.H b/src/include/usr/isteps/pm/pm_common_ext.H
index bd8e87633..be7e9e9b0 100644
--- a/src/include/usr/isteps/pm/pm_common_ext.H
+++ b/src/include/usr/isteps/pm/pm_common_ext.H
@@ -30,6 +30,23 @@
namespace HBPM
{
/**
+ * @brief Enumeration of the load PM complex mode
+ * LOAD == i_mode
+ * - Call pm_reset first
+ * - Load OCC lid, write OCC config data, build Pstate
+ * Parameter Blocks, and load Hcode reference image lid
+ * RELOAD == i_mode
+ * - Reload OCC lid, rewrite OCC config data, build Pstate
+ * Parameter Blocks, and rebuild Hcode
+ */
+ enum loadPmMode
+ {
+ PM_LOAD = 0x0,
+ PM_RELOAD = 0x1,
+ PM_UNKNOWN = 0xFF,
+ };
+
+ /**
* @brief Convert HOMER physical address space to a vitual address
* @param[in] i_proc_target Processsor target
* @param[in] i_phys_addr Physical address
@@ -38,6 +55,29 @@ namespace HBPM
void *convertHomerPhysToVirt( TARGETING::Target* i_proc_target,
uint64_t i_phys_addr);
+ /**
+ * @brief Load PM Complex for all proc targets.
+ *
+ * @param[in] i_mode Load / Reload
+ *
+ * @return errlHndl_t Error log of loadPMAll failed
+ */
+ errlHndl_t loadPMAll(loadPmMode i_mode);
+
+ /**
+ * @brief Start PM Complex for all proc targets.
+ *
+ * @return errlHndl_t Error log if startPMAll failed
+ */
+ errlHndl_t startPMAll();
+
+ /**
+ * @brief Reset PM Complex for all proc targets.
+ *
+ * @return errlHndl_t Error log if resetPMAll failed
+ */
+ errlHndl_t resetPMAll();
+
} //namespace HBPM ends
#endif
OpenPOWER on IntegriCloud