diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2015-08-03 20:47:38 -0500 |
---|---|---|
committer | Martin Peschke <mpeschke@de.ibm.com> | 2015-10-01 10:11:09 +0200 |
commit | a9677f2db31d37ddba1aad5fbf25abb708b5d532 (patch) | |
tree | a0b1636763de91fa2b65731e451dc5c280f6e607 /import/hwpf/fapi2/include/plat/plat_error_scope.H | |
parent | 9ce77ea71148583c35baf4522a40110c1007a6e3 (diff) | |
download | talos-sbe-a9677f2db31d37ddba1aad5fbf25abb708b5d532.tar.gz talos-sbe-a9677f2db31d37ddba1aad5fbf25abb708b5d532.zip |
FAPI2: Move plat sample files to subdir.
Change-Id: I9d1be41fccb17e60738d25adc23d992aac14dbbd
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19552
Tested-by: Jenkins Server
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import/hwpf/fapi2/include/plat/plat_error_scope.H')
-rw-r--r-- | import/hwpf/fapi2/include/plat/plat_error_scope.H | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/import/hwpf/fapi2/include/plat/plat_error_scope.H b/import/hwpf/fapi2/include/plat/plat_error_scope.H new file mode 100644 index 00000000..d2b22fbc --- /dev/null +++ b/import/hwpf/fapi2/include/plat/plat_error_scope.H @@ -0,0 +1,58 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: hwpf/fapi2/include/plat/plat_error_scope.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2012,2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/** + * @file plat_error_scope.H + * @brief platform definitions which create a scope for automatic error handling + */ + +#ifndef __FAPI2_PLAT_ERROR_SCOPE__ +#define __FAPI2_PLAT_ERROR_SCOPE__ + +/// @cond +#define PLAT_FAPI_TRY_NO_TRACE( __operation__ ) \ + if ((fapi2::current_err = (__operation__)) != fapi2::FAPI2_RC_SUCCESS) \ + { \ + goto fapi_try_exit; \ + } + +#define PLAT_FAPI_TRY_TRACE( __operation__, ... ) \ + if ((fapi2::current_err = (__operation__)) != fapi2::FAPI2_RC_SUCCESS) \ + { \ + FAPI_ERR(__VA_ARGS__); \ + goto fapi_try_exit; \ + } + +/// +/// @brief Assert a conditional is true. +/// If it is not, the FFDC gathering function is called and the +/// trace is output as a FAPI error trace. +/// @param[in] __conditional__ the condition to assert +/// @param[in] __ffdc__ the FFDC gathering function +/// @param[in] ... varargs, as input to FAPI_ERR +/// +#define PLAT_FAPI_ASSERT( __conditional__, __ffdc__, ... ) \ + if (! (__conditional__)) \ + { \ + (__ffdc__).execute(); \ + FAPI_ERR(__VA_ARGS__); \ + goto fapi_try_exit; \ + } +/// @endcond + +#endif |