mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 17:44:19 +00:00
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 <yann.gautier@st.com>
This commit is contained in:
parent
35c4b414be
commit
46c613ee0a
1 changed files with 8 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue