summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/system.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-07-16 08:31:34 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-07-16 08:31:34 +0000
commit9f9a82bdced91b9de49426dc7d73b57d48917112 (patch)
tree2a12b57a1bf29369deb5add358fea2660f9ba660 /cpukit/score/include/rtems/system.h
parent2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-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/score/include/rtems/system.h')
-rw-r--r--cpukit/score/include/rtems/system.h148
1 files changed, 5 insertions, 143 deletions
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
}