[rtems commit] rtems: Create dpmem implementation header

Sebastian Huber sebh at rtems.org
Tue Jul 23 13:09:29 UTC 2013


Module:    rtems
Branch:    master
Commit:    562815cf0bae82467311becd5cf670ba35cd94b8
Changeset: http://git.rtems.org/rtems/commit/?id=562815cf0bae82467311becd5cf670ba35cd94b8

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul 23 13:00:31 2013 +0200

rtems: Create dpmem implementation header

Move implementation specific parts of dpmem.h and dpmem.inl into new
header file dpmemimpl.h.  The dpmem.h contains now only the application
visible API.

---

 cpukit/libcsupport/src/resource_snapshot.c         |    1 +
 cpukit/rtems/Makefile.am                           |    2 +-
 cpukit/rtems/include/rtems/rtems/dpmem.h           |   34 +-------------
 .../dpmem.inl => include/rtems/rtems/dpmemimpl.h}  |   47 ++++++++++++++++----
 cpukit/rtems/preinstall.am                         |    8 ++--
 cpukit/rtems/src/dpmem.c                           |    2 +-
 cpukit/rtems/src/dpmemcreate.c                     |    3 +-
 cpukit/rtems/src/dpmemdata.c                       |    3 +-
 cpukit/rtems/src/dpmemdelete.c                     |    3 +-
 cpukit/rtems/src/dpmemexternal2internal.c          |    3 +-
 cpukit/rtems/src/dpmemident.c                      |    3 +-
 cpukit/rtems/src/dpmeminternal2external.c          |    3 +-
 cpukit/sapi/src/rtemsapi.c                         |    2 +-
 testsuites/sptests/spsize/size.c                   |    4 +-
 14 files changed, 57 insertions(+), 61 deletions(-)

diff --git a/cpukit/libcsupport/src/resource_snapshot.c b/cpukit/libcsupport/src/resource_snapshot.c
index 917da8a..eda4a53 100644
--- a/cpukit/libcsupport/src/resource_snapshot.c
+++ b/cpukit/libcsupport/src/resource_snapshot.c
@@ -28,6 +28,7 @@
 #include <rtems/extensionimpl.h>
 
 #include <rtems/rtems/barrierimpl.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/rtems/messageimpl.h>
 #include <rtems/rtems/semimpl.h>
 
diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index 285d440..512b0f6 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -24,6 +24,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/cache.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/clock.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/config.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/dpmem.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/dpmemimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/event.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/eventimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/intr.h
@@ -65,7 +66,6 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/signalmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/taskmp.h
 endif
 
-include_rtems_rtems_HEADERS += inline/rtems/rtems/dpmem.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/part.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/ratemon.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/region.inl
diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h
index aea8aea..fd931c3 100644
--- a/cpukit/rtems/include/rtems/rtems/dpmem.h
+++ b/cpukit/rtems/include/rtems/rtems/dpmem.h
@@ -32,24 +32,13 @@
 #ifndef _RTEMS_RTEMS_DPMEM_H
 #define _RTEMS_RTEMS_DPMEM_H
 
-/**
- *  This constant is defined to extern most of the time when using
- *  this header file.  However by defining it to nothing, the data
- *  declared in this header file can be instantiated.  This is done
- *  in a single per manager file.
- */
-#ifndef RTEMS_DPMEM_EXTERN
-#define RTEMS_DPMEM_EXTERN extern
-#endif
+#include <rtems/rtems/types.h>
+#include <rtems/rtems/status.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#include <rtems/score/object.h>
-#include <rtems/rtems/support.h>
-#include <rtems/rtems/status.h>
-
 /**
  *  @defgroup ClassicDPMEM Dual Ported Memory
  *
@@ -77,19 +66,6 @@ typedef struct {
 }   Dual_ported_memory_Control;
 
 /**
- *  @brief Define the internal Dual Ported Memory information
- *  The following define the internal Dual Ported Memory information.
- */
-RTEMS_DPMEM_EXTERN Objects_Information  _Dual_ported_memory_Information;
-
-/**
- *  @brief Dual Ported Memory Manager Initialization
- *
- *  This routine performs the initialization necessary for this manager.
- */
-void _Dual_ported_memory_Manager_initialization(void);
-
-/**
  * @brief Creates a port into a dual-ported memory area.
  *
  * This routine implements the rtems_port_create directive. The port
@@ -193,15 +169,11 @@ rtems_status_code rtems_port_internal_to_external(
   void       **external
 );
 
-#ifndef __RTEMS_APPLICATION__
-#include <rtems/rtems/dpmem.inl>
-#endif
+/**@}*/
 
 #ifdef __cplusplus
 }
 #endif
 
