diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-16 08:31:34 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-16 08:31:34 +0000 |
commit | 9f9a82bdced91b9de49426dc7d73b57d48917112 (patch) | |
tree | 2a12b57a1bf29369deb5add358fea2660f9ba660 /cpukit | |
parent | 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-9f9a82bdced91b9de49426dc7d73b57d48917112.tar.bz2 |
2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* score/include/rtems/score/basedefs.h: New file.
* score/Makefile.am, score/preinstall.am: Reflect change above.
* score/include/rtems/score/percpu.h: Include <rtems/score/cpu.h>.
* score/include/rtems/system.h: Moved definition of SCORE_EXTERN,
SAPI_EXTERN, RTEMS_EXTERN, POSIX_EXTERN, RTEMS_INLINE_ROUTINE,
RTEMS_COMPILER_MEMORY_BARRIER, RTEMS_COMPILER_NO_RETURN_ATTRIBUTE,
RTEMS_COMPILER_DEPRECATED_ATTRIBUTE, TRUE, and FALSE to
<rtems/score/basedefs.h>.
Removed include of <rtems/score/cpu.h>, <stdint.h> and <stddef.h>.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/ChangeLog | 12 | ||||
-rw-r--r-- | cpukit/score/Makefile.am | 3 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/basedefs.h | 162 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/percpu.h | 2 | ||||
-rw-r--r-- | cpukit/score/include/rtems/system.h | 148 | ||||
-rw-r--r-- | cpukit/score/preinstall.am | 4 |
6 files changed, 187 insertions, 144 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 39591f2737..9b7540eb38 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,17 @@ 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de> + * score/include/rtems/score/basedefs.h: New file. + * score/Makefile.am, score/preinstall.am: Reflect change above. + * score/include/rtems/score/percpu.h: Include <rtems/score/cpu.h>. + * score/include/rtems/system.h: Moved definition of SCORE_EXTERN, + SAPI_EXTERN, RTEMS_EXTERN, POSIX_EXTERN, RTEMS_INLINE_ROUTINE, + RTEMS_COMPILER_MEMORY_BARRIER, RTEMS_COMPILER_NO_RETURN_ATTRIBUTE, + RTEMS_COMPILER_DEPRECATED_ATTRIBUTE, TRUE, and FALSE to + <rtems/score/basedefs.h>. + Removed include of <rtems/score/cpu.h>, <stdint.h> and <stddef.h>. + +2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de> + * libmd/md4.c: Removed definition of TRUE and FALSE. 2010-07-15 Joel Sherrill <joel.sherrill@oarcorp.com> diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index 12f549917b..01978fce3a 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -32,7 +32,8 @@ include_rtems_score_HEADERS = include/rtems/score/address.h \ include/rtems/score/timestamp.h include/rtems/score/timestamp64.h \ include/rtems/score/tod.h include/rtems/score/tqdata.h \ include/rtems/score/userext.h include/rtems/score/watchdog.h \ - include/rtems/score/wkspace.h include/rtems/score/cpuopts.h + include/rtems/score/wkspace.h include/rtems/score/cpuopts.h \ + include/rtems/score/basedefs.h if HAS_PTHREADS include_rtems_score_HEADERS += include/rtems/score/corespinlock.h \ diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h new file mode 100644 index 0000000000..1c53130003 --- /dev/null +++ b/cpukit/score/include/rtems/score/basedefs.h @@ -0,0 +1,162 @@ +/** + * @file + * + * @ingroup Score + * + * @brief Basic definitions. + */ + +/* + * COPYRIGHT (c) 1989-2007. + * On-Line Applications Research Corporation (OAR). + * + * Copyright (c) 2010 embedded brains GmbH. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _RTEMS_BASEDEFS_H +#define _RTEMS_BASEDEFS_H + +#include <rtems/score/cpuopts.h> + +#ifndef ASM + #include <stddef.h> + #include <stdbool.h> + #include <stdint.h> +#endif + +#ifndef TRUE + #define TRUE 1 +#endif + +#ifndef FALSE + #define FALSE 0 +#endif + +#if TRUE == FALSE + #error "TRUE equals FALSE" +#endif + +/** + * The following ensures that all data is declared in the space + * of the initialization routine for either the Initialization Manager + * or the initialization file for the appropriate API. It is + * referenced as "external" in every other file. + */ +#ifdef SCORE_INIT +#undef SCORE_EXTERN +#define SCORE_EXTERN +#else +#undef SCORE_EXTERN +#define SCORE_EXTERN extern +#endif + +/** + * The following ensures that all data is declared in the space + * of the initialization routine for either the Initialization Manager + * or the initialization file for the appropriate API. It is + * referenced as "external" in every other file. + */ +#ifdef SAPI_INIT +#undef SAPI_EXTERN +#define SAPI_EXTERN +#else +#undef SAPI_EXTERN +#define SAPI_EXTERN extern +#endif + +/** + * The following ensures that all data is declared in the space + * of the initialization routine for either the Initialization Manager + * or the initialization file for the appropriate API. It is + * referenced as "external" in every other file. + */ +#ifdef RTEMS_API_INIT +#undef RTEMS_EXTERN +#define RTEMS_EXTERN +#else +#undef RTEMS_EXTERN +#define RTEMS_EXTERN extern +#endif + +/** + * The following ensures that all data is declared in the space + * of the initialization routine for either the Initialization Manager + * or the initialization file for the appropriate API. It is + * referenced as "external" in every other file. + */ +#ifdef POSIX_API_INIT +#undef POSIX_EXTERN +#define POSIX_EXTERN +#else +#undef POSIX_EXTERN +#define POSIX_EXTERN extern +#endif + +/** + * The following (in conjunction with compiler arguments) are used + * to choose between the use of static inline functions and macro + * functions. The static inline implementation allows better + * type checking with no cost in code size or execution speed. + */ +#ifdef __GNUC__ +# define RTEMS_INLINE_ROUTINE static __inline__ +#else +# define RTEMS_INLINE_ROUTINE static inline +#endif + +/** + * The following macro is a compiler specific way to ensure that memory + * writes are not reordered around certian points. This specifically can + * impact interrupt disable and thread dispatching critical sections. + */ +#ifdef __GNUC__ + #define RTEMS_COMPILER_MEMORY_BARRIER() asm volatile("" ::: "memory") +#else + #define RTEMS_COMPILER_MEMORY_BARRIER() +#endif + +/** + * The following macro is a compiler specific way to indicate that + * the method will NOT return to the caller. This can assist the + * compiler in code generation and avoid unreachable paths. This + * can impact the code generated following calls to + * rtems_fatal_error_occurred and _Internal_error_Occurred. + */ +#ifdef __GNUC__ + #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE \ + __attribute__ ((noreturn)) +#else + #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE +#endif + +/** + * Instructs the compiler to issue a warning whenever a variable or function + * with this attribute will be used. + */ +#ifdef __GNUC__ + #define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE \ + __attribute__ ((deprecated)) +#else + #define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE +#endif + +#ifndef ASM + #ifdef RTEMS_DEPRECATED_TYPES + typedef bool boolean; + typedef float single_precision; + typedef double double_precision; + #endif + + /** + * XXX: Eventually proc_ptr needs to disappear!!! + */ + typedef void * proc_ptr; +#endif + +#endif /* _RTEMS_BASEDEFS_H */ diff --git a/cpukit/score/include/rtems/score/percpu.h b/cpukit/score/include/rtems/score/percpu.h index 3d7fb18f0a..ac92e1f9c7 100644 --- a/cpukit/score/include/rtems/score/percpu.h +++ b/cpukit/score/include/rtems/score/percpu.h @@ -19,6 +19,8 @@ #ifndef _RTEMS_PERCPU_H #define _RTEMS_PERCPU_H +#include <rtems/score/cpu.h> + #ifdef ASM #include <rtems/asm.h> #endif diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h index 2bb55d7c8e..7ca6c33a8b 100644 --- a/cpukit/score/include/rtems/system.h +++ b/cpukit/score/include/rtems/system.h @@ -20,158 +20,19 @@ #ifndef _RTEMS_SYSTEM_H #define _RTEMS_SYSTEM_H +#include <rtems/score/percpu.h> + #ifdef __cplusplus extern "C" { #endif -/* - * The cpu options include file defines all cpu dependent - * parameters for this build of RTEMS. It must be included - * first so the basic macro definitions are in place. - */ -#include <rtems/score/cpuopts.h> - -/** - * The following ensures that all data is declared in the space - * of the initialization routine for either the Initialization Manager - * or the initialization file for the appropriate API. It is - * referenced as "external" in every other file. - */ -#ifdef SCORE_INIT -#undef SCORE_EXTERN -#define SCORE_EXTERN -#else -#undef SCORE_EXTERN -#define SCORE_EXTERN extern -#endif - -/** - * The following ensures that all data is declared in the space - * of the initialization routine for either the Initialization Manager - * or the initialization file for the appropriate API. It is - * referenced as "external" in every other file. - */ -#ifdef SAPI_INIT -#undef SAPI_EXTERN -#define SAPI_EXTERN -#else -#undef SAPI_EXTERN -#define SAPI_EXTERN extern -#endif - -/** - * The following ensures that all data is declared in the space - * of the initialization routine for either the Initialization Manager - * or the initialization file for the appropriate API. It is - * referenced as "external" in every other file. - */ -#ifdef RTEMS_API_INIT -#undef RTEMS_EXTERN -#define RTEMS_EXTERN -#else -#undef RTEMS_EXTERN -#define RTEMS_EXTERN extern -#endif - -/** - * The following ensures that all data is declared in the space - * of the initialization routine for either the Initialization Manager - * or the initialization file for the appropriate API. It is - * referenced as "external" in every other file. - */ -#ifdef POSIX_API_INIT -#undef POSIX_EXTERN -#define POSIX_EXTERN -#else -#undef POSIX_EXTERN -#define POSIX_EXTERN extern -#endif - -/** - * The following (in conjunction with compiler arguments) are used - * to choose between the use of static inline functions and macro - * functions. The static inline implementation allows better - * type checking with no cost in code size or execution speed. - */ -#ifdef __GNUC__ -# define RTEMS_INLINE_ROUTINE static __inline__ -#else -# define RTEMS_INLINE_ROUTINE static inline -#endif - -/** - * The following macro is a compiler specific way to ensure that memory - * writes are not reordered around certian points. This specifically can - * impact interrupt disable and thread dispatching critical sections. - */ -#ifdef __GNUC__ - #define RTEMS_COMPILER_MEMORY_BARRIER() asm volatile("" ::: "memory") -#else - #define RTEMS_COMPILER_MEMORY_BARRIER() -#endif - -/** - * The following macro is a compiler specific way to indicate that - * the method will NOT return to the caller. This can assist the - * compiler in code generation and avoid unreachable paths. This - * can impact the code generated following calls to - * rtems_fatal_error_occurred and _Internal_error_Occurred. - */ -#ifdef __GNUC__ - #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE \ - __attribute__ ((noreturn)) -#else - #define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE -#endif - -/** - * Instructs the compiler to issue a warning whenever a variable or function - * with this attribute will be used. - */ -#ifdef __GNUC__ - #define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE \ - __attribute__ ((deprecated)) -#else - #define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE -#endif - #ifndef ASM + #ifdef RTEMS_POSIX_API /** The following is used by the POSIX implementation to catch bad paths. */ int POSIX_NOT_IMPLEMENTED( void ); #endif -/* - * Include a base set of files. - */ - -/** - * XXX: Eventually proc_ptr needs to disappear!!! - */ -typedef void * proc_ptr; - -#include <stddef.h> -#endif - -#if !defined( TRUE ) || (TRUE != 1) -/** Boolean constant TRUE */ -#undef TRUE -#define TRUE (1) -#endif - -#if !defined( FALSE ) || (FALSE != 0) -/** Boolean constant FALSE */ -#undef FALSE -#define FALSE (0) -#endif - -#ifndef ASM -#include <stdint.h> -#endif -#include <rtems/score/cpu.h> /* processor specific information */ -#include <rtems/score/percpu.h> - -#ifndef ASM /** * This macro is used to obtain the offset of a field in a structure. */ @@ -192,7 +53,8 @@ extern const char _Copyright_Notice[]; /** This macro defines the maximum length of a Classic API name. */ #define RTEMS_MAXIMUM_NAME_LENGTH sizeof(rtems_name) -#endif + +#endif /* ASM */ #ifdef __cplusplus } diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am index 617272b28a..71e489d02f 100644 --- a/cpukit/score/preinstall.am +++ b/cpukit/score/preinstall.am @@ -167,6 +167,10 @@ $(PROJECT_INCLUDE)/rtems/score/cpuopts.h: include/rtems/score/cpuopts.h $(PROJEC $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuopts.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuopts.h +$(PROJECT_INCLUDE)/rtems/score/basedefs.h: include/rtems/score/basedefs.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/basedefs.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/basedefs.h + if HAS_PTHREADS $(PROJECT_INCLUDE)/rtems/score/corespinlock.h: include/rtems/score/corespinlock.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corespinlock.h |