diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-08-03 14:47:23 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-08-08 16:06:34 -0500 |
commit | ffcc637cd404efcce9ec16bab48f3f50b32fb6a5 (patch) | |
tree | 68cec7112a165dce80062604054ddcaa50271b43 | |
parent | f8e8d7c203dcd6ff31459253ba42a3dbe970765e (diff) | |
download | talos-hostboot-ffcc637cd404efcce9ec16bab48f3f50b32fb6a5.tar.gz talos-hostboot-ffcc637cd404efcce9ec16bab48f3f50b32fb6a5.zip |
Base targeting support for OCMB chip and MEM_PORT chiplet
In Axone we are introducing a new memory buffer known as the Open
Capi Memory Buffer chip. On this chip will be a MEM_PORT chiplet(s)
which will connect to the DIMM. This completes the following picture
(it is expected OMIC, MCC, and OMI have been added already)
MI--MCC
/ \
Proc--MC < __ OMI--OCMB--MEM_PORT--DIMM
\ /
OMIC
Change-Id: I1a3e3d38978ce11fecee2ab11de83909eb440774
RTC:172970
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63911
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: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
-rw-r--r-- | src/include/usr/fapi2/target.H | 147 | ||||
-rw-r--r-- | src/usr/fapi2/plat_attr_override_sync.C | 6 | ||||
-rw-r--r-- | src/usr/fapi2/plat_utils.C | 15 | ||||
-rwxr-xr-x | src/usr/targeting/attroverride/attrTextToBinaryBlob.C | 2 | ||||
-rw-r--r-- | src/usr/targeting/common/entitypath.C | 4 | ||||
-rwxr-xr-x | src/usr/targeting/common/xmltohb/attribute_types.xml | 12 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 49 |
7 files changed, 200 insertions, 35 deletions
diff --git a/src/include/usr/fapi2/target.H b/src/include/usr/fapi2/target.H index 5cfa0bd31..540c1c325 100644 --- a/src/include/usr/fapi2/target.H +++ b/src/include/usr/fapi2/target.H @@ -247,6 +247,12 @@ inline TARGETING::TYPE convertFapi2TypeToTargeting(fapi2::TargetType i_T) case fapi2::TARGET_TYPE_MCC: o_targetingType = TARGETING::TYPE_MCC; break; + case fapi2::TARGET_TYPE_OCMB_CHIP: + o_targetingType = TARGETING::TYPE_OCMB_CHIP; + break; + case fapi2::TARGET_TYPE_MEM_PORT: + o_targetingType = TARGETING::TYPE_MEM_PORT; + break; default: FAPI_ERR("convertFapi2TypeToTargeting:: Chiplet type not supported 0x%.8X!", i_T); assert(false); @@ -356,6 +362,12 @@ inline fapi2::TargetType convertTargetingTypeToFapi2(TARGETING::TYPE i_T) case TARGETING::TYPE_MCC: o_targetingType = fapi2::TARGET_TYPE_MCC; break; + case TARGETING::TYPE_OCMB_CHIP: + o_targetingType = fapi2::TARGET_TYPE_OCMB_CHIP; + break; + case TARGETING::TYPE_MEM_PORT: + o_targetingType = fapi2::TARGET_TYPE_MEM_PORT; + break; default: o_targetingType = fapi2::TARGET_TYPE_NONE; break; @@ -381,7 +393,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // General compound chiplet check for proc parent - const fapi2::TargetType TARGET_TYPE_PROC_CHIPLETS = fapi2::TARGET_TYPE_EX | + const fapi2::TargetType TARGET_TYPE_PROC_CHILDREN = fapi2::TARGET_TYPE_EX | fapi2::TARGET_TYPE_MCS | fapi2::TARGET_TYPE_XBUS | fapi2::TARGET_TYPE_CORE | @@ -401,10 +413,11 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const fapi2::TARGET_TYPE_PPE | fapi2::TARGET_TYPE_PERV | fapi2::TARGET_TYPE_PEC | + fapi2::TARGET_TYPE_DIMM | fapi2::TARGET_TYPE_PHB; static_assert( !((K_PARENT == fapi2::TARGET_TYPE_PROC_CHIP) && - ((T_SELF & TARGET_TYPE_PROC_CHIPLETS) == fapi2::TARGET_TYPE_NONE)), + ((T_SELF & TARGET_TYPE_PROC_CHILDREN) == fapi2::TARGET_TYPE_NONE)), "fapi2::TARGET_TYPE_PROC_CHIP is not a valid parent" ); const fapi2::TargetType TARGET_TYPE_PERV_CHIPLETS = fapi2::TARGET_TYPE_EQ | @@ -432,11 +445,27 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // Specific parent checks for each TargetType // valid parents for DIMM + // DIMM -> MEMPORT + // DIMM -> OCMB + // DIMM -> OMI + // DIMM -> OMIC + // DIMM -> MCC + // DIMM -> MI + // DIMM -> MC + // DIMM -> PROC_CHIP // DIMM -> MCA // DIMM -> MBA - static_assert(!((T_SELF == fapi2::TARGET_TYPE_DIMM) && - (K_PARENT != fapi2::TARGET_TYPE_MCA) && - (K_PARENT != fapi2::TARGET_TYPE_MBA)), + static_assert(!((T_SELF == fapi2::TARGET_TYPE_DIMM) && + (K_PARENT != fapi2::TARGET_TYPE_MCA) && + (K_PARENT != fapi2::TARGET_TYPE_MBA) && + (K_PARENT != fapi2::TARGET_TYPE_OCMB_CHIP) && + (K_PARENT != fapi2::TARGET_TYPE_SYSTEM) && + (K_PARENT != fapi2::TARGET_TYPE_OMI) && + (K_PARENT != fapi2::TARGET_TYPE_MCC) && + (K_PARENT != fapi2::TARGET_TYPE_MI) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_OMIC) && + (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_DIMM"); // valid parents for PROC @@ -449,15 +478,53 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // MEMBUF -> SYSTEM // MEMBUF -> DMI static_assert(!((T_SELF == fapi2::TARGET_TYPE_MEMBUF_CHIP) && - (K_PARENT != fapi2::TARGET_TYPE_SYSTEM) && + (K_PARENT != fapi2::TARGET_TYPE_SYSTEM) && (K_PARENT != fapi2::TARGET_TYPE_DMI)), "improper parent of fapi2::TARGET_TYPE_MEMBUF_CHIP"); + // valid parents for OCMB + // OCMB -> SYSTEM + // OCMB -> OMI + // OCMB -> MCC + // OCMB -> MI + // OCMB -> MC + // OCMB -> OMIC + // OCMB -> PROC_CHIP + static_assert(!((T_SELF == fapi2::TARGET_TYPE_OCMB_CHIP) && + (K_PARENT != fapi2::TARGET_TYPE_SYSTEM) && + (K_PARENT != fapi2::TARGET_TYPE_OMI) && + (K_PARENT != fapi2::TARGET_TYPE_MCC) && + (K_PARENT != fapi2::TARGET_TYPE_MI) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_OMIC) && + (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), + "improper parent of fapi2::TARGET_TYPE_OCMB_CHIP"); + + // valid parents for MEM_PORT + // MEM_PORT -> SYSTEM + // MEM_PORT -> OCMB_CHIP + // MEM_PORT -> OMI + // MEM_PORT -> MCC + // MEM_PORT -> MI + // MEM_PORT -> MC + // MEM_PORT -> OMIC + // MEM_PORT -> PROC_CHIP + static_assert(!((T_SELF == fapi2::TARGET_TYPE_MEM_PORT) && + (K_PARENT != fapi2::TARGET_TYPE_SYSTEM) && + (K_PARENT != fapi2::TARGET_TYPE_OCMB_CHIP) && + (K_PARENT != fapi2::TARGET_TYPE_OMI) && + (K_PARENT != fapi2::TARGET_TYPE_MCC) && + (K_PARENT != fapi2::TARGET_TYPE_MI) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_OMIC) && + (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), + "improper parent of fapi2::TARGET_TYPE_MEM_PORT"); + // valid parents for EX // EX -> EQ // EX -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_EX) && - (K_PARENT != fapi2::TARGET_TYPE_EQ) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_EX) && + (K_PARENT != fapi2::TARGET_TYPE_EQ) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_EX"); @@ -488,9 +555,9 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // CORE -> EQ // CORE -> PERV // CORE -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_CORE) && - (K_PARENT != fapi2::TARGET_TYPE_EX) && - (K_PARENT != fapi2::TARGET_TYPE_EQ) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_CORE) && + (K_PARENT != fapi2::TARGET_TYPE_EX) && + (K_PARENT != fapi2::TARGET_TYPE_EQ) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_CORE"); @@ -498,7 +565,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // valid parents for EQ // EQ -> PROC // EQ -> PERV - static_assert(!((T_SELF == fapi2::TARGET_TYPE_EQ) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_EQ) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_EQ"); @@ -508,10 +575,10 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // MCA -> MCBIST // MCA -> PERV // MCA -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_MCA) && - (K_PARENT != fapi2::TARGET_TYPE_MCS) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_MCA) && + (K_PARENT != fapi2::TARGET_TYPE_MCS) && (K_PARENT != fapi2::TARGET_TYPE_MCBIST) && - (K_PARENT != fapi2::TARGET_TYPE_PERV) && + (K_PARENT != fapi2::TARGET_TYPE_PERV) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_MCA"); @@ -526,7 +593,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // valid parents for MC // MC -> PERV // MC -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_MC) && + 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"); @@ -535,8 +602,8 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // MI -> MC // MI -> PERV // MI -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_MI) && - (K_PARENT != fapi2::TARGET_TYPE_MC) && + 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"); @@ -546,10 +613,10 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // MCC -> MI // MCC -> MC // MCC -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_MCC) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_MCC) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && - (K_PARENT != fapi2::TARGET_TYPE_MI) && - (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_MI) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_MI"); @@ -560,11 +627,11 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // OMI -> MC // OMI -> OMIC // OMI -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_OMI) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_OMI) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && - (K_PARENT != fapi2::TARGET_TYPE_MCC) && - (K_PARENT != fapi2::TARGET_TYPE_MI) && - (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_MCC) && + (K_PARENT != fapi2::TARGET_TYPE_MI) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && (K_PARENT != fapi2::TARGET_TYPE_OMIC) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_MI"); @@ -573,9 +640,9 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // OMIC -> PERV // OMIC -> MC // OMIC -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_OMIC) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_MI) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && - (K_PARENT != fapi2::TARGET_TYPE_MC) && + (K_PARENT != fapi2::TARGET_TYPE_MC) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_OMIC"); @@ -584,9 +651,9 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // 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) && + 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"); @@ -636,7 +703,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // valid parents for OBUS // OBUS -> PERV // OBUS -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_OBUS) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_OBUS) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_OBUS"); @@ -654,7 +721,7 @@ inline Target<K_PARENT, V> Target<T_SELF, V>::getParent(void) const // valid parents for CAPP // CAPP -> PERV // CAPP -> PROC - static_assert(!((T_SELF == fapi2::TARGET_TYPE_CAPP) && + static_assert(!((T_SELF == fapi2::TARGET_TYPE_CAPP) && (K_PARENT != fapi2::TARGET_TYPE_PERV) && (K_PARENT != fapi2::TARGET_TYPE_PROC_CHIP)), "improper parent of fapi2::TARGET_TYPE_CAPP"); @@ -724,7 +791,6 @@ inline std::vector<Target<K_CHILD, V> > // invalid children for proc INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_NONE) INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_SYSTEM) - INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_DIMM) INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_PROC_CHIP) INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_MEMBUF_CHIP) INVALID_CHILD(fapi2::TARGET_TYPE_PROC_CHIP, fapi2::TARGET_TYPE_MBA) @@ -857,7 +923,20 @@ inline std::vector<Target<K_CHILD, V> > (K_CHILD != fapi2::TARGET_TYPE_OMI)), "improper child of fapi2::TARGET_TYPE_OMIC"); - // TODO RTC:172970 When OCMB is added we need to add getchild support for OMI targets + // valid children for OCMB + // OCMB -> MEM_PORT + // OCMB -> DIMM + static_assert(!((T_SELF == fapi2::TARGET_TYPE_OCMB_CHIP) && + (K_CHILD != fapi2::TARGET_TYPE_MEM_PORT) && + (K_CHILD != fapi2::TARGET_TYPE_DIMM)), + "improper child of fapi2::TARGET_TYPE_OCMB_CHIP"); + + // valid children for MEM_PORT + // MEM_PORT -> DIMM + static_assert(!((T_SELF == fapi2::TARGET_TYPE_MEM_PORT) && + (K_CHILD != fapi2::TARGET_TYPE_DIMM)), + "improper child of fapi2::TARGET_TYPE_MEM_PORT"); + // valid children for DMI // DMI -> MEMBUF diff --git a/src/usr/fapi2/plat_attr_override_sync.C b/src/usr/fapi2/plat_attr_override_sync.C index 8b72b4299..45c09924a 100644 --- a/src/usr/fapi2/plat_attr_override_sync.C +++ b/src/usr/fapi2/plat_attr_override_sync.C @@ -216,6 +216,12 @@ void directOverride() case fapi2::TARGET_TYPE_MCC: l_targetType = TARGETING::TYPE_MCC; break; + case fapi2::TARGET_TYPE_OCMB_CHIP: + l_targetType = TARGETING::TYPE_OCMB_CHIP; + break; + case fapi2::TARGET_TYPE_MEM_PORT: + l_targetType = TARGETING::TYPE_MEM_PORT; + break; default: l_targetType = TARGETING::TYPE_NA; } diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C index cb62eb45e..8851f982b 100644 --- a/src/usr/fapi2/plat_utils.C +++ b/src/usr/fapi2/plat_utils.C @@ -703,6 +703,14 @@ void xlateTargetType(const fapi2::TargetType i_targetType, o_class = TARGETING::CLASS_UNIT; o_type = TARGETING::TYPE_MCC; break; + case fapi2::TARGET_TYPE_OCMB_CHIP: + o_class = TARGETING::CLASS_CHIP; + o_type = TARGETING::TYPE_OCMB_CHIP; + break; + case fapi2::TARGET_TYPE_MEM_PORT: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_MEM_PORT; + break; default: o_class = TARGETING::CLASS_NA; o_type = TARGETING::TYPE_NA; @@ -752,6 +760,13 @@ bool isPhysParentChild(const TargetType i_parentType, l_result = true; } } + else if (i_parentType == TARGET_TYPE_OCMB_CHIP) + { + if ( (i_childType & (TARGET_TYPE_MEM_PORT)) != 0 ) + { + l_result = true; + } + } return l_result; } diff --git a/src/usr/targeting/attroverride/attrTextToBinaryBlob.C b/src/usr/targeting/attroverride/attrTextToBinaryBlob.C index ae0013b90..5b795e8e2 100755 --- a/src/usr/targeting/attroverride/attrTextToBinaryBlob.C +++ b/src/usr/targeting/attroverride/attrTextToBinaryBlob.C @@ -133,6 +133,8 @@ TargStrToType CHIP_UNIT_TYPE_TARG_STR_TO_TYPE [] = {"omi" , fapi2::TARGET_TYPE_OMI , TARGETING::TYPE_OMI}, {"omic" , fapi2::TARGET_TYPE_OMIC , TARGETING::TYPE_OMIC}, {"mcc" , fapi2::TARGET_TYPE_MCC , TARGETING::TYPE_MCC}, + {"ocmb" , fapi2::TARGET_TYPE_OCMB_CHIP , TARGETING::TYPE_OCMB_CHIP}, + {"memport" , fapi2::TARGET_TYPE_MEM_PORT , TARGETING::TYPE_MEM_PORT}, {"LAST" , 0 , 0} }; diff --git a/src/usr/targeting/common/entitypath.C b/src/usr/targeting/common/entitypath.C index 95e9ce10c..9697dde98 100644 --- a/src/usr/targeting/common/entitypath.C +++ b/src/usr/targeting/common/entitypath.C @@ -477,6 +477,10 @@ const char* EntityPath::pathElementTypeAsString( return "OMIC"; case TYPE_MCC: return "MCC"; + case TYPE_OCMB_CHIP: + return "OCBM_CHIP"; + case TYPE_MEM_PORT: + return "MEM_PORT"; // case TYPE_FSI_LINK: // return "FSI-link"; // case TYPE_CFAM: diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 1bc12de7a..0158ac626 100755 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -5090,8 +5090,15 @@ <value>74</value> </enumerator> <enumerator> - <name>LAST_IN_RANGE</name> + <name>OCMB_CHIP</name> <value>75</value> + </enumerator> <enumerator> + <name>MEM_PORT</name> + <value>76</value> + </enumerator> + <enumerator> + <name>LAST_IN_RANGE</name> + <value>77</value> </enumerator> <id>TYPE</id> </enumerationType> @@ -5130,6 +5137,9 @@ <value>48</value> </enumerator> <enumerator> + <name>EXPLORER</name> + </enumerator> + <enumerator> <name>JEDEC</name> <value>80</value> </enumerator> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index a868d5a47..9bc1a3fc7 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -331,6 +331,55 @@ <attribute><id>PRD_HWP_PLID</id></attribute> </targetType> +<!-- Generic OCMB --> +<targetType> + <id>chip-ocmb</id> + <parent>chip</parent> + <attribute> + <default>OCMB_CHIP</default> + <id>TYPE</id> + </attribute> + <attribute> + <default>1</default> + <id>DECONFIG_GARDABLE</id> + </attribute> + <attribute> + <default>0x00000033</default> + <id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> + </attribute> + <attribute> + <id>FRU_ID</id> + </attribute> +</targetType> + +<!-- Explorer OCMB --> +<targetType> + <id>chip-ocmb-explorer</id> + <parent>chip-ocmb</parent> + <attribute> + <default>EXPLORER</default> + <id>MODEL</id> + </attribute> +</targetType> + +<!-- mem_port --> +<targetType> + <id>unit-mem_port</id> + <parent>unit</parent> + <attribute> + <id>TYPE</id> + <default>MEM_PORT</default> + </attribute> + <attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute> + <attribute><id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> + <default>0x00000033</default> + </attribute> + <attribute> + <id>CDM_DOMAIN</id> + <default>MEM</default> + </attribute> +</targetType> + <targetType> <id>chip-membuf-centaur</id> <parent>chip</parent> |