-/**@}*/
-
 #endif
 /* end of include file */
diff --git a/cpukit/rtems/inline/rtems/rtems/dpmem.inl b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
similarity index 67%
rename from cpukit/rtems/inline/rtems/rtems/dpmem.inl
rename to cpukit/rtems/include/rtems/rtems/dpmemimpl.h
index 19a4add..1fa636d 100644
--- a/cpukit/rtems/inline/rtems/rtems/dpmem.inl
+++ b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
@@ -1,8 +1,9 @@
 /**
- * @file rtems/rtems/dpmem.inl
+ * @file
  *
- *  This include file contains the inline routine used in conjunction
- *  with the Dual Ported Memory Manager
+ * @ingroup ClassicDPMEMImpl
+ *
+ * @brief Dual Ported Memory Manager Implementation
  */
 
 /*  COPYRIGHT (c) 1989-2008.
@@ -13,17 +14,41 @@
  *  http://www.rtems.com/license/LICENSE.
  */
 
-#ifndef _RTEMS_RTEMS_DPMEM_H
-# error "Never use <rtems/rtems/dpmem.inl> directly; include <rtems/rtems/dpmem.h> instead."
-#endif
-
 #ifndef _RTEMS_RTEMS_DPMEM_INL
 #define _RTEMS_RTEMS_DPMEM_INL
 
+#include <rtems/rtems/dpmem.h>
+
+/**
+ * @defgroup ClassicDPMEMImpl Dual Ported Memory Manager Implementation
+ *
+ * @ingroup ClassicDPMEM
+ *
+ * @{
+ */
+
+/**
+ *  This constant is defined to extern most of the time when using
+ *  this header file.  However by defining it to nothing, the data
+ *  declared in this header file can be instantiated.  This is done
+ *  in a single per manager file.
+ */
+#ifndef RTEMS_DPMEM_EXTERN
+#define RTEMS_DPMEM_EXTERN extern
+#endif
+
+/**
+ *  @brief Define the internal Dual Ported Memory information
+ *  The following define the internal Dual Ported Memory information.
+ */
+RTEMS_DPMEM_EXTERN Objects_Information  _Dual_ported_memory_Information;
+
 /**
- *  @addtogroup ClassicDPMEM
- *  @{
+ *  @brief Dual Ported Memory Manager Initialization
+ *
+ *  This routine performs the initialization necessary for this manager.
  */
