From: Yann Gautier Date: Thu, 15 Nov 2018 08:49:24 +0000 (+0100) Subject: utils_def: add an assembly version for GENMASK X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=46c613ee0a4b5d6ff2dd016c455f8cc7ee9cabd4;p=project%2Fbcm63xx%2Fatf.git utils_def: add an assembly version for GENMASK When compiling assembly files, stdint.h is not included. UINT32_C and UINT64_C are then not defined. A new GENMASK macro for assembly is then created. Signed-off-by: Yann Gautier --- diff --git a/include/lib/utils_def.h b/include/lib/utils_def.h index 1dd57cb3..fa13caa6 100644 --- a/include/lib/utils_def.h +++ b/include/lib/utils_def.h @@ -30,11 +30,19 @@ * position @h. For example * GENMASK_64(39, 21) gives us the 64bit vector 0x000000ffffe00000. */ +#if defined(__LINKER__) || defined(__ASSEMBLY__) +#define GENMASK_32(h, l) \ + (((0xFFFFFFFF) << (l)) & (0xFFFFFFFF >> (32 - 1 - (h)))) + +#define GENMASK_64(h, l) \ + ((~0 << (l)) & (~0 >> (64 - 1 - (h)))) +#else #define GENMASK_32(h, l) \ (((~UINT32_C(0)) << (l)) & (~UINT32_C(0) >> (32 - 1 - (h)))) #define GENMASK_64(h, l) \ (((~UINT64_C(0)) << (l)) & (~UINT64_C(0) >> (64 - 1 - (h)))) +#endif #ifdef AARCH32 #define GENMASK GENMASK_32