diff options
author | Brad Bishop <bradleyb@us.ibm.com> | 2012-08-17 23:02:51 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-11-13 20:20:25 -0600 |
commit | 6a6c4e1385a56e0545144f87a0f4735dbc714f56 (patch) | |
tree | ed758bc33d97d8d339d532f6eab677921bc3dd03 /src/usr/diag/attn/attntarget.H | |
parent | 05144d673fb8ec3c6d9d6af358ce3ab5081ebe17 (diff) | |
download | talos-hostboot-6a6c4e1385a56e0545144f87a0f4735dbc714f56.tar.gz talos-hostboot-6a6c4e1385a56e0545144f87a0f4735dbc714f56.zip |
Attention handler configuration of local err interrupts.
Set priority.
Register with INTR using correct xisr number.
Parse xisr number in INTR correctly.
Change-Id: If6f7afc28d12a2f939f26738471d5d0304179271
RTC: 46448
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1561
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/attn/attntarget.H')
-rw-r--r-- | src/usr/diag/attn/attntarget.H | 81 |
1 files changed, 80 insertions, 1 deletions
diff --git a/src/usr/diag/attn/attntarget.H b/src/usr/diag/attn/attntarget.H index 344f02bb4..b37fb3719 100644 --- a/src/usr/diag/attn/attntarget.H +++ b/src/usr/diag/attn/attntarget.H @@ -70,6 +70,19 @@ class TargetService TARGETING::TargetHandle_t i_membuf); /** + * @brief getAllChips Get a list of chips. + * + * @param[out] o_list The populated list of chips. + * @param[in] i_type The type of chip for which a list + * should be obtained. + * @param[in] i_functional functional chip filter. + */ + void getAllChips( + TARGETING::TargetHandleList & o_list, + TARGETING::TYPE i_type, + bool i_functional = true); + + /** * @brief getMcs Find the requested membuf chip * target parent MCS unit target. * @@ -137,6 +150,22 @@ class TargetService TARGETING::TargetHandle_t i_target); /** + * @brief getAttribute Obtain the attribute for the requested target. + * + * @param[in] i_attribute The attribute to be obtained. + * @param[in] i_target The target for which the attribute + * should be obtained. + * @param[out] o_val The value of the attribute. + * + * @retval[true] The attribute was found. + * @retval[false] The attribute was not found. + */ + bool getAttribute( + TARGETING::ATTRIBUTE_ID i_attribute, + TARGETING::TargetHandle_t i_target, + uint64_t & o_val); + + /** * @brief setImpl Set the active target service implementation. * * @param[in] i_impl The target service implementation to make active. @@ -164,6 +193,11 @@ class TargetService * @brief assignment Disabled. */ TargetService & operator=(const TargetService &); + + /** + * @brief Give access to the default implementation. + */ + friend class TargetServiceImpl; }; /** @@ -218,6 +252,19 @@ class TargetServiceImpl TARGETING::TargetHandle_t i_membuf); /** + * @brief getAllChips Get a list of chips. + * + * @param[out] o_list The populated list of chips. + * @param[in] i_type The type of chip for which a list + * should be obtained. + * @param[in] i_functional functional chip filter. + */ + virtual void getAllChips( + TARGETING::TargetHandleList & o_list, + TARGETING::TYPE i_type, + bool i_functional = true); + + /** * @brief getMcs Find the MCS unit target given * the proc chip parent target and MCS position. * @@ -271,6 +318,22 @@ class TargetServiceImpl TARGETING::TargetHandle_t i_target); /** + * @brief getAttribute Obtain the attribute for the requested target. + * + * @param[in] i_attribute The attribute to be obtained. + * @param[in] i_target The target for which the attribute + * should be obtained. + * @param[out] o_val The value of the attribute. + * + * @retval[true] The attribute was found. + * @retval[false] The attribute was not found. + */ + virtual bool getAttribute( + TARGETING::ATTRIBUTE_ID i_attribute, + TARGETING::TargetHandle_t i_target, + uint64_t & o_val); + + /** * @brief installTargetService * * Make this the active target service implementation. @@ -280,7 +343,7 @@ class TargetServiceImpl /** * @brief dtor */ - virtual ~TargetServiceImpl() {} + virtual ~TargetServiceImpl(); /** * @brief ctor @@ -314,6 +377,14 @@ inline TARGETING::TargetHandle_t TargetService::getMcs( return iv_impl->getMcs(i_proc, i_pos); } +inline void TargetService::getAllChips( + TARGETING::TargetHandleList & o_list, + TARGETING::TYPE i_type, + bool i_functional) +{ + iv_impl->getAllChips(o_list, i_type, i_functional); +} + inline void TargetService::getMcsPos( TARGETING::TargetHandle_t i_mcs, uint64_t & o_pos) @@ -333,6 +404,14 @@ inline TARGETING::TYPE TargetService::getType( return iv_impl->getType(i_target); } +inline bool TargetService::getAttribute( + TARGETING::ATTRIBUTE_ID i_attribute, + TARGETING::TargetHandle_t i_target, + uint64_t & o_val) +{ + return iv_impl->getAttribute(i_attribute, i_target, o_val); +} + inline void TargetService::setImpl(TargetServiceImpl & i_impl) { iv_impl = &i_impl; |