+void _Dual_ported_memory_Manager_initialization(void);
 
 /**
  *  @brief Allocates a port control block from the inactive chain
@@ -86,5 +111,9 @@ RTEMS_INLINE_ROUTINE bool _Dual_ported_memory_Is_null(
 
 /**@}*/
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 /* end of include file */
diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am
index 19e5bd6..b1140a3 100644
--- a/cpukit/rtems/preinstall.am
+++ b/cpukit/rtems/preinstall.am
@@ -67,6 +67,10 @@ $(PROJECT_INCLUDE)/rtems/rtems/dpmem.h: include/rtems/rtems/dpmem.h $(PROJECT_IN
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/dpmem.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/dpmem.h
 
+$(PROJECT_INCLUDE)/rtems/rtems/dpmemimpl.h: include/rtems/rtems/dpmemimpl.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/dpmemimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/dpmemimpl.h
+
 $(PROJECT_INCLUDE)/rtems/rtems/event.h: include/rtems/rtems/event.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/event.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/event.h
@@ -205,10 +209,6 @@ $(PROJECT_INCLUDE)/rtems/rtems/taskmp.h: include/rtems/rtems/taskmp.h $(PROJECT_
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/taskmp.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/taskmp.h
 endif
-$(PROJECT_INCLUDE)/rtems/rtems/dpmem.inl: inline/rtems/rtems/dpmem.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/dpmem.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/dpmem.inl
-
 $(PROJECT_INCLUDE)/rtems/rtems/part.inl: inline/rtems/rtems/part.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/part.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/part.inl
diff --git a/cpukit/rtems/src/dpmem.c b/cpukit/rtems/src/dpmem.c
index 88f06ca..a1003d6 100644
--- a/cpukit/rtems/src/dpmem.c
+++ b/cpukit/rtems/src/dpmem.c
@@ -23,7 +23,7 @@
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
 
diff --git a/cpukit/rtems/src/dpmemcreate.c b/cpukit/rtems/src/dpmemcreate.c
index 6987670..f8ca546 100644
--- a/cpukit/rtems/src/dpmemcreate.c
+++ b/cpukit/rtems/src/dpmemcreate.c
@@ -22,10 +22,9 @@
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
-#include <rtems/rtems/dpmem.h>
 
 rtems_status_code rtems_port_create(
   rtems_name    name,
diff --git a/cpukit/rtems/src/dpmemdata.c b/cpukit/rtems/src/dpmemdata.c
index dac7873..1d2c272 100644
--- a/cpukit/rtems/src/dpmemdata.c
+++ b/cpukit/rtems/src/dpmemdata.c
@@ -21,5 +21,4 @@
 /* instantiate semaphore data */
 #define RTEMS_DPMEM_EXTERN
 
-#include <rtems/system.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
diff --git a/cpukit/rtems/src/dpmemdelete.c b/cpukit/rtems/src/dpmemdelete.c
index 6746e15..50e81f8 100644
--- a/cpukit/rtems/src/dpmemdelete.c
+++ b/cpukit/rtems/src/dpmemdelete.c
@@ -22,10 +22,9 @@
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
-#include <rtems/rtems/dpmem.h>
 
 rtems_status_code rtems_port_delete(
   rtems_id id
diff --git a/cpukit/rtems/src/dpmemexternal2internal.c b/cpukit/rtems/src/dpmemexternal2internal.c
index 010429d..9e540aa 100644
--- a/cpukit/rtems/src/dpmemexternal2internal.c
+++ b/cpukit/rtems/src/dpmemexternal2internal.c
@@ -22,10 +22,9 @@
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
-#include <rtems/rtems/dpmem.h>
 
 rtems_status_code rtems_port_external_to_internal(
   rtems_id   id,
diff --git a/cpukit/rtems/src/dpmemident.c b/cpukit/rtems/src/dpmemident.c
index 13512be..73d3b5a 100644
--- a/cpukit/rtems/src/dpmemident.c
+++ b/cpukit/rtems/src/dpmemident.c
@@ -22,10 +22,9 @@
 #include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
-#include <rtems/rtems/dpmem.h>
 
 rtems_status_code rtems_port_ident(
   rtems_name  name,
diff --git a/cpukit/rtems/src/dpmeminternal2external.c b/cpukit/rtems/src/dpmeminternal2external.c
index 7881d6b..bf93f41 100644
--- a/cpukit/rtems/src/dpmeminternal2external.c
+++ b/cpukit/rtems/src/dpmeminternal2external.c
@@ -22,10 +22,9 @@
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
-#include <rtems/rtems/dpmem.h>
 
 rtems_status_code rtems_port_internal_to_external(
   rtems_id   id,
diff --git a/cpukit/sapi/src/rtemsapi.c b/cpukit/sapi/src/rtemsapi.c
index 22be0f1..d4d440a 100644
--- a/cpukit/sapi/src/rtemsapi.c
+++ b/cpukit/sapi/src/rtemsapi.c
@@ -29,7 +29,7 @@
 #include <rtems/rtems/barrierimpl.h>
 #include <rtems/rtems/clock.h>
 #include <rtems/rtems/tasks.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/rtems/eventimpl.h>
 #include <rtems/rtems/messageimpl.h>
 #if defined(RTEMS_MULTIPROCESSING)
diff --git a/testsuites/sptests/spsize/size.c b/testsuites/sptests/spsize/size.c
index f12770f..da0fb30 100644
--- a/testsuites/sptests/spsize/size.c
+++ b/testsuites/sptests/spsize/size.c
@@ -20,7 +20,7 @@
 #include <rtems/score/copyrt.h>
 #include <rtems/rtems/clock.h>
 #include <rtems/rtems/tasks.h>
-#include <rtems/rtems/dpmem.h>
+#include <rtems/rtems/dpmemimpl.h>
 #include <rtems/rtems/eventimpl.h>
 #include <rtems/extensionimpl.h>
 #include <rtems/fatal.h>
@@ -267,7 +267,7 @@ uninitialized =
 
 /*debug.h*/     (sizeof _Debug_Level)                     +
 
-/*dpmem.h*/     (sizeof _Dual_ported_memory_Information)  +
+/*dpmemimpl.h*/ (sizeof _Dual_ported_memory_Information)  +
 
 /*eventimpl.h*/ (sizeof _Event_Sync_state)                +
 




More information about the vc mailing list