summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2017-08-08 14:57:42 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-15 17:19:15 -0400
commit97c6fb65b1006ade6de7f1556338bee1d4058c0d (patch)
treee451b9a963b692cfa811eaf10e9d1af80c13887b /src/include
parentd4b1ce2e57c1c7889903f7781a0076070292f7e8 (diff)
downloadtalos-hostboot-97c6fb65b1006ade6de7f1556338bee1d4058c0d.tar.gz
talos-hostboot-97c6fb65b1006ade6de7f1556338bee1d4058c0d.zip
fapi2 targets: added support for cumulus and centaur
Change-Id: I2cc4f1c0e484b5365fa4c32cd66258ac825d4344 RTC:176071 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44377 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: SWATHI M. BHATTIPROLU <bhmadhur@in.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/fapi2/target.H28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/include/usr/fapi2/target.H b/src/include/usr/fapi2/target.H
index 938de0161..63024468e 100644
--- a/src/include/usr/fapi2/target.H
+++ b/src/include/usr/fapi2/target.H
@@ -235,6 +235,9 @@ inline TARGETING::TYPE convertFapi2TypeToTargeting(fapi2::TargetType i_T)
case fapi2::TARGET_TYPE_PHB:
o_targetingType = TARGETING::TYPE_PHB;
break;
+ case fapi2::TARGET_TYPE_MC:
+ o_targetingType = TARGETING::TYPE_MC;
+ break;
default:
FAPI_ERR("convertFapi2TypeToTargeting:: Chiplet type not supported 0x%.8X!", i_T);
assert(false);
@@ -332,6 +335,9 @@ inline fapi2::TargetType convertTargetingTypeToFapi2(TARGETING::TYPE i_T)
case TARGETING::TYPE_PHB:
o_targetingType = fapi2::TARGET_TYPE_PHB;
break;
+ case TARGETING::TYPE_MC:
+ o_targetingType = fapi2::TARGET_TYPE_MC;
+ break;
default:
o_targetingType = fapi2::TARGET_TYPE_NONE;
break;
@@ -364,6 +370,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const
fapi2::TARGET_TYPE_EQ |
fapi2::TARGET_TYPE_MCA |
fapi2::TARGET_TYPE_MCBIST |
+ fapi2::TARGET_TYPE_MC |
fapi2::TARGET_TYPE_MI |
fapi2::TARGET_TYPE_CAPP |
fapi2::TARGET_TYPE_DMI |
@@ -389,6 +396,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const
fapi2::TARGET_TYPE_MCS |
fapi2::TARGET_TYPE_MCA |
fapi2::TARGET_TYPE_MI |
+ fapi2::TARGET_TYPE_MC |
fapi2::TARGET_TYPE_DMI |
fapi2::TARGET_TYPE_PEC |
fapi2::TARGET_TYPE_PHB;
@@ -491,20 +499,32 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const
(K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)),
"improper parent of fapi2::TARGET_TYPE_MCBIST");
+ // valid parents for MC
+ // MC -> PERV
+ // MC -> PROC
+ static_assert(!((T_SELF == fapi2::TARGET_TYPE_MC) &&
+ (K_PARENT != fapi2::TARGET_TYPE_PERV) &&
+ (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)),
+ "improper parent of fapi2::TARGET_TYPE_MC");
+
// valid parents for MI
+ // MI -> MC
// MI -> PERV
// MI -> PROC
static_assert(!((T_SELF == fapi2::TARGET_TYPE_MI) &&
+ (K_PARENT != fapi2::TARGET_TYPE_MC) &&
(K_PARENT != fapi2::TARGET_TYPE_PERV) &&
(K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)),
"improper parent of fapi2::TARGET_TYPE_MI");
// valid parents for DMI
// DMI -> MI
+ // DMI -> MC
// DMI -> PERV
// DMI -> PROC
static_assert(!((T_SELF == fapi2::TARGET_TYPE_DMI) &&
(K_PARENT != fapi2::TARGET_TYPE_MI) &&
+ (K_PARENT != fapi2::TARGET_TYPE_MC) &&
(K_PARENT != fapi2::TARGET_TYPE_PERV) &&
(K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)),
"improper parent of fapi2::TARGET_TYPE_DMI");
@@ -660,6 +680,7 @@ inline std::vector<Target<K_CHILD, V> >
// PERV -> MCA
// PERV -> PEC
// PERV -> PHB
+ // PERV -> MC
// PERV -> MI
// PERV -> DMI
static_assert(!((T_SELF == fapi2::TARGET_TYPE_PERV) &&
@@ -674,6 +695,7 @@ inline std::vector<Target<K_CHILD, V> >
(K_CHILD != fapi2::TARGET_TYPE_MCA) &&
(K_CHILD != fapi2::TARGET_TYPE_PEC) &&
(K_CHILD != fapi2::TARGET_TYPE_PHB) &&
+ (K_CHILD != fapi2::TARGET_TYPE_MC) &&
(K_CHILD != fapi2::TARGET_TYPE_MI) &&
(K_CHILD != fapi2::TARGET_TYPE_DMI)),
"improper child of fapi2::TARGET_TYPE_PERV");
@@ -731,6 +753,12 @@ inline std::vector<Target<K_CHILD, V> >
"improper child of fapi2::TARGET_TYPE_MCBIST");
// Cumulus Memory
+ // valid children for MC
+ // MC -> MI
+ static_assert(!((T_SELF == fapi2::TARGET_TYPE_MC) &&
+ (K_CHILD != fapi2::TARGET_TYPE_MI)),
+ "improper child of fapi2::TARGET_TYPE_MC");
+
// valid children for MI
// MI -> DMI
static_assert(!((T_SELF == fapi2::TARGET_TYPE_MI) &&
OpenPOWER on IntegriCloud