1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_LIBGCC_H 2 #ifndef __ASM_LIBGCC_H 3 #define __ASM_LIBGCC_H 3 #define __ASM_LIBGCC_H 4 4 5 #include <asm/byteorder.h> 5 #include <asm/byteorder.h> 6 6 7 typedef int word_type __attribute__ ((mode (__ 7 typedef int word_type __attribute__ ((mode (__word__))); 8 8 9 #ifdef __BIG_ENDIAN 9 #ifdef __BIG_ENDIAN 10 struct DWstruct { 10 struct DWstruct { 11 int high, low; 11 int high, low; 12 }; 12 }; 13 13 14 struct TWstruct { 14 struct TWstruct { 15 long long high, low; 15 long long high, low; 16 }; 16 }; 17 #elif defined(__LITTLE_ENDIAN) 17 #elif defined(__LITTLE_ENDIAN) 18 struct DWstruct { 18 struct DWstruct { 19 int low, high; 19 int low, high; 20 }; 20 }; 21 21 22 struct TWstruct { 22 struct TWstruct { 23 long long low, high; 23 long long low, high; 24 }; 24 }; 25 #else 25 #else 26 #error I feel sick. 26 #error I feel sick. 27 #endif 27 #endif 28 28 29 typedef union { 29 typedef union { 30 struct DWstruct s; 30 struct DWstruct s; 31 long long ll; 31 long long ll; 32 } DWunion; 32 } DWunion; 33 33 34 #if defined(CONFIG_64BIT) && defined(CONFIG_CP 34 #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) 35 typedef int ti_type __attribute__((mode(TI))); 35 typedef int ti_type __attribute__((mode(TI))); 36 36 37 typedef union { 37 typedef union { 38 struct TWstruct s; 38 struct TWstruct s; 39 ti_type ti; 39 ti_type ti; 40 } TWunion; 40 } TWunion; 41 #endif 41 #endif 42 42 43 #endif /* __ASM_LIBGCC_H */ 43 #endif /* __ASM_LIBGCC_H */ 44 44
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.