From f0cc20d3a251e14890c8d39bce29e38b9d6899c4 Mon Sep 17 00:00:00 2001 From: Santosh Puranik Date: Wed, 22 Mar 2017 07:14:44 -0500 Subject: Support for TARGET_TYPE_PHB Change-Id: Id4c2407655c38325431eff256aa10f3b0b48fff2 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38281 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Sachin Gupta --- src/hwpf/include/plat/plat_target.H | 12 +++++++++++- src/hwpf/include/plat/plat_target_parms.H | 9 +++++++-- src/hwpf/include/plat/target.H | 8 +++++++- 3 files changed, 25 insertions(+), 4 deletions(-) (limited to 'src/hwpf/include') diff --git a/src/hwpf/include/plat/plat_target.H b/src/hwpf/include/plat/plat_target.H index 45a213a5..88d7e231 100644 --- a/src/hwpf/include/plat/plat_target.H +++ b/src/hwpf/include/plat/plat_target.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -40,8 +40,10 @@ static const uint8_t CORES_PER_QUAD = 4; static const uint8_t EX_PER_QUAD = 2; static const uint8_t CORES_PER_EX = 2; +static const uint8_t N2_CHIPLET = 4; static const uint8_t N3_CHIPLET = 5; static const uint8_t MCS_PER_MCBIST = 2; +static const uint8_t PCI0_CHIPLET = 0x0D; // // Define what a platform handle looks like. For Hostboot, @@ -61,6 +63,7 @@ namespace fapi2 PPE_TARGET_TYPE_PERV = 0x20, PPE_TARGET_TYPE_MCBIST = 0x40, PPE_TARGET_TYPE_SYSTEM = 0x80, + PPE_TARGET_TYPE_PHB = 0x100, PPE_TARGET_TYPE_ALL = 0xFFF, } plat_target_type_t; @@ -267,6 +270,13 @@ namespace fapi2 l_handle.fields.type = PPE_TARGET_TYPE_MCS; l_handle.fields.type_target_num = i_plat_argument; } + else if(K & TARGET_TYPE_PHB) + { + l_handle.fields.chiplet_num = (0 == i_plat_argument) ? PCI0_CHIPLET : + (((i_plat_argument / 3) + 1) + PCI0_CHIPLET); + l_handle.fields.type = PPE_TARGET_TYPE_PHB; + l_handle.fields.type_target_num = i_plat_argument; + } else if(K == TARGET_TYPE_ALL) { l_handle.fields.chiplet_num = i_plat_argument; diff --git a/src/hwpf/include/plat/plat_target_parms.H b/src/hwpf/include/plat/plat_target_parms.H index 730f10da..79d9edf0 100644 --- a/src/hwpf/include/plat/plat_target_parms.H +++ b/src/hwpf/include/plat/plat_target_parms.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -70,8 +70,12 @@ CONST_UINT32_T(EX_TARGET_COUNT, 12); CONST_UINT32_T(MCS_TARGET_OFFSET, EX_TARGET_OFFSET + EX_TARGET_COUNT); CONST_UINT32_T(MCS_TARGET_COUNT, 4); +// PHB Targets +CONST_UINT32_T(PHB_TARGET_OFFSET, MCS_TARGET_OFFSET + MCS_TARGET_COUNT); +CONST_UINT32_T(PHB_TARGET_COUNT, 6); + // System Target -CONST_UINT32_T(SYSTEM_TARGET_OFFSET, MCS_TARGET_OFFSET + MCS_TARGET_COUNT); +CONST_UINT32_T(SYSTEM_TARGET_OFFSET, PHB_TARGET_OFFSET + PHB_TARGET_COUNT); CONST_UINT32_T(SYSTEM_TARGET_COUNT, 1); CONST_UINT32_T(MCAST_TARGET_OFFSET, SYSTEM_TARGET_OFFSET + SYSTEM_TARGET_COUNT); @@ -87,6 +91,7 @@ CONST_UINT32_T(TARGET_COUNT, CHIP_TARGET_COUNT + PERV_TARGET_COUNT + EX_TARGET_COUNT + MCS_TARGET_COUNT + + PHB_TARGET_COUNT + SYSTEM_TARGET_COUNT + MCAST_TARGET_COUNT); diff --git a/src/hwpf/include/plat/target.H b/src/hwpf/include/plat/target.H index b262ae8c..3bdfc4dc 100644 --- a/src/hwpf/include/plat/target.H +++ b/src/hwpf/include/plat/target.H @@ -114,6 +114,12 @@ namespace fapi2 return PPE_TARGET_TYPE_MCS; } + template<> + constexpr plat_target_type_t fapiTargetTypeToPlatTargetType() + { + return PPE_TARGET_TYPE_PHB; + } + template<> constexpr plat_target_type_t fapiTargetTypeToPlatTargetType() { @@ -181,7 +187,7 @@ namespace fapi2 constexpr TargetType TARGET_TYPE_PROC_CHILDREN = TARGET_TYPE_EQ | TARGET_TYPE_PERV | TARGET_TYPE_EX | TARGET_TYPE_MCBIST | TARGET_TYPE_CORE | - TARGET_TYPE_MCS | TARGET_TYPE_PROC_CHIP; + TARGET_TYPE_MCS | TARGET_TYPE_PROC_CHIP | TARGET_TYPE_PHB; static_assert((( ((K & TARGET_TYPE_PROC_CHILDREN) != TARGET_TYPE_NONE) || -- cgit v1.2.1