forked from Imagelibrary/rtems
arm: Add CPU specific idle thread for ARMv7
This commit is contained in:
@@ -25,6 +25,7 @@ libscorecpu_a_SOURCES += arm_exc_handler_high.c
|
||||
libscorecpu_a_SOURCES += arm-exception-frame-print.c
|
||||
libscorecpu_a_SOURCES += arm-exception-default.c
|
||||
libscorecpu_a_SOURCES += armv4-exception-default.S
|
||||
libscorecpu_a_SOURCES += armv7-thread-idle.c
|
||||
libscorecpu_a_SOURCES += armv7m-context-initialize.c
|
||||
libscorecpu_a_SOURCES += armv7m-context-restore.c
|
||||
libscorecpu_a_SOURCES += armv7m-context-switch.c
|
||||
@@ -41,7 +42,6 @@ libscorecpu_a_SOURCES += armv7m-isr-level-get.c
|
||||
libscorecpu_a_SOURCES += armv7m-isr-level-set.c
|
||||
libscorecpu_a_SOURCES += armv7m-isr-vector-install.c
|
||||
libscorecpu_a_SOURCES += armv7m-multitasking-start-stop.c
|
||||
libscorecpu_a_SOURCES += armv7m-thread-idle.c
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/automake/local.am
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include <rtems/score/cpu.h>
|
||||
|
||||
#ifdef ARM_MULTILIB_ARCH_V7M
|
||||
#ifdef ARM_MULTILIB_HAS_WFI
|
||||
|
||||
void *_CPU_Thread_Idle_body( uintptr_t ignored )
|
||||
{
|
||||
@@ -33,4 +33,4 @@ void *_CPU_Thread_Idle_body( uintptr_t ignored )
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* ARM_MULTILIB_ARCH_V7M */
|
||||
#endif /* ARM_MULTILIB_HAS_WFI */
|
||||
@@ -37,6 +37,12 @@ extern "C" {
|
||||
#define ARM_MULTILIB_ARCH_V4
|
||||
#endif
|
||||
|
||||
#if defined(__ARM_ARCH_7A__) \
|
||||
|| defined(__ARM_ARCH_7R__) \
|
||||
|| defined(__ARM_ARCH_7M__)
|
||||
#define ARM_MULTILIB_HAS_WFI
|
||||
#endif
|
||||
|
||||
#if defined(__ARM_NEON__)
|
||||
#define ARM_MULTILIB_VFP_D32
|
||||
#elif !defined(__SOFTFP__)
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
#define CPU_USE_DEFERRED_FP_SWITCH FALSE
|
||||
|
||||
#if defined(ARM_MULTILIB_ARCH_V7M)
|
||||
#if defined(ARM_MULTILIB_HAS_WFI)
|
||||
#define CPU_PROVIDES_IDLE_THREAD_BODY TRUE
|
||||
#else
|
||||
#define CPU_PROVIDES_IDLE_THREAD_BODY FALSE
|
||||
|
||||
Reference in New Issue
Block a user