forked from Imagelibrary/rtems
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
This was tracked as PR91. * rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which is used to specify if the port uses the standard macro for this (FALSE). A TRUE setting indicates the port provides its own implementation. * rtems/score/c_isr.inl: Deleted and contents merged into cpu.c. * cpu.c: Received contents of c_isr.inl. * Makefile.am: Deleted reference to c_isr.inl.
This commit is contained in:
@@ -570,6 +570,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
@@ -652,6 +652,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||||
|
|
||||||
|
This was tracked as PR91.
|
||||||
|
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
|
||||||
|
is used to specify if the port uses the standard macro for this (FALSE).
|
||||||
|
A TRUE setting indicates the port provides its own implementation.
|
||||||
|
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
|
||||||
|
* cpu.c: Received contents of c_isr.inl.
|
||||||
|
* Makefile.am: Deleted reference to c_isr.inl.
|
||||||
|
|
||||||
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
|||||||
|
|
||||||
include_rtems_scoredir = $(includedir)/rtems/score
|
include_rtems_scoredir = $(includedir)/rtems/score
|
||||||
|
|
||||||
include_rtems_score_HEADERS = rtems/score/cpu.h rtems/score/c_isr.inl
|
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||||
|
|
||||||
S_FILES = cpu_asm.S
|
S_FILES = cpu_asm.S
|
||||||
S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
|
S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
|
||||||
@@ -28,8 +28,7 @@ TMPINSTALL_FILES += $(PROJECT_INCLUDE) $(PROJECT_INCLUDE)/rtems/score \
|
|||||||
$(include_rtems_score_HEADERS:%=$(PROJECT_INCLUDE)/%)
|
$(include_rtems_score_HEADERS:%=$(PROJECT_INCLUDE)/%)
|
||||||
|
|
||||||
# FIXME: This should not be here.
|
# FIXME: This should not be here.
|
||||||
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/score/cpu.h \
|
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/score/cpu.h
|
||||||
$(PROJECT_INCLUDE)/rtems/score/c_isr.inl
|
|
||||||
|
|
||||||
$(PROJECT_INCLUDE):
|
$(PROJECT_INCLUDE):
|
||||||
$(mkinstalldirs) $@
|
$(mkinstalldirs) $@
|
||||||
|
|||||||
@@ -110,6 +110,19 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* This is the PowerPC specific implementation of the routine which
|
||||||
|
* returns TRUE if an interrupt is in progress.
|
||||||
|
*/
|
||||||
|
|
||||||
|
boolean _ISR_Is_in_progress( void )
|
||||||
|
{
|
||||||
|
register unsigned int isr_nesting_level;
|
||||||
|
/*
|
||||||
|
* Move from special purpose register 0 (mfspr SPRG0, r3)
|
||||||
|
*/
|
||||||
|
asm volatile ("mfspr %0, 272" : "=r" (isr_nesting_level));
|
||||||
|
return isr_nesting_level;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
RTEMS_INLINE_ROUTINE boolean _ISR_Is_in_progress( void )
|
|
||||||
{
|
|
||||||
register unsigned int isr_nesting_level;
|
|
||||||
/*
|
|
||||||
* Move from special purpose register 0 (mfspr SPRG0, r3)
|
|
||||||
*/
|
|
||||||
asm volatile ("mfspr %0, 272" : "=r" (isr_nesting_level));
|
|
||||||
return isr_nesting_level;
|
|
||||||
}
|
|
||||||
@@ -570,6 +570,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||||
|
|
||||||
|
This was tracked as PR91.
|
||||||
|
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
|
||||||
|
is used to specify if the port uses the standard macro for this (FALSE).
|
||||||
|
A TRUE setting indicates the port provides its own implementation.
|
||||||
|
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
|
||||||
|
* cpu.c: Received contents of c_isr.inl.
|
||||||
|
* Makefile.am: Deleted reference to c_isr.inl.
|
||||||
|
|
||||||
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
||||||
|
|||||||
@@ -13,8 +13,7 @@ C_FILES = cpu.c
|
|||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||||
|
|
||||||
include_rtems_scoredir = $(includedir)/rtems/score
|
include_rtems_scoredir = $(includedir)/rtems/score
|
||||||
include_rtems_score_HEADERS = rtems/score/cpu.h \
|
include_rtems_score_HEADERS = rtems/score/cpu.h rtems/score/ppc_offs.h
|
||||||
rtems/score/c_isr.inl rtems/score/ppc_offs.h
|
|
||||||
|
|
||||||
# Assembly source names
|
# Assembly source names
|
||||||
S_FILES = cpu_asm.S
|
S_FILES = cpu_asm.S
|
||||||
@@ -28,8 +27,7 @@ TMPINSTALL_FILES += $(PROJECT_INCLUDE) $(PROJECT_INCLUDE)/rtems/score \
|
|||||||
$(include_rtems_score_HEADERS:%=$(PROJECT_INCLUDE)/%)
|
$(include_rtems_score_HEADERS:%=$(PROJECT_INCLUDE)/%)
|
||||||
|
|
||||||
# FIXME: This should not be here.
|
# FIXME: This should not be here.
|
||||||
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/score/cpu.h \
|
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/score/cpu.h
|
||||||
$(PROJECT_INCLUDE)/rtems/score/c_isr.inl
|
|
||||||
|
|
||||||
TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
|
TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
|
||||||
|
|
||||||
|
|||||||
@@ -873,3 +873,19 @@ unsigned32 ppc_exception_vector_addr(
|
|||||||
return Top;
|
return Top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* This is the PowerPC specific implementation of the routine which
|
||||||
|
* returns TRUE if an interrupt is in progress.
|
||||||
|
*
|
||||||
|
* NOTE: This is the same as the generic version. But since the
|
||||||
|
* PowerPC is still supporting old and new exception processing
|
||||||
|
* models and the new exception processing model has a hardware
|
||||||
|
* way of doing this, we have to provide this capability here
|
||||||
|
* for symmetry.
|
||||||
|
*/
|
||||||
|
|
||||||
|
boolean _ISR_Is_in_progress( void )
|
||||||
|
{
|
||||||
|
return (_ISR_Nest_level != 0);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
RTEMS_INLINE_ROUTINE boolean _ISR_Is_in_progress( void )
|
|
||||||
{
|
|
||||||
return (_ISR_Nest_level != 0);
|
|
||||||
}
|
|
||||||
@@ -652,6 +652,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||||
|
|
||||||
|
This was tracked as PR91.
|
||||||
|
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
|
||||||
|
is used to specify if the port uses the standard macro for this (FALSE).
|
||||||
|
A TRUE setting indicates the port provides its own implementation.
|
||||||
|
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
|
||||||
|
* cpu.c: Received contents of c_isr.inl.
|
||||||
|
* Makefile.am: Deleted reference to c_isr.inl.
|
||||||
|
|
||||||
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
||||||
|
|||||||
@@ -110,6 +110,19 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* This is the PowerPC specific implementation of the routine which
|
||||||
|
* returns TRUE if an interrupt is in progress.
|
||||||
|
*/
|
||||||
|
|
||||||
|
boolean _ISR_Is_in_progress( void )
|
||||||
|
{
|
||||||
|
register unsigned int isr_nesting_level;
|
||||||
|
/*
|
||||||
|
* Move from special purpose register 0 (mfspr SPRG0, r3)
|
||||||
|
*/
|
||||||
|
asm volatile ("mfspr %0, 272" : "=r" (isr_nesting_level));
|
||||||
|
return isr_nesting_level;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||||
|
|
||||||
|
This was tracked as PR91.
|
||||||
|
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
|
||||||
|
is used to specify if the port uses the standard macro for this (FALSE).
|
||||||
|
A TRUE setting indicates the port provides its own implementation.
|
||||||
|
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
|
||||||
|
* cpu.c: Received contents of c_isr.inl.
|
||||||
|
* Makefile.am: Deleted reference to c_isr.inl.
|
||||||
|
|
||||||
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2001-11-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
||||||
|
|||||||
@@ -873,3 +873,19 @@ unsigned32 ppc_exception_vector_addr(
|
|||||||
return Top;
|
return Top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* This is the PowerPC specific implementation of the routine which
|
||||||
|
* returns TRUE if an interrupt is in progress.
|
||||||
|
*
|
||||||
|
* NOTE: This is the same as the generic version. But since the
|
||||||
|
* PowerPC is still supporting old and new exception processing
|
||||||
|
* models and the new exception processing model has a hardware
|
||||||
|
* way of doing this, we have to provide this capability here
|
||||||
|
* for symmetry.
|
||||||
|
*/
|
||||||
|
|
||||||
|
boolean _ISR_Is_in_progress( void )
|
||||||
|
{
|
||||||
|
return (_ISR_Nest_level != 0);
|
||||||
|
}
|
||||||
|
|||||||
@@ -570,6 +570,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
@@ -652,6 +652,13 @@ SCORE_EXTERN struct {
|
|||||||
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
#define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX)
|
||||||
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is defined if the port has a special way to report the ISR nesting
|
||||||
|
* level. Most ports maintain the variable _ISR_Nest_level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS TRUE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should be large enough to run all RTEMS tests. This insures
|
* Should be large enough to run all RTEMS tests. This insures
|
||||||
* that a "reasonable" small application should not have any problems.
|
* that a "reasonable" small application should not have any problems.
|
||||||
|
|||||||
Reference in New Issue
Block a user