Search
lxdream.org :: lxdream/test/include/sys/config.h
lxdream 0.9.1
released Jun 29
Download Now
filename test/include/sys/config.h
changeset 185:6755a04c447f
author nkeynes
date Fri Feb 08 00:06:56 2008 +0000 (16 years ago)
permissions -rw-r--r--
last change Fix LDS/STS to FPUL/FPSCR to check the FPU disabled bit. Fixes
the linux 2.4.0-test8 kernel boot
(this wasn't exactly very well documented in the original manual)
view annotate diff log raw
     1 #ifndef __SYS_CONFIG_H__
     2 #define __SYS_CONFIG_H__
     4 /* exceptions first */
     5 /* ??? Why is much of this stuff duplicated with machine/ieeefp.h?  */
     6 #if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) ||  defined(__W65__) || defined (__H8300S__)
     7 #define _FLOAT_ARG float
     8 #define __SMALL_BITFIELDS
     9 #define _DOUBLE_IS_32BITS
    10 #define __IEEE_BIG_ENDIAN
    11 /* ???  This conditional is true for the h8500 and the w65, defining H8300
    12    in those cases probably isn't the right thing to do.  */
    13 #define H8300 1
    14 #endif
    16 #ifdef __W65__
    17 #define _DOUBLE_IS_32BITS
    18 #define __SMALL_BITFIELDS
    19 #define __IEEE_BIG_ENDIAN
    20 #undef INT_MAX
    21 #undef UINT_MAX
    22 #define INT_MAX 32767
    23 #define UINT_MAX 65535
    25 #endif
    27 /* 16 bit integer machines */
    28 #if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__)
    30 #undef INT_MAX
    31 #undef UINT_MAX
    32 #define INT_MAX 32767
    33 #define UINT_MAX 65535
    34 #endif
    36 #if defined(__D10V__)
    37 #undef INT_MAX
    38 #undef UINT_MAX
    39 #define INT_MAX __INT_MAX__
    40 #define UINT_MAX (__INT_MAX__ * 2U + 1)
    41 #define _DOUBLE_IS_32BITS
    42 #define _POINTER_INT short
    43 #define __IEEE_BIG_ENDIAN
    44 #endif
    46 #ifdef ___AM29K__
    47 #define _FLOAT_RET double
    48 #endif
    50 #ifdef __i386__
    51 #ifndef __unix__
    52 /* in other words, go32 */
    53 #define _FLOAT_RET double
    54 #endif
    55 #endif
    57 #ifdef __M32R__
    58 #define __IEEE_BIG_ENDIAN
    59 #endif
    61 #ifdef __m68k__
    62 /* This is defined in machine/ieeefp.h; need to check is it redundant here? */
    63 #define __IEEE_BIG_ENDIAN
    64 #endif
    66 #ifdef __mn10300__
    67 #define __IEEE_LITTLE_ENDIAN
    68 #endif
    70 #ifdef __mn10200__
    71 #define _DOUBLE_IS_32BITS
    72 #define __SMALL_BITFIELDS
    73 #define __IEEE_LITTLE_ENDIAN
    74 #endif
    76 #ifdef __TIC80__
    77 #define __IEEE_LITTLE_ENDIAN
    78 #endif
    80 #ifdef __v850
    81 #define __IEEE_LITTLE_ENDIAN
    82 #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
    83 #endif
    85 #ifdef __D30V__
    86 #define __IEEE_BIG_ENDIAN
    87 #endif
    89 /* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
    90 #if defined(__PPC__) && defined(_CALL_SYSV)
    91 #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
    92 #endif
    94 #ifdef __sparc__
    95 #ifdef __LITTLE_ENDIAN_DATA__
    96 #define __IEEE_LITTLE_ENDIAN
    97 #else
    98 #define __IEEE_BIG_ENDIAN
    99 #endif
   100 #endif
   102 #if INT_MAX == 32767
   103 typedef long int __int32_t;
   104 typedef unsigned long int __uint32_t;
   105 #else
   106 typedef int __int32_t;
   107 typedef unsigned int __uint32_t;
   108 #endif
   110 #ifndef _POINTER_INT
   111 #define _POINTER_INT long
   112 #endif
   115 #endif /* __SYS_CONFIG_H__ */
.