diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2016-11-22 09:59:07 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-01-04 21:10:58 -0500 |
commit | b2e82859d8551ef4ee4c6e270794b2fd2d5ad3a4 (patch) | |
tree | e88615621e295ee80b830537936b6633d3ee2003 /src/include/usr/isteps/pm | |
parent | 1c93d08e53678c1767a4b016dee32380aedd514a (diff) | |
download | talos-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.H | 40 |
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 |