diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-03-09 19:59:46 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-03-09 19:59:46 +0000 |
commit | f33ae4e1e9a6def8e70b1a888061817dc17fdaf1 (patch) | |
tree | de0a7c6e876193c39f0dec7adaeb10c2da6fbef5 /nuttx/include | |
parent | 961958ec0596a99fae3e89c33ef5244e9ffa3075 (diff) | |
download | px4-nuttx-f33ae4e1e9a6def8e70b1a888061817dc17fdaf1.tar.gz px4-nuttx-f33ae4e1e9a6def8e70b1a888061817dc17fdaf1.tar.bz2 px4-nuttx-f33ae4e1e9a6def8e70b1a888061817dc17fdaf1.zip |
Adding ez80 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@730 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/include')
-rw-r--r-- | nuttx/include/nuttx/compiler.h | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/nuttx/include/nuttx/compiler.h b/nuttx/include/nuttx/compiler.h index e8d14f7fd..0960fe3a5 100644 --- a/nuttx/include/nuttx/compiler.h +++ b/nuttx/include/nuttx/compiler.h @@ -230,7 +230,7 @@ /* At present, only the Zilog ZNeo compiler is recognized */ -# if !defined(__ZNEO__) && !defined(__EZ8__) +# if !defined(__ZNEO__) && !defined(__EZ8__) && !defined(__EZ80__) # warning "Unrecognized Zilog compiler" # endif @@ -272,24 +272,38 @@ * Z8Encore!: Far is 16-bits; near is 8-bits of address. * The supported model is (1) all code on ROM, and (2) all data * and stacks in internal (far) RAM. + * Z8Acclaim: In Z80 mode, all pointers are 16-bits. In ADL mode, all pointers + * and 24 bits. */ -# ifdef __ZNEO__ +# if defined(__ZNEO__) # define FAR _Far # define NEAR _Near # define DSEG _Far # define CODE _Erom -# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */ -# undef CONFIG_LONG_IS_NOT_INT /* Long and int are the same size */ -# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */ -# else +# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */ +# undef CONFIG_LONG_IS_NOT_INT /* Long and int are the same size */ +# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */ +# elif defined(__EZ8__) # define FAR far # define NEAR near # define DSEG far # define CODE rom -# define CONFIG_SMALL_MEMORY 1 /* Select small, 16-bit address model */ -# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */ -# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */ +# define CONFIG_SMALL_MEMORY 1 /* Select small, 16-bit address model */ +# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */ +# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */ +# elif defined(__EZ80__) +# define FAR +# define NEAR +# define DSEG +# define CODE +# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */ +# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */ +# ifdef CONFIG_EZ80_Z80MODE +# define CONFIG_PTR_IS_NOT_INT 1 /* Pointers and int are not the same size */ +# else +# undef CONFIG_PTR_IS_NOT_INT /* Pointers and int are the same size */ +# endif # endif /* The Zilog compiler does not support inline functions */ @@ -297,9 +311,10 @@ # undef CONFIG_HAVE_INLINE # define inline -/* The Zilog compiler supports both types double and long long, - * but the size is 32-bits (same as long and single precision) - * so it is safer to say that they are not supported. +/* Older Zilog compilers support both types double and long long, but the size + * is 32-bits (same as long and single precision) so it is safer to say that + * they are not supported. Later versions are more ANSII compliant and + * simply do not support long long or double. */ # undef CONFIG_HAVE_DOUBLE |