diff options
author | Shelton Leung <sleung@us.ibm.com> | 2016-08-18 10:38:08 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-08-24 18:35:41 -0400 |
commit | 0bda5cc9ed1d3c53f6cef3e3a81189bd7e9ff511 (patch) | |
tree | 140deefaaa901685a0e64d64d1e93426245fe030 /src | |
parent | 6652a103b87e8ea4596724765aab152b02c4739b (diff) | |
download | talos-hostboot-0bda5cc9ed1d3c53f6cef3e3a81189bd7e9ff511.tar.gz talos-hostboot-0bda5cc9ed1d3c53f6cef3e3a81189bd7e9ff511.zip |
changed scan target to TARGET_TYPE_PROC_CHIP and put MC23 instances as well.
Change-Id: Ic4ac0201fc414f22b8e338e8e748266de120cd31
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28467
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian R. Silver <bsilver@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28486
Reviewed-by: Hostboot Team <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')
3 files changed, 134 insertions, 13 deletions
diff --git a/src/import/chips/p9/initfiles/p9.mc.scan.initfile b/src/import/chips/p9/initfiles/p9.mc.scan.initfile index 4a9a9cce5..e0ba866ed 100644 --- a/src/import/chips/p9/initfiles/p9.mc.scan.initfile +++ b/src/import/chips/p9/initfiles/p9.mc.scan.initfile @@ -1,14 +1,7 @@ SyntaxVersion = 3 -target_type 0 TARGET_TYPE_MCBIST; +target_type 0 TARGET_TYPE_PROC_CHIP; -# RELIC FROM sample.mc.scan.initfile -# unconditional idial, test binary data input -## TODO: test when side eCMD release available (supporting putspy to mcbist target type) -# ispy MCP.PORT0.WRITE.ASYNC_INJ [when=L] { -# spyv; -# 0b101; -# } ########################## # DD1 WORKAROUNDS @@ -16,6 +9,7 @@ target_type 0 TARGET_TYPE_MCBIST; # FOR DD1 Prefetch Limit needs to be scan init to 0 because SCOM is broken (HW366248) # Always OR-ed with previous value. Essentially we can only set bits, not clear. So we want to scan init to 0. +# these are n1 n3 ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { spyv; 0b000000; @@ -32,9 +26,26 @@ ispy MC01.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { spyv; 0b000000; } +ispy MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { + spyv; + 0b000000; +} +ispy MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { + spyv; + 0b000000; +} +ispy MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { + spyv; + 0b000000; +} +ispy MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L] { + spyv; + 0b000000; +} # Static hpc_wr/ig_wr CL reservation # Complicated order dependent sequence to do with SCOMs, easier with scans +# these are n1 n3 ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { spyv; 8; @@ -51,5 +62,19 @@ ispy MC01.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { spyv; 8; } - - +ispy MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { + spyv; + 8; +} +ispy MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { + spyv; + 8; +} +ispy MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { + spyv; + 8; +} +ispy MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] { + spyv; + 8; +} diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.C index 6f709d4e6..c36f85c8e 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.C @@ -32,7 +32,7 @@ using namespace fapi2; constexpr auto literal_0b000000 = 0b000000; constexpr auto literal_8 = 8; -fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT0) +fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0) { fapi2::ReturnCode l_rc = 0; @@ -87,6 +87,54 @@ fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT } } { + fapi2::variable_buffer l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT(6); + l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT.insertFromRight<uint64_t>(literal_0b000000, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT", + l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT(6); + l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT.insertFromRight<uint64_t>(literal_0b000000, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT", + l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT(6); + l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT.insertFromRight<uint64_t>(literal_0b000000, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT", + l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT(6); + l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT.insertFromRight<uint64_t>(literal_0b000000, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT", + l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_PREFETCH_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT)"); + break; + } + } + { fapi2::variable_buffer l_MC01_PORT0_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT(6); l_MC01_PORT0_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT.insertFromRight<uint64_t>(literal_8, 0, 6); l_rc = fapi2::putSpy(TGT0, "MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT", @@ -134,6 +182,54 @@ fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT break; } } + { + fapi2::variable_buffer l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT(6); + l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT.insertFromRight<uint64_t>(literal_8, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT", + l_MC23_PORT0_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT(6); + l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT.insertFromRight<uint64_t>(literal_8, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT", + l_MC23_PORT1_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT(6); + l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT.insertFromRight<uint64_t>(literal_8, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT", + l_MC23_PORT2_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT)"); + break; + } + } + { + fapi2::variable_buffer l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT(6); + l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT.insertFromRight<uint64_t>(literal_8, 0, 6); + l_rc = fapi2::putSpy(TGT0, "MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT", + l_MC23_PORT3_ATCL_CL_CLSCOM_MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putSpy (MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT)"); + break; + } + } } while (0); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.H index 9be6997e5..23480ea16 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mc_scan.H @@ -35,12 +35,12 @@ p9_mc_scan(TGT0); #endif -typedef fapi2::ReturnCode (*p9_mc_scan_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>&); +typedef fapi2::ReturnCode (*p9_mc_scan_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { - fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT0); + fapi2::ReturnCode p9_mc_scan(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0); } |