summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/pm
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2016-07-21 11:02:29 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-11-15 23:41:46 -0500
commit3c4936bcc01d3060aa5656cea03970bbb00f6371 (patch)
tree2f43813a0e2c2f92bad2fb8fa9d51e1779852af6 /src/usr/isteps/pm
parent65c1a0cb72f7daa85a7e5d37dce6c27cbf2042d7 (diff)
downloadtalos-hostboot-3c4936bcc01d3060aa5656cea03970bbb00f6371.tar.gz
talos-hostboot-3c4936bcc01d3060aa5656cea03970bbb00f6371.zip
PM: Customization of CME and SGPE rings in HOMER.
- Extracts rings from hardware image and VPD and stashes in to a temp buffer using HWP p9_xip_customize. Subsequently, using TOR API creates a fresh and leaner layout of scan rings in HOMER. - Implements a debug infrastructure to verify the scan ring layout in HOMER. - Implemented scan ring overrides for core common and cache common rings. - Introduces size check for various sections of HOMER. Change-Id: I8d7785f632823c31077bd4f320c453129be4ef0c RTC:157954 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27697 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Dev-Ready: Michael S. Floyd <mfloyd@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27699 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/pm')
-rw-r--r--src/usr/isteps/pm/pm.mk60
-rw-r--r--src/usr/isteps/pm/pm_common.C4
2 files changed, 39 insertions, 25 deletions
diff --git a/src/usr/isteps/pm/pm.mk b/src/usr/isteps/pm/pm.mk
index 849dfdf41..e900fa345 100644
--- a/src/usr/isteps/pm/pm.mk
+++ b/src/usr/isteps/pm/pm.mk
@@ -33,8 +33,12 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/pmlib/include/registers/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/lib/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/utils/stopreg/
-HWP_PATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/pm
-EXTRAINCDIR += ${HWP_PATH}
+HWP_PM_PATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/pm
+EXTRAINCDIR += ${HWP_PM_PATH}
+HWP_CUST_PATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/customize
+EXTRAINCDIR += ${HWP_CUST_PATH}
+HWP_ACC_PATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/accessors
+EXTRAINCDIR += ${HWP_ACC_PATH}
HWP_XIP_PATH += ${ROOTPATH}/src/import/chips/p9/xip
EXTRAINCDIR += ${HWP_XIP_PATH}
HWP_IMAGEPROCS_PATH += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
@@ -49,35 +53,41 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/isteps/
OBJS += pm_common.o
## NOTE: add a new directory onto the vpaths when you add a new HWP
-VPATH += ${HWP_PATH} ${HWP_XIP_PATH} ${HWP_IMAGEPROCS_PATH}
+VPATH += ${HWP_PM_PATH} ${HWP_CUST_PATH} ${HWP_ACC_PATH}
+VPATH += ${HWP_XIP_PATH} ${HWP_IMAGEPROCS_PATH}
# TODO RTC: 164237
# Take another look at PM lib
include ${ROOTPATH}/procedure.rules.mk
-include ${HWP_PATH}/p9_pm_pba_bar_config.mk
-include ${HWP_PATH}/p9_pm_pba_init.mk
-include ${HWP_PATH}/p9_pm_pba_firinit.mk
-include ${HWP_PATH}/p9_pm_utils.mk
-include ${HWP_PATH}/p9_pm_ocb_init.mk
-include ${HWP_PATH}/p9_pm_ocb_indir_setup_linear.mk
-include ${HWP_PATH}/p9_pm_ocb_indir_access.mk
-include ${HWP_PATH}/p9_pm_init.mk
-include ${HWP_PATH}/p9_pm_occ_control.mk
-include ${HWP_PATH}/p9_pm_occ_firinit.mk
-include ${HWP_PATH}/p9_pm_corequad_init.mk
-include ${HWP_PATH}/p9_pm_firinit.mk
-include ${HWP_PATH}/p9_pm_pss_init.mk
-include ${HWP_PATH}/p9_pm_cme_firinit.mk
-include ${HWP_PATH}/p9_hcode_image_build.mk
-include ${HWP_PATH}/p9_pm_stop_gpe_init.mk
-include ${HWP_PATH}/p9_pm_pfet_init.mk
-include ${HWP_PATH}/p9_pm_reset.mk
-include ${HWP_PATH}/p9_pm_occ_sram_init.mk
-include ${HWP_PATH}/p9_pm_occ_gpe_init.mk
-include ${HWP_PATH}/p9_pm_ppm_firinit.mk
-include ${HWP_PATH}/p9_pm_ocb_indir_setup_circular.mk
+include ${HWP_PM_PATH}/p9_pm_pba_bar_config.mk
+include ${HWP_PM_PATH}/p9_pm_pba_init.mk
+include ${HWP_PM_PATH}/p9_pm_pba_firinit.mk
+include ${HWP_PM_PATH}/p9_pm_utils.mk
+include ${HWP_PM_PATH}/p9_pm_ocb_init.mk
+include ${HWP_PM_PATH}/p9_pm_ocb_indir_setup_linear.mk
+include ${HWP_PM_PATH}/p9_pm_ocb_indir_access.mk
+include ${HWP_PM_PATH}/p9_pm_init.mk
+include ${HWP_PM_PATH}/p9_pm_occ_control.mk
+include ${HWP_PM_PATH}/p9_pm_occ_firinit.mk
+include ${HWP_PM_PATH}/p9_pm_corequad_init.mk
+include ${HWP_PM_PATH}/p9_pm_firinit.mk
+include ${HWP_PM_PATH}/p9_pm_pss_init.mk
+include ${HWP_PM_PATH}/p9_pm_cme_firinit.mk
+include ${HWP_PM_PATH}/p9_hcode_image_build.mk
+include ${HWP_PM_PATH}/p9_pm_stop_gpe_init.mk
+include ${HWP_PM_PATH}/p9_pm_pfet_init.mk
+include ${HWP_PM_PATH}/p9_pm_reset.mk
+include ${HWP_PM_PATH}/p9_pm_occ_sram_init.mk
+include ${HWP_PM_PATH}/p9_pm_occ_gpe_init.mk
+include ${HWP_PM_PATH}/p9_pm_ppm_firinit.mk
+include ${HWP_PM_PATH}/p9_pm_ocb_indir_setup_circular.mk
+include ${HWP_PM_PATH}/p9_scan_ring_util.mk
+include ${HWP_CUST_PATH}/p9_xip_customize.mk
+include ${HWP_ACC_PATH}/p9_get_mvpd_ring.mk
+include ${HWP_ACC_PATH}/p9_mvpd_ring_funcs.mk
include ${HWP_XIP_PATH}/p9_xip_image.mk
include ${HWP_IMAGEPROCS_PATH}/p9_tor.mk
include ${HWP_IMAGEPROCS_PATH}/p9_ring_identification.mk
include ${HWP_IMAGEPROCS_PATH}/p9_ringId.mk
+include ${HWP_IMAGEPROCS_PATH}/p9_scan_compression.mk
diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C
index b302247fa..9bfb7c20b 100644
--- a/src/usr/isteps/pm/pm_common.C
+++ b/src/usr/isteps/pm/pm_common.C
@@ -281,6 +281,7 @@ namespace HBPM
void *l_buffer0 = (void*)malloc(HW_IMG_RING_SIZE);
void *l_buffer1 = (void*)malloc(HW_IMG_RING_SIZE);
+ void *l_buffer2 = (void*)malloc(HW_IMG_RING_SIZE);
do
{
@@ -353,6 +354,8 @@ namespace HBPM
l_buffer0,
HW_IMG_RING_SIZE,
l_buffer1,
+ HW_IMG_RING_SIZE,
+ l_buffer2,
HW_IMG_RING_SIZE );
if (l_errl)
@@ -441,6 +444,7 @@ namespace HBPM
free(l_buffer0);
free(l_buffer1);
+ free(l_buffer2);
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
EXIT_MRK"loadHcode: RC=0x%X, PLID=0x%lX",
OpenPOWER on IntegriCloud