diff options
author | Brian Silver <bsilver@us.ibm.com> | 2015-06-17 09:29:38 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2015-12-11 13:40:20 -0600 |
commit | e792e4f2aefca1bfbad6c64f6fc76643d85d9cc7 (patch) | |
tree | e0199ab5125f29f8a41ae53fb4572d639549e105 /src/import/hwpf | |
parent | 2bd57345c076ac946012181eb3b4558c6799b6f0 (diff) | |
download | talos-hostboot-e792e4f2aefca1bfbad6c64f6fc76643d85d9cc7.tar.gz talos-hostboot-e792e4f2aefca1bfbad6c64f6fc76643d85d9cc7.zip |
Change fapi2::delay interface to include DFT fixed identification
Change-Id: Iea34cff29845a124f8ef3f3e7d0c209100b2a307
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18557
Tested-by: Jenkins Server
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Reviewed-by: Johannes Koesters <koesters@de.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'src/import/hwpf')
-rw-r--r-- | src/import/hwpf/fapi2/include/utils.H | 127 |
1 files changed, 62 insertions, 65 deletions
diff --git a/src/import/hwpf/fapi2/include/utils.H b/src/import/hwpf/fapi2/include/utils.H index 0c19b0965..28a70a06f 100644 --- a/src/import/hwpf/fapi2/include/utils.H +++ b/src/import/hwpf/fapi2/include/utils.H @@ -1,25 +1,19 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: $ */ +/* $Source: hwpf/fapi2/include/utils.H $ */ /* */ -/* OpenPOWER HostBoot Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ -/* [+] International Business Machines Corp. */ +/* IBM CONFIDENTIAL */ /* */ +/* EKB Project */ /* */ -/* Licensed under the Apache License, Version 2.0 (the "License"); */ -/* you may not use this file except in compliance with the License. */ -/* You may obtain a copy of the License at */ +/* COPYRIGHT 2011,2015 */ +/* [+] International Business Machines Corp. */ /* */ -/* http://www.apache.org/licenses/LICENSE-2.0 */ /* */ -/* Unless required by applicable law or agreed to in writing, software */ -/* distributed under the License is distributed on an "AS IS" BASIS, */ -/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ -/* implied. See the License for the specific language governing */ -/* permissions and limitations under the License. */ +/* 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 */ /** @@ -36,59 +30,62 @@ namespace fapi2 { - /// - /// @brief Log an error. - /// - /// @param[in,out] io_rc Reference to ReturnCode (Any references to data and error - /// target are removed and rc value is set to success after - /// function ends.) - /// @param[in] i_sev Fapi error log severity defaulted to unrecoverable - /// @param[in] i_unitTestError - flag to log error which does not cause a unit - /// test to fail. - /// - /// @note This function is called from the ffdc collection classes and no longer - /// needs to be called directly. - /// @note Implemented by platform code - /// - void logError( - fapi2::ReturnCode & io_rc, - fapi2::errlSeverity_t i_sev = fapi2::FAPI2_ERRL_SEV_UNRECOVERABLE, - bool i_unitTestError = false ); +/// +/// @brief Log an error. +/// +/// @param[in,out] io_rc Reference to ReturnCode (Any references to data and error +/// target are removed and rc value is set to success after +/// function ends.) +/// @param[in] i_sev Fapi error log severity defaulted to unrecoverable +/// @param[in] i_unitTestError - flag to log error which does not cause a unit +/// test to fail. +/// +/// @note This function is called from the ffdc collection classes and no longer +/// needs to be called directly. +/// @note Implemented by platform code +/// +void logError( + fapi2::ReturnCode & io_rc, + fapi2::errlSeverity_t i_sev = fapi2::FAPI2_ERRL_SEV_UNRECOVERABLE, + bool i_unitTestError = false ); - /// - /// @brief Delay this thread. Hostboot will use the nanoseconds parameter - /// and make a syscall to nanosleep. While in the syscall, the hostboot - /// kernel will continue to consume CPU cycles as it looks for a runnable - /// task. When the delay time expires, the task becomes runnable and will soon - /// return from the syscall. Callers of delay() in the hostboot environment - /// will likely have to know the mHz clock speed they are running on and - /// compute a non-zero value for i_nanoSeconds. - /// - /// On the FSP, it was sometimes acceptable to just provide zero for the - /// sleep delay time, causing the task to yield its time slice. By the - /// time the calling task could run again, it was pretty certain enough - /// host cycles had past. This is probably not acceptable in - /// the hostboot environment. Callers should calculate and provide a - /// sleep value in nanoseconds relative to host clock speed. - /// - /// On FSP when VBU is the target, then the i_simCycles parameter will be - /// used instead. The FSP needs to use the simdispatcher client/server - /// API and issue a command to the awan to advance the simulation the - /// specified number of cycles. - /// - /// @param[in] i_nanoSeconds nanoseconds to sleep - /// @param[in] i_simCycles count of Awan cycles to advance - /// - /// @return ReturnCode. Zero on success, else platform specified error. - /// - ReturnCode delay(uint64_t i_nanoSeconds, uint64_t i_simCycles); +/// +/// @brief Delay this thread. Hostboot will use the nanoseconds parameter +/// and make a syscall to nanosleep. While in the syscall, the hostboot +/// kernel will continue to consume CPU cycles as it looks for a runnable +/// task. When the delay time expires, the task becomes runnable and will soon +/// return from the syscall. Callers of delay() in the hostboot environment +/// will likely have to know the mHz clock speed they are running on and +/// compute a non-zero value for i_nanoSeconds. +/// +/// On the FSP, it was sometimes acceptable to just provide zero for the +/// sleep delay time, causing the task to yield its time slice. By the +/// time the calling task could run again, it was pretty certain enough +/// host cycles had past. This is probably not acceptable in +/// the hostboot environment. Callers should calculate and provide a +/// sleep value in nanoseconds relative to host clock speed. +/// +/// On FSP when VBU is the target, then the i_simCycles parameter will be +/// used instead. The FSP needs to use the simdispatcher client/server +/// API and issue a command to the awan to advance the simulation the +/// specified number of cycles. +/// +/// @param[in] i_nanoSeconds nanoseconds to sleep +/// @param[in] i_simCycles count of Awan cycles to advance +/// @param[in] i_fixed Determination, for DFT, if this time is +/// fixed or not. Defaults to non-fixed +/// +/// @return ReturnCode. Zero on success, else platform specified error. +/// +ReturnCode delay(uint64_t i_nanoSeconds, uint64_t i_simCycles, + bool i_fixed = false); - /// - /// @brief Assert a condition, and halt - /// - /// @param[in] a boolean representing the assertion - /// - void Assert(bool i_expression); +/// +/// @brief Assert a condition, and halt +/// +/// @param[in] a boolean representing the assertion +/// +void Assert(bool i_expression); }; #endif // FAPI2_UTILS_H_ |