diff options
author | Matt Ploetz <maploetz@us.ibm.com> | 2014-01-30 10:52:38 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-02-06 17:29:14 -0600 |
commit | 2c0792a4bdb36b402b42c596799e617c3b3dadfe (patch) | |
tree | 5146c1fd0d358242a4ac0e04862971298b357536 | |
parent | 44524ea06f0db5d637bf04c5e233089bd4d6023d (diff) | |
download | talos-hostboot-2c0792a4bdb36b402b42c596799e617c3b3dadfe.tar.gz talos-hostboot-2c0792a4bdb36b402b42c596799e617c3b3dadfe.zip |
INITPROC: Hostboot - SW242686 proc_*_utils from RAS review
Change-Id: Ic5300b3054cdacb6ecacebc1f47de28f3a4b4530
CQ: SW242686
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8456
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
4 files changed, 126 insertions, 101 deletions
diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.C b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.C index 7ca990bd8..50af530d9 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.C +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_adu_utils.C,v 1.7 2013/09/26 17:56:54 jmcgill Exp $ +// $Id: proc_adu_utils.C,v 1.8 2014/01/19 17:35:55 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/utils/proc_adu_utils.C,v $ //------------------------------------------------------------------------------ // *| @@ -32,7 +32,7 @@ // *! DESCRIPTION : ADU library functions (FAPI) // *! // *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com -// *! BACKUP NAME : Jeshua Smith Email: jeshua@us.ibm.com +// *! BACKUP NAME : Kevin Reick Email: reick@us.ibm.com // *! //------------------------------------------------------------------------------ @@ -40,7 +40,7 @@ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ -#include "proc_adu_utils.H" +#include <proc_adu_utils.H> extern "C" { @@ -60,7 +60,7 @@ fapi::ReturnCode proc_adu_utils_get_adu_lock_id( ecmdDataBufferBase data(64); uint8_t lock_id; - FAPI_DBG("proc_adu_utils_get_adu_lock_id: End"); + FAPI_DBG("proc_adu_utils_get_adu_lock_id: Start"); do { @@ -69,7 +69,7 @@ fapi::ReturnCode proc_adu_utils_get_adu_lock_id( rc = fapiGetScom(i_target, ADU_COMMAND_0x02020001, data); if (!rc.ok()) { - FAPI_ERR("proc_adu_utils_manage_adu_lock: fapiGetScom error (ADU_COMMAND_0x02020001)"); + FAPI_ERR("proc_adu_utils_get_adu_lock_id: fapiGetScom error (ADU_COMMAND_0x02020001)"); break; } @@ -78,9 +78,9 @@ fapi::ReturnCode proc_adu_utils_get_adu_lock_id( ADU_COMMAND_LOCK_ID_START_BIT, (ADU_COMMAND_LOCK_ID_END_BIT- ADU_COMMAND_LOCK_ID_START_BIT)+1); - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_get_adu_lock_id: Error 0x%x extracting lock id from data buffer", rc_ecmd); break; @@ -116,9 +116,9 @@ fapi::ReturnCode proc_adu_utils_clear_adu_auto_inc( // clear auto-increment bit rc_ecmd |= data.clearBit(ADU_COMMAND_AUTO_INC_BIT); - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_clear_adu_auto_inc: Error 0x%x forming auto-increment clear data buffer", rc_ecmd); break; @@ -142,8 +142,8 @@ fapi::ReturnCode proc_adu_utils_clear_adu_auto_inc( fapi::ReturnCode proc_adu_utils_manage_adu_lock( const fapi::Target& i_target, - const proc_adu_utils_adu_lock_operation& i_lock_operation, - const uint32_t& i_num_attempts) + const proc_adu_utils_adu_lock_operation i_lock_operation, + const uint32_t i_num_attempts) { fapi::ReturnCode rc; uint32_t rc_ecmd = 0; @@ -159,8 +159,9 @@ fapi::ReturnCode proc_adu_utils_manage_adu_lock( { FAPI_ERR("proc_adu_utils_manage_adu_lock: Invalid value %d for number of lock manipulation attempts", i_num_attempts); - const uint64_t & ARGS = i_num_attempts; - FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_ARGS); + const fapi::Target & TARGET = i_target; + const uint32_t & ATTEMPTS = i_num_attempts; + FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_LOCK_ATTEMPTS); break; } @@ -184,13 +185,14 @@ fapi::ReturnCode proc_adu_utils_manage_adu_lock( { FAPI_ERR("proc_adu_utils_manage_adu_lock: Internal error (unsupported lock operation enum value %d)", i_lock_operation); - const uint64_t & ERR_DATA = i_lock_operation; - FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INTERNAL_ERR); + const fapi::Target & TARGET = i_target; + const uint32_t & OPERATION = i_lock_operation; + FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_LOCK_OPERATION); break; } - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_manage_adu_lock: Error 0x%x setting up lock manipulation control data buffer", rc_ecmd); break; @@ -269,9 +271,9 @@ fapi::ReturnCode proc_adu_utils_reset_adu( rc_ecmd |= data.setBit(ADU_COMMAND_CLEAR_STATUS_BIT); rc_ecmd |= data.setBit(ADU_COMMAND_RESET_BIT); rc_ecmd |= data.setBit(ADU_COMMAND_LOCKED_BIT); - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_reset_adu: Error 0x%x setting up reset control data buffer", rc_ecmd); break; @@ -294,9 +296,9 @@ fapi::ReturnCode proc_adu_utils_reset_adu( fapi::ReturnCode proc_adu_utils_send_fbc_op( const fapi::Target& i_target, - const proc_adu_utils_fbc_op& i_adu_ctl, - const bool& i_use_hp, - const proc_adu_utils_fbc_op_hp_ctl& i_adu_hp_ctl) + const proc_adu_utils_fbc_op i_adu_ctl, + const bool i_use_hp, + const proc_adu_utils_fbc_op_hp_ctl i_adu_hp_ctl) { fapi::ReturnCode rc; uint32_t rc_ecmd = 0; @@ -313,8 +315,12 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( { FAPI_ERR("proc_adu_utils_send_fbc_op: Out-of-range value %016llX specified for fabric address argument", i_adu_ctl.address); - const uint64_t & ARGS = i_adu_ctl.address; - FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_ARGS); + const fapi::Target & TARGET = i_target; + const uint64_t & ADDRESS = i_adu_ctl.address; + const bool & HP = i_use_hp; + const uint32_t & HP_QUIESCE_DLY = i_adu_hp_ctl.post_quiesce_delay; + const uint32_t & HP_INIT_DLY = i_adu_hp_ctl.pre_init_delay; + FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_FBC_OP); break; } if (i_use_hp && @@ -323,8 +329,12 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( { FAPI_ERR("proc_adu_utils_send_fbc_op: Out-of-range value %d specified for hotplug post-quiesce delay argument", i_adu_hp_ctl.post_quiesce_delay); - const uint64_t & ARGS = i_adu_hp_ctl.post_quiesce_delay; - FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_ARGS); + const fapi::Target & TARGET = i_target; + const uint64_t & ADDRESS = i_adu_ctl.address; + const bool & HP = i_use_hp; + const uint32_t & HP_QUIESCE_DLY = i_adu_hp_ctl.post_quiesce_delay; + const uint32_t & HP_INIT_DLY = i_adu_hp_ctl.pre_init_delay; + FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_FBC_OP); break; } if (i_use_hp && @@ -333,8 +343,12 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( { FAPI_ERR("proc_adu_utils_send_fbc_op: Out-of-range value %d specified for hotplug pre-init delay argument", i_adu_hp_ctl.pre_init_delay); - const uint64_t & ARGS = i_adu_hp_ctl.pre_init_delay; - FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_ARGS); + const fapi::Target & TARGET = i_target; + const uint64_t & ADDRESS = i_adu_ctl.address; + const bool & HP = i_use_hp; + const uint32_t & HP_QUIESCE_DLY = i_adu_hp_ctl.post_quiesce_delay; + const uint32_t & HP_INIT_DLY = i_adu_hp_ctl.pre_init_delay; + FAPI_SET_HWP_ERROR(rc, RC_PROC_ADU_UTILS_INVALID_FBC_OP); break; } @@ -372,9 +386,9 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( ADU_CONTROL_FBC_ADDRESS_SPLIT_BIT, (ADU_CONTROL_FBC_ADDRESS_END_BIT- ADU_CONTROL_FBC_ADDRESS_SPLIT_BIT+1)); - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_send_fbc_op: Error 0x%x setting up ADU Control register data buffer", rc_ecmd); break; @@ -453,9 +467,9 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( (ADU_COMMAND_FBC_PRE_INIT_COUNT_END_BIT- ADU_COMMAND_FBC_PRE_INIT_COUNT_START_BIT+1)); } - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_send_fbc_op: Error 0x%x forming data buffer", rc_ecmd); break; @@ -465,7 +479,7 @@ fapi::ReturnCode proc_adu_utils_send_fbc_op( rc = fapiPutScom(i_target, ADU_COMMAND_0x02020001, cmd_data); if (!rc.ok()) { - FAPI_ERR("proc_adu_utils_send_fbc_op: fapiPutScom error (ADU_COMMAND_0x02020000)"); + FAPI_ERR("proc_adu_utils_send_fbc_op: fapiPutScom error (ADU_COMMAND_0x02020001)"); break; } @@ -483,16 +497,16 @@ fapi::ReturnCode proc_adu_utils_get_adu_status( fapi::ReturnCode rc; ecmdDataBufferBase status_data(64); - FAPI_DBG("proc_adu_utils_check_adu_status: Start"); + FAPI_DBG("proc_adu_utils_get_adu_status: Start"); do { // read ADU Status register - FAPI_DBG("proc_adu_utils_check_adu_status: Reading ADU Status register"); + FAPI_DBG("proc_adu_utils_get_adu_status: Reading ADU Status register"); rc = fapiGetScom(i_target, ADU_STATUS_0x02020002, status_data); if (!rc.ok()) { - FAPI_ERR("proc_adu_utils_check_adu_status: fapiGetScom error (ADU_STATUS_0x02020002)"); + FAPI_ERR("proc_adu_utils_get_adu_status: fapiGetScom error (ADU_STATUS_0x02020002)"); break; } @@ -547,18 +561,18 @@ fapi::ReturnCode proc_adu_utils_get_adu_status( ADU_STATUS_BIT_CLEAR; } while(0); - FAPI_DBG("proc_adu_utils_check_adu_status: End"); + FAPI_DBG("proc_adu_utils_get_adu_status: End"); return rc; } fapi::ReturnCode proc_adu_utils_set_adu_data_registers( const fapi::Target& i_target, - const uint64_t& i_write_data, - const bool& i_override_itag, - const bool& i_write_itag, - const bool& i_override_ecc, - const uint8_t& i_write_ecc) + const uint64_t i_write_data, + const bool i_override_itag, + const bool i_write_itag, + const bool i_override_ecc, + const uint8_t i_write_ecc) { fapi::ReturnCode rc; uint32_t rc_ecmd = 0; @@ -594,9 +608,9 @@ fapi::ReturnCode proc_adu_utils_set_adu_data_registers( ADU_FORCE_ECC_DATA_TX_ECC_LO_END_BIT- ADU_FORCE_ECC_DATA_TX_ECC_LO_START_BIT+1); } - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_set_adu_data_registers: Error 0x%x forming override ECC data buffer", rc_ecmd); break; @@ -624,9 +638,9 @@ fapi::ReturnCode proc_adu_utils_set_adu_data_registers( ADU_DATA_SPLIT_BIT, (ADU_DATA_END_BIT- ADU_DATA_SPLIT_BIT+1)); - rc.setEcmdError(rc_ecmd); - if (!rc.ok()) + if (rc_ecmd) { + rc.setEcmdError(rc_ecmd); FAPI_ERR("proc_adu_utils_set_adu_data_registers: Error 0x%x forming data buffer", rc_ecmd); break; @@ -649,7 +663,7 @@ fapi::ReturnCode proc_adu_utils_set_adu_data_registers( fapi::ReturnCode proc_adu_utils_get_adu_data_registers( const fapi::Target& i_target, - const bool& i_get_itag, + const bool i_get_itag, uint64_t& o_read_data, bool& o_read_itag) { diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H index 7895b8aaa..eec34d948 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_adu_utils.H,v 1.7 2013/11/11 22:34:59 jmcgill Exp $ +// $Id: proc_adu_utils.H,v 1.8 2014/01/19 17:35:55 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/utils/proc_adu_utils.H,v $ //------------------------------------------------------------------------------ // *| @@ -32,7 +32,7 @@ // *! DESCRIPTION : ADU library functions (FAPI) // *! // *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com -// *! BACKUP NAME : Jeshua Smith Email: jeshua@us.ibm.com +// *! BACKUP NAME : Kevin Reick Email: reick@us.ibm.com // *! // *! ADDITIONAL COMMENTS : // *! @@ -75,14 +75,6 @@ // *! //------------------------------------------------------------------------------ -//------------------------------------------------------------------------------ -// -// TODO: -// o check if ADU data register read fails when locked? -// if not seems stray read operation can increment pointer? -// -//------------------------------------------------------------------------------ - #ifndef _PROC_ADU_UTILS_H_ #define _PROC_ADU_UTILS_H_ @@ -91,8 +83,8 @@ //------------------------------------------------------------------------------ #include <fapi.H> -#include "proc_fbc_utils.H" -#include "p8_scom_addresses.H" +#include <proc_fbc_utils.H> +#include <p8_scom_addresses.H> extern "C" { @@ -309,12 +301,12 @@ const uint32_t PROC_ADU_UTILS_ADU_HW_NS_DELAY = 10000; const uint32_t PROC_ADU_UTILS_ADU_SIM_CYCLE_DELAY = 10000; // field width definitions -const uint32_t PROC_ADU_UTILS_ADU_MAX_POST_QUIESCE_DELAY = ((1ULL << 20)-1ULL); -const uint32_t PROC_ADU_UTILS_ADU_MAX_PRE_INIT_DELAY = ((1ULL << 10)-1ULL); +const uint32_t PROC_ADU_UTILS_ADU_MAX_POST_QUIESCE_DELAY = ((1 << 20)-1); +const uint32_t PROC_ADU_UTILS_ADU_MAX_PRE_INIT_DELAY = ((1 << 10)-1); // auto-increment constant definitions -const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY_MASK = 0x7FFFFULL; -const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY = 0x7FFF8ULL; +const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY_MASK = 0x7FFFF; +const uint32_t PROC_ADU_UTILS_AUTO_INCREMENT_BOUNDARY = 0x7FFF8; // Security Switch register field/bit definitions const uint32_t OTPC_M_SECURITY_SWITCH_TRUSTED_BOOT_BIT = 1; @@ -329,7 +321,7 @@ const uint32_t ADU_CONTROL_FBC_ADDRESS_START_BIT = 14; const uint32_t ADU_CONTROL_FBC_ADDRESS_END_BIT = 63; const uint32_t ADU_CONTROL_FBC_ADDRESS_SPLIT_BIT = 32; -const uint32_t ADU_CONTROL_FBC_ADDRESS_SPLIT_MASK = 0xFFFFFFFFULL; +const uint32_t ADU_CONTROL_FBC_ADDRESS_SPLIT_MASK = 0xFFFFFFFF; // ADU Command register field/bit definitions const uint32_t ADU_COMMAND_START_OP_BIT = 2; @@ -383,7 +375,7 @@ const uint32_t ADU_DATA_START_BIT = 0; const uint32_t ADU_DATA_END_BIT = 63; const uint32_t ADU_DATA_SPLIT_BIT = 32; -const uint32_t ADU_DATA_SPLIT_MASK = 0xFFFFFFFFULL; +const uint32_t ADU_DATA_SPLIT_MASK = 0xFFFFFFFF; //------------------------------------------------------------------------------ @@ -420,15 +412,15 @@ fapi::ReturnCode proc_adu_utils_clear_adu_auto_inc( // returns: FAPI_RC_SUCCESS if lock manipulation is successful, // FAPI_RC_PLAT_ERR_ADU_LOCKED if operation failed due to state of // ADU atomic lock, -// RC_PROC_ADU_UTILS_INVALID_ARGS if invalid number of attempts +// RC_PROC_ADU_UTILS_INVALID_LOCK_OPERATION if an unsupported operation +// is specified, +// RC_PROC_ADU_UTILS_INVALID_LOCK_ATTEMPTS if invalid number of attempts // is specified, -// RC_PROC_ADU_UTILS_INTERNAL_ERR if an unexpected internal -// logic error occurs, // else error fapi::ReturnCode proc_adu_utils_manage_adu_lock( const fapi::Target& i_target, - const proc_adu_utils_adu_lock_operation& i_lock_operation, - const uint32_t& i_num_attempts); + const proc_adu_utils_adu_lock_operation i_lock_operation, + const uint32_t i_num_attempts); // function: write ADU Command register to clear the ADU Status register and // reset the ADU state machine @@ -454,14 +446,14 @@ fapi::ReturnCode proc_adu_utils_reset_adu( // successful, // FAPI_RC_PLAT_ERR_ADU_LOCKED if operation failed due to state of // ADU atomic lock, -// RC_PROC_ADU_UTILS_INVALID_ARGS if invalid/out-of-range input +// RC_PROC_ADU_UTILS_INVALID_FBC_OP if invalid fabric operation // parameters are specified, // else error fapi::ReturnCode proc_adu_utils_send_fbc_op( const fapi::Target& i_target, - const proc_adu_utils_fbc_op& i_adu_ctl, - const bool& i_use_hp, - const proc_adu_utils_fbc_op_hp_ctl& i_adu_hp_ctl); + const proc_adu_utils_fbc_op i_adu_ctl, + const bool i_use_hp, + const proc_adu_utils_fbc_op_hp_ctl i_adu_hp_ctl); // function: read ADU Status register, return structure encapsulating // error/status bits @@ -491,11 +483,11 @@ fapi::ReturnCode proc_adu_utils_get_adu_status( // else error fapi::ReturnCode proc_adu_utils_set_adu_data_registers( const fapi::Target& i_target, - const uint64_t& i_write_data, - const bool& i_override_itag, - const bool& i_write_itag, - const bool& i_override_ecc, - const uint8_t& i_write_ecc); + const uint64_t i_write_data, + const bool i_override_itag, + const bool i_write_itag, + const bool i_override_ecc, + const uint8_t i_write_ecc); // function: read ADU Data & Force ECC registers (to get inbound data // delivered from the fabric) @@ -511,7 +503,7 @@ fapi::ReturnCode proc_adu_utils_set_adu_data_registers( // else error fapi::ReturnCode proc_adu_utils_get_adu_data_registers( const fapi::Target& i_target, - const bool& i_get_itag, + const bool i_get_itag, uint64_t& o_read_data, bool& o_read_itag); diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils_errors.xml b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils_errors.xml index 9fbd949ae..08ba59041 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils_errors.xml +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_adu_utils_errors.xml @@ -5,7 +5,7 @@ <!-- --> <!-- IBM CONFIDENTIAL --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2012 --> +<!-- COPYRIGHT International Business Machines Corp. 2012,2014 --> <!-- --> <!-- p1 --> <!-- --> @@ -20,17 +20,44 @@ <!-- Origin: 30 --> <!-- --> <!-- IBM_PROLOG_END_TAG --> +<!-- $Id: proc_adu_utils_errors.xml,v 1.4 2014/01/20 19:55:04 jmcgill Exp $ --> <!-- Error definitions for proc_adu_utils library --> <hwpErrors> <!-- *********************************************************************** --> <hwpError> - <rc>RC_PROC_ADU_UTILS_INVALID_ARGS</rc> - <description>Invalid or out-of-range argument value(s) presented to proc_adu_utils library routine.</description> - <ffdc>ARGS</ffdc> + <rc>RC_PROC_ADU_UTILS_INVALID_LOCK_ATTEMPTS</rc> + <ffdc>TARGET</ffdc> + <ffdc>ATTEMPTS</ffdc> + <description>Invalid number of lock manipulation attempts presented to proc_adu_utils library routine.</description> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> </hwpError> + <!-- *********************************************************************** --> <hwpError> - <rc>RC_PROC_ADU_UTILS_INTERNAL_ERR</rc> - <description>Unexpected internal program logic error</description> - <ffdc>ERR_DATA</ffdc> + <rc>RC_PROC_ADU_UTILS_INVALID_LOCK_OPERATION</rc> + <ffdc>TARGET</ffdc> + <ffdc>OPERATION</ffdc> + <description>Invalid lock operation type presented to proc_adu_utils library routine.</description> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> </hwpError> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PROC_ADU_UTILS_INVALID_FBC_OP</rc> + <ffdc>TARGET</ffdc> + <ffdc>ADDRESS</ffdc> + <ffdc>HP</ffdc> + <ffdc>HP_QUIESCE_DLY</ffdc> + <ffdc>HP_INIT_DLY</ffdc> + <description>Invalid fabric op programming parameters presented to proc_adu_utils library routine.</description> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> </hwpErrors> diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_fbc_utils.H b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_fbc_utils.H index a4ec1264c..a00d2dfdb 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_fbc_utils.H +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_fbc_utils.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_fbc_utils.H,v 1.2 2012/04/27 06:49:15 jmcgill Exp $ +// $Id: proc_fbc_utils.H,v 1.3 2014/01/19 17:34:51 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/utils/proc_fbc_utils.H,v $ //------------------------------------------------------------------------------ // *| @@ -29,7 +29,7 @@ // *! *** IBM Confidential *** // *| // *! TITLE : proc_fbc_utils.H -// *! DESCRIPTION : PBA library functions (FAPI) +// *! DESCRIPTION : Fabric library functions (FAPI) // *! // *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com // *! @@ -43,7 +43,7 @@ //------------------------------------------------------------------------------ #include <fapi.H> -#include "p8_scom_addresses.H" +#include <p8_scom_addresses.H> extern "C" { @@ -56,14 +56,6 @@ const uint64_t PROC_FBC_UTILS_FBC_MAX_ADDRESS = ((1ULL << 50)-1ULL); const uint64_t PROC_FBC_UTILS_CACHELINE_MASK = 0x7FULL; const uint64_t PROC_FBC_UTILS_LAST_ADDR_IN_CACHELINE = 0x78ULL; -// PB Mode register field bit/definitions -const uint32_t PB_MODE_FBC_INIT_BIT = 0; - -// ADU pMISC Mode register field/bit definitions -const uint32_t ADU_PMISC_MODE_DISABLE_CHECKSTOP_BIT = 19; -const uint32_t ADU_PMISC_MODE_MANUAL_CLEAR_FBC_STOP_BIT = 21; -const uint32_t ADU_PMISC_MODE_FBC_STOP_BIT = 22; - //------------------------------------------------------------------------------ // Function prototypes |