diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-08-01 16:04:35 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-08-08 16:05:56 -0500 |
commit | f8e8d7c203dcd6ff31459253ba42a3dbe970765e (patch) | |
tree | e33dfe5fa1e6c562930d31f53652e89b9c3553d8 /src/usr/fapi2 | |
parent | 3cb9eb102386c50d0e7b7b67f64b702097b7eb16 (diff) | |
download | talos-hostboot-f8e8d7c203dcd6ff31459253ba42a3dbe970765e.tar.gz talos-hostboot-f8e8d7c203dcd6ff31459253ba42a3dbe970765e.zip |
Base targeting support for Axone memory complex
Added 3 new target types to start things off. These are the OMI
(open-capi memory interface), the OMIC (open-capi memory interface
controller), and the MCC (memory channel controller). These new
targets will help us represent the new memory complex we are using
for axone. The axone memory hiearchy will look like this:
MI--MCC
/ \
Proc--MC < __ OMI--OCMB--MEMPORT--DIMM
\ /
OMIC
**Note that OCMB/MEMPORT have not been implemented in hostboot yet
Change-Id: I3df4eb3e279f825f0bdee86448ea23cb975e5511
RTC:172969
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63744
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: ILYA SMIRNOV <ismirno@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>
Diffstat (limited to 'src/usr/fapi2')
-rw-r--r-- | src/usr/fapi2/plat_attr_override_sync.C | 9 | ||||
-rw-r--r-- | src/usr/fapi2/plat_utils.C | 43 |
2 files changed, 38 insertions, 14 deletions
diff --git a/src/usr/fapi2/plat_attr_override_sync.C b/src/usr/fapi2/plat_attr_override_sync.C index d81589973..8b72b4299 100644 --- a/src/usr/fapi2/plat_attr_override_sync.C +++ b/src/usr/fapi2/plat_attr_override_sync.C @@ -207,6 +207,15 @@ void directOverride() case fapi2::TARGET_TYPE_PHB: l_targetType = TARGETING::TYPE_PHB; break; + case fapi2::TARGET_TYPE_OMI: + l_targetType = TARGETING::TYPE_OMI; + break; + case fapi2::TARGET_TYPE_OMIC: + l_targetType = TARGETING::TYPE_OMIC; + break; + case fapi2::TARGET_TYPE_MCC: + l_targetType = TARGETING::TYPE_MCC; + break; default: l_targetType = TARGETING::TYPE_NA; } diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C index e340b2d60..cb62eb45e 100644 --- a/src/usr/fapi2/plat_utils.C +++ b/src/usr/fapi2/plat_utils.C @@ -680,20 +680,32 @@ void xlateTargetType(const fapi2::TargetType i_targetType, o_type = TARGETING::TYPE_PERV; break; case fapi2::TARGET_TYPE_PEC: - o_class = TARGETING::CLASS_UNIT; - o_type = TARGETING::TYPE_PEC; - break; - case fapi2::TARGET_TYPE_PHB: - o_class = TARGETING::CLASS_UNIT; - o_type = TARGETING::TYPE_PHB; - break; - case fapi2::TARGET_TYPE_MC: - o_class = TARGETING::CLASS_UNIT; - o_type = TARGETING::TYPE_MC; - break; - default: - o_class = TARGETING::CLASS_NA; - o_type = TARGETING::TYPE_NA; + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_PEC; + break; + case fapi2::TARGET_TYPE_PHB: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_PHB; + break; + case fapi2::TARGET_TYPE_MC: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_MC; + break; + case fapi2::TARGET_TYPE_OMI: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_OMI; + break; + case fapi2::TARGET_TYPE_OMIC: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_OMIC; + break; + case fapi2::TARGET_TYPE_MCC: + o_class = TARGETING::CLASS_UNIT; + o_type = TARGETING::TYPE_MCC; + break; + default: + o_class = TARGETING::CLASS_NA; + o_type = TARGETING::TYPE_NA; } } @@ -717,6 +729,9 @@ bool isPhysParentChild(const TargetType i_parentType, TARGET_TYPE_MCA | TARGET_TYPE_MCBIST | TARGET_TYPE_MC | + TARGET_TYPE_MCC | + TARGET_TYPE_OMIC | + TARGET_TYPE_OMI | TARGET_TYPE_MI | TARGET_TYPE_CAPP | TARGET_TYPE_DMI | |