diff options
author | Santosh Puranik <santosh.puranik@in.ibm.com> | 2016-09-13 11:31:46 -0500 |
---|---|---|
committer | Santosh S. Puranik <santosh.puranik@in.ibm.com> | 2016-09-19 01:45:34 -0400 |
commit | d6dcd0125e002508ea665a5b71eb2019a0274c91 (patch) | |
tree | 15911e4b3f1722d5bec3083f8030288046329d4d /src/hwpf/include/plat/target.H | |
parent | 84f49a31edbf1f4dbdca4397194a498c97d4244c (diff) | |
download | talos-sbe-d6dcd0125e002508ea665a5b71eb2019a0274c91.tar.gz talos-sbe-d6dcd0125e002508ea665a5b71eb2019a0274c91.zip |
FAPI Plat Cleanup - III
-- Move completely to using FAPI from src/import
Change-Id: Ifd27a900fea45ef0e7d6bd4a62192e50812b99ac
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29581
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com>
Reviewed-by: Santosh S. Puranik <santosh.puranik@in.ibm.com>
Diffstat (limited to 'src/hwpf/include/plat/target.H')
-rw-r--r-- | src/hwpf/include/plat/target.H | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/src/hwpf/include/plat/target.H b/src/hwpf/include/plat/target.H index bfcfe185..09c27d0b 100644 --- a/src/hwpf/include/plat/target.H +++ b/src/hwpf/include/plat/target.H @@ -38,6 +38,7 @@ #include <utils.H> #include <stdint.h> #include <vector> +#include <plat_target_utils.H> extern "C" { @@ -233,15 +234,15 @@ namespace fapi2 } if((TARGET_TYPE_EQ == T) && (TARGET_TYPE_CORE == K)) // EC ===> EQ { - return static_cast<V>(G_vec_targets[(getTargetNumber() / CORES_PER_QUAD) + EQ_TARGET_OFFSET]); + return static_cast<V>(G_vec_targets[(static_cast<plat_target_handle_t>(get()).getTargetInstance() / CORES_PER_QUAD) + EQ_TARGET_OFFSET]); } if((TARGET_TYPE_EQ == T) && (TARGET_TYPE_EX == K)) // EX ===> EQ { - return static_cast<V>(G_vec_targets[(getTargetNumber() / EX_PER_QUAD) + EQ_TARGET_OFFSET]); + return static_cast<V>(G_vec_targets[(static_cast<plat_target_handle_t>(get()).getTargetInstance() / EX_PER_QUAD) + EQ_TARGET_OFFSET]); } if(TARGET_TYPE_EX == T) // EC ===> EX { - return static_cast<V>(G_vec_targets[(getTargetNumber() / CORES_PER_EX) + EX_TARGET_OFFSET]); + return static_cast<V>(G_vec_targets[(static_cast<plat_target_handle_t>(get()).getTargetInstance() / CORES_PER_EX) + EX_TARGET_OFFSET]); } } @@ -310,33 +311,27 @@ namespace fapi2 } /// - /// @brief Get the target at the other end of a bus - dimm included - /// @tparam T The type of the parent - /// @param[in] i_state The desired TargetState of the children - /// @return Target<T, V> a target representing the thing on the other end - /// @note Can be easily changed to a vector if needed + /// @brief Is the target functional? + /// @return true if target is functional, false if non-functional /// template<TargetType K, typename V> - template<TargetType T> - inline Target<T, V> - Target<K, V>::getOtherEnd(const TargetState i_state) const + inline bool + Target<K, V>::isFunctional(void) const { -// static_assert( false, "getOtherEnd() is not supported on PPE platforms"); + return static_cast<plat_target_handle_t>(get()).getFunctional(); } /// - /// @brief Is the target functional? - /// @return true if target is functional, false if non-functional + /// @brief Returns the chiplet number for this Target + /// @return The chiplet number /// - template<TargetType K, typename V> - inline bool - Target<K, V>::isFunctional(void) const + inline uint8_t + Target<K, V>::getChipletNumber(void) const { - return getFunctional(); + return static_cast<plat_target_handle_t>(iv_handle).fields.chiplet_num; } - /// /// @brief Return the string interpretation of this target /// @tparam T The type of the target @@ -359,7 +354,7 @@ namespace fapi2 const uint32_t i_addr) { ScomAddr l_addr = i_addr; - if(0 != i_target.getAddressOverlay()) + if(0 != static_cast<plat_target_handle_t>(i_target.get()).getAddressOverlay()) { l_addr.iv_chiplet = i_target.getChipletNumber(); } @@ -376,13 +371,13 @@ namespace fapi2 { l_addr.iv_chiplet = i_target.getChipletNumber(); l_addr.iv_ring = (l_addr.iv_ring - (l_addr.iv_ring % 2)) + - (i_target.getTargetNumber() % 2); + (static_cast<plat_target_handle_t>(i_target.get()).getTargetInstance() % 2); } else if ((CORE_CHIPLET_OFFSET <= l_addr.iv_chiplet) && ((CORE_CHIPLET_OFFSET + CORE_TARGET_COUNT) > l_addr.iv_chiplet)) { l_addr.iv_chiplet = CORE_CHIPLET_OFFSET + (l_addr.iv_chiplet % 2) + - (i_target.getTargetNumber() * 2); + (static_cast<plat_target_handle_t>(i_target.get()).getTargetInstance() * 2); } else { @@ -396,7 +391,7 @@ namespace fapi2 { ScomAddr l_addr = i_addr; l_addr.iv_chiplet = i_target.getChipletNumber(); - l_addr.iv_satId = (2 * (i_target.getTargetNumber() % 2)); + l_addr.iv_satId = (2 * (static_cast<plat_target_handle_t>(i_target.get()).getTargetInstance() % 2)); return l_addr; } |