summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2017-11-17 13:45:03 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-11-21 12:24:15 -0500
commit18cc0dfbc93fd2342c5a35f3c8405e1d0a660a77 (patch)
treef85b3326ebc77e332795385eb4617cd200c989e4 /src
parentdfdf4bee880f30dd5aefa3cfba70801ad78c760b (diff)
downloadtalos-hostboot-18cc0dfbc93fd2342c5a35f3c8405e1d0a660a77.tar.gz
talos-hostboot-18cc0dfbc93fd2342c5a35f3c8405e1d0a660a77.zip
Zeppelin BUP updates
- targeting: skip over ATTR_BAD_DQ_BITMAP during fapi attriubte dump as it is not looked up correctly for cumulus. Need to add it back in future. - istep changes: - remove p9_throttle_sync from istep 13, it is already getting called in istep 14 - add support for memdiags on cumulus - centaur pibrc errors: mask out PROTECTION_BIT for centaur scoms as it is irrelevant for centaurs - configureHbrtHypIds: correctly setup DMI information Change-Id: Ifeaca2f58e16b7ecac9e1329409b98bc6a2f38e7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49382 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Thomas R. Sand <trsand@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/fapi2/attribute_service.C13
-rw-r--r--src/usr/fapi2/plat_attr_override_sync.C10
-rw-r--r--src/usr/fsiscom/fsiscom.C12
-rw-r--r--src/usr/isteps/istep06/host_discover_targets.C1
-rw-r--r--src/usr/isteps/istep13/call_mss_scominit.C43
-rw-r--r--src/usr/isteps/istep14/call_mss_memdiag.C11
-rw-r--r--src/usr/runtime/customize_attrs_for_payload.C10
-rw-r--r--src/usr/targeting/common/target.C1
8 files changed, 29 insertions, 72 deletions
diff --git a/src/usr/fapi2/attribute_service.C b/src/usr/fapi2/attribute_service.C
index 5b4aa93b0..2bd43d2e4 100644
--- a/src/usr/fapi2/attribute_service.C
+++ b/src/usr/fapi2/attribute_service.C
@@ -588,16 +588,6 @@ ReturnCode __getMcsAndPortSlct( const Target<TARGET_TYPE_DIMM>& i_fapiDimm,
break;
}
- // Get the MCS.
- TARGETING::TargetHandleList l_memBufList;
- getParentAffinityTargets( l_memBufList, l_port,
- TARGETING::CLASS_CHIP, TARGETING::TYPE_MEMBUF );
-
- TARGETING::TargetHandleList l_mcsList;
- getParentAffinityTargets( l_mcsList, l_memBufList[0],
- TARGETING::CLASS_UNIT, TARGETING::TYPE_MCS );
- o_mcsTarget = l_mcsList[0];
-
}
// If the proc is Nimbus, we need to get the MCA.
else
@@ -1684,9 +1674,6 @@ ReturnCode platGetMBvpdAttr(
const size_t i_valSize
)
{
- FAPI_INF("platGetMBvpdAttr: Enter");
- FAPI_INF("platGetMBvpdAttr: Attr: 0x%08X", i_attr);
-
ReturnCode rc;
constexpr bool hbSwError{true};
diff --git a/src/usr/fapi2/plat_attr_override_sync.C b/src/usr/fapi2/plat_attr_override_sync.C
index e978dbb39..e96e9f080 100644
--- a/src/usr/fapi2/plat_attr_override_sync.C
+++ b/src/usr/fapi2/plat_attr_override_sync.C
@@ -787,9 +787,13 @@ void AttrOverrideSync::triggerAttrSync(fapi2::TargetType i_type,
for(size_t i = 0; i < l_elems; i++)
{
+ //#@TODO RTC: 182602 -- Need to scrub through attributes for dimm target
+ //For now, just skipping over BAD_DQ_BITMAP as it does not have a valid
+ //lookup for cumulus
//Look for specific ATTR
- if((i_attrHash!= 0x0) && //looking for specific ATTR
- (i_attrHash != l_attrs[i].iv_attrId))
+ if(((i_attrHash!= 0x0) && //looking for specific ATTR
+ (i_attrHash != l_attrs[i].iv_attrId)) ||
+ (l_attrs[i].iv_attrId == fapi2::ATTR_BAD_DQ_BITMAP))
{
continue;
}
@@ -806,7 +810,7 @@ void AttrOverrideSync::triggerAttrSync(fapi2::TargetType i_type,
if(l_bytes > KILOBYTE)
{
FAPI_INF("triggerAttrSync: ATTR %x bigger [%x] than 1K... skipping",
- l_bytes);
+ l_attrs[i].iv_attrId, l_bytes);
continue;
}
l_buf = reinterpret_cast<uint8_t *>(realloc(l_buf, l_bytes));
diff --git a/src/usr/fsiscom/fsiscom.C b/src/usr/fsiscom/fsiscom.C
index 3db2e691f..9a35c9b62 100644
--- a/src/usr/fsiscom/fsiscom.C
+++ b/src/usr/fsiscom/fsiscom.C
@@ -191,6 +191,7 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType,
bool need_unlock = false;
size_t op_size = sizeof(uint32_t);
mutex_t* l_mutex = NULL;
+ uint32_t l_any_error_bits = ANY_ERROR_BIT;
do{
@@ -247,6 +248,13 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType,
l_command = static_cast<uint32_t>(l_scomAddr & 0x000000007FFFFFFF);
+ if (i_target->getAttr<TARGETING::ATTR_TYPE>() == TARGETING::TYPE_MEMBUF)
+ {
+ //Protection bit is irrelevant for membuf chips
+ l_any_error_bits &= ~PROTECTION_CHECK;
+ }
+
+
// use the chip-specific mutex attribute
l_mutex = i_target->getHbMutexAttr<TARGETING::ATTR_FSI_SCOM_MUTEX>();
@@ -309,7 +317,7 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType,
}
// Check the status reg for errors
- if( l_status & ANY_ERROR_BIT )
+ if( l_status & l_any_error_bits )
{
TRACFCOMP( g_trac_fsiscom, ERR_MRK"fsiScomPerformOp:Write: PCB/PIB error received: l_status=0x%X)", l_status);
/*@
@@ -375,7 +383,7 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType,
}
// Check the status reg for errors
- if( l_status & ANY_ERROR_BIT )
+ if( l_status & l_any_error_bits )
{
TRACFCOMP( g_trac_fsiscom, ERR_MRK"fsiScomPerformOp:Read: PCB/PIB error received: l_status=0x%0.8X)", l_status);
diff --git a/src/usr/isteps/istep06/host_discover_targets.C b/src/usr/isteps/istep06/host_discover_targets.C
index 26ebc57af..f503576b8 100644
--- a/src/usr/isteps/istep06/host_discover_targets.C
+++ b/src/usr/isteps/istep06/host_discover_targets.C
@@ -146,6 +146,7 @@ void print_system_info(void)
//Add all the target types that you want to see in the output to this vector
types_to_print.push_back(TARGETING::TYPE_PROC);
+ types_to_print.push_back(TARGETING::TYPE_MEMBUF);
types_to_print.push_back(TARGETING::TYPE_MCS);
types_to_print.push_back(TARGETING::TYPE_MCA);
types_to_print.push_back(TARGETING::TYPE_MCBIST);
diff --git a/src/usr/isteps/istep13/call_mss_scominit.C b/src/usr/isteps/istep13/call_mss_scominit.C
index 783ae2a97..966bde9fa 100644
--- a/src/usr/isteps/istep13/call_mss_scominit.C
+++ b/src/usr/isteps/istep13/call_mss_scominit.C
@@ -160,49 +160,6 @@ void* call_mss_scominit (void *io_pArgs)
break;
}
- // Run proc throttle sync
- // Get all functional proc chip targets
- TARGETING::TargetHandleList l_cpuTargetList;
- getAllChips(l_cpuTargetList, TYPE_PROC);
-
- for (const auto & l_procChip: l_cpuTargetList)
- {
- const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
- l_fapi_cpu_target(l_procChip);
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running p9_throttle_sync HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_procChip));
-
- // Call proc_throttle_sync
- FAPI_INVOKE_HWP( l_err, p9_throttle_sync, l_fapi_cpu_target );
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: p9_throttle_sync HWP returns error",
- l_err->reasonCode());
-
- // Capture the target data in the elog
- ErrlUserDetailsTarget(l_procChip).addToLog(l_err);
-
- // Create IStep error log and cross reference
- // to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
-
- break;
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS running p9_throttle_sync HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_procChip));
- }
- }
-
} while (0);
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit exit" );
diff --git a/src/usr/isteps/istep14/call_mss_memdiag.C b/src/usr/isteps/istep14/call_mss_memdiag.C
index 949cd731f..46793b35d 100644
--- a/src/usr/isteps/istep14/call_mss_memdiag.C
+++ b/src/usr/isteps/istep14/call_mss_memdiag.C
@@ -143,12 +143,11 @@ void* call_mss_memdiag (void* io_pArgs)
}
else if ( MODEL_CUMULUS == procType )
{
-//@TODO RTC:175770
-// TargetHandleList trgtList; getAllChiplets( trgtList, TYPE_MBA );
-//
-// // Start Memory Diagnostics
-// errl = __runMemDiags( trgtList );
-// if ( nullptr != errl ) break;
+ TargetHandleList trgtList; getAllChiplets( trgtList, TYPE_MBA );
+
+ // Start Memory Diagnostics
+ errl = __runMemDiags( trgtList );
+ if ( nullptr != errl ) break;
// No need to unmask or turn off FIFO. That is already contained
// within the other Centaur HWPs.
diff --git a/src/usr/runtime/customize_attrs_for_payload.C b/src/usr/runtime/customize_attrs_for_payload.C
index 390f09965..88be0ebc4 100644
--- a/src/usr/runtime/customize_attrs_for_payload.C
+++ b/src/usr/runtime/customize_attrs_for_payload.C
@@ -406,17 +406,17 @@ errlHndl_t configureHbrtHypIds(const bool i_configForPhyp)
getParentAffinityTargets(targetList,
(*pIt),
TARGETING::CLASS_UNIT,
- TARGETING::TYPE_MCS);
+ TARGETING::TYPE_DMI, false);
assert( !targetList.empty() );
- auto mcs_target = targetList[0];
- auto pos = mcs_target->getAttr<TARGETING::ATTR_CHIP_UNIT>();
+ auto dmi_target = targetList[0];
+ auto pos = dmi_target->getAttr<TARGETING::ATTR_CHIP_UNIT>();
targetList.clear();
getParentAffinityTargets(targetList,
- mcs_target,
+ dmi_target,
TARGETING::CLASS_CHIP,
- TARGETING::TYPE_PROC);
+ TARGETING::TYPE_PROC, false);
assert( !targetList.empty() );
auto procTarget = targetList[0];
diff --git a/src/usr/targeting/common/target.C b/src/usr/targeting/common/target.C
index fb651a27b..49e94e820 100644
--- a/src/usr/targeting/common/target.C
+++ b/src/usr/targeting/common/target.C
@@ -501,6 +501,7 @@ void Target::getAttrTankTargetPosData(uint16_t & o_pos,
}
else if ((l_element.type == TYPE_L4) ||
(l_element.type == TYPE_MBA) ||
+ (l_element.type == TYPE_MC) ||
(l_element.type == TYPE_XBUS) ||
(l_element.type == TYPE_ABUS) ||
(l_element.type == TYPE_EQ) ||
OpenPOWER on IntegriCloud