forked from Imagelibrary/rtems
Using the generic atomic ops to implement UP mode atomic for all architectures. SMP atomic port will be later.
This commit is contained in:
@@ -9,6 +9,7 @@ include_rtems_score_HEADERS += rtems/score/arm.h
|
||||
include_rtems_score_HEADERS += rtems/score/armv4.h
|
||||
include_rtems_score_HEADERS += rtems/score/armv7m.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
|
||||
@@ -51,3 +51,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/arm/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/arm/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for arm and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -8,6 +8,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/avr.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
include_rtems_avrdir = $(includedir)/avr
|
||||
include_rtems_avr_HEADERS = avr/boot.h
|
||||
|
||||
@@ -43,6 +43,10 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
$(PROJECT_INCLUDE)/avr/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/avr
|
||||
@: > $(PROJECT_INCLUDE)/avr/$(dirstamp)
|
||||
|
||||
40
cpukit/score/cpu/avr/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/avr/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for avr and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -13,6 +13,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/bfin.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
|
||||
@@ -60,3 +60,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/bfin/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/bfin/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for bfin and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -7,6 +7,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/h8300.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
|
||||
@@ -39,3 +39,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/h8300/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/h8300/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for h8300 and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -8,6 +8,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/lm32.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S irq.c
|
||||
|
||||
@@ -43,3 +43,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/lm32/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/lm32/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for lm32 and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -10,6 +10,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/m32c.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.c context_switch.S context_init.c \
|
||||
|
||||
@@ -52,3 +52,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/m32c/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/m32c/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for m32c and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -10,6 +10,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/m32r.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.c context_switch.S context_init.c
|
||||
|
||||
@@ -48,3 +48,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/m32r/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/m32r/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for m32r and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -16,6 +16,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/m68k.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
libscorecpu_a_SOURCES += m68k-exception-frame-print.c
|
||||
|
||||
@@ -60,3 +60,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/m68k/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/m68k/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for m68k and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -11,6 +11,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/mips.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
|
||||
@@ -52,3 +52,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/mips/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/mips/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for mips and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -10,6 +10,7 @@ include_rtems_HEADERS = rtems/asm.h
|
||||
include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h rtems/score/moxie.h \
|
||||
rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c moxie-exception-frame-print.c cpu_asm.S
|
||||
|
||||
@@ -39,3 +39,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/moxie/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/moxie/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for moxie and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -16,6 +16,7 @@ include_rtems_score_HEADERS += rtems/score/nios2-utility.h
|
||||
include_rtems_score_HEADERS += rtems/score/nios2-count-zeros.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
|
||||
|
||||
@@ -51,3 +51,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/nios2/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/nios2/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for nios2 and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -8,6 +8,7 @@ include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/sh.h
|
||||
include_rtems_score_HEADERS += rtems/score/sh_io.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c context.c
|
||||
|
||||
@@ -43,3 +43,6 @@ $(PROJECT_INCLUDE)/rtems/score/sh_io.h: rtems/score/sh_io.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/sh_io.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/sh_io.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/sh/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/sh/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for SH and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -7,6 +7,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/sparc.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
|
||||
@@ -39,3 +39,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/sparc/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/sparc/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for sparc and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -10,6 +10,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/sparc64.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = context.S cpu.c
|
||||
|
||||
@@ -39,3 +39,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/sparc64/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/sparc64/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for sparc64 and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -7,6 +7,7 @@ include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/v850.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpu_asm.h rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c
|
||||
|
||||
@@ -43,3 +43,6 @@ $(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/r
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/score/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
40
cpukit/score/cpu/v850/rtems/score/cpuatomic.h
Normal file
40
cpukit/score/cpu/v850/rtems/score/cpuatomic.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file rtems/score/cpuatomic.h
|
||||
*
|
||||
* This include file implements the atomic operations for v850 and defines
|
||||
* atomic data types which are used by the atomic operations API file. This
|
||||
* file should use fixed name cpuatomic.h and should be included in atomic
|
||||
* operations API file atomic.h. If the architecture works at the UP mode it
|
||||
* will use a generic atomic ops using disable/enable-IRQ simulated. If the
|
||||
* the architecture works at SMP mode, most of the parts of implementations
|
||||
* are imported from FreeBSD kernel.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/genericcpuatomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup RTEMS atomic implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**@{*/
|
||||
|
||||
#if !defined(RTEMS_SMP)
|
||||
#include <rtems/score/genericatomicops.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
/* end of include file */
|
||||
Reference in New Issue
Block a user