From 5e83bcb5cf9d400739cfb2beaab1a3173e8cafb2 Mon Sep 17 00:00:00 2001 From: Shakeeb Date: Thu, 1 Sep 2016 06:24:44 -0500 Subject: SBE move import` Change-Id: I726951318cdb19fd445af2f7910e0d6872eff18c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29086 Tested-by: Jenkins Server Reviewed-by: Sachin Gupta Reviewed-by: AMIT J. TENDOLKAR --- src/import/tools/imageProcs/fapi_sbe_common.H | 66 +++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/import/tools/imageProcs/fapi_sbe_common.H (limited to 'src/import/tools') diff --git a/src/import/tools/imageProcs/fapi_sbe_common.H b/src/import/tools/imageProcs/fapi_sbe_common.H new file mode 100644 index 00000000..3c29b7f4 --- /dev/null +++ b/src/import/tools/imageProcs/fapi_sbe_common.H @@ -0,0 +1,66 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: import/tools/imageProcs/fapi_sbe_common.H $ */ +/* */ +/* OpenPOWER sbe Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* 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 */ +/* */ +/* 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. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// \file fapi_sbe_common.H +/// \brief provides several preprocessor macros used functions in fixed secion. +/// +/// Several preprocessor macros are required to have different definitions in +/// C, C++ and SBE assembly procedures. These common forms are collected here. + +#ifndef __FAPI_SBE_COMMON_H +#define __FAPI_SBE_COMMON_H + +/// Several preprocessor macros are required to have different definitions in +/// C, C++ and SBE assembly procedures. These common forms are collected here. + +#if defined __ASSEMBLER__ + + #define CONST_UINT8_T(name, expr) .set name, (expr) + #define CONST_UINT32_T(name, expr) .set name, (expr) + #define CONST_UINT64_T(name, expr) .set name, (expr) + + #define ULL(x) x + +#elif defined __cplusplus + + #include + + #define CONST_UINT8_T(name, expr) const uint8_t name = (expr); + #define CONST_UINT32_T(name, expr) const uint32_t name = (expr); + #define CONST_UINT64_T(name, expr) const uint64_t name = (expr); + + #define ULL(x) x##ull + +#else // C code + + // CONST_UINT[8,3,64]_T() can't be used in C code/headers; Use + // + // #define [ or ULL() for 64-bit constants + + #define ULL(x) x##ull + +#endif // __ASSEMBLER__ + +#endif // __FAPI_SBE_COMMON_H -- cgit v1.2.1