summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/m68k/shared/misc/m68kidle.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/m68k/shared/misc/m68kidle.c')
-rw-r--r--c/src/lib/libcpu/m68k/shared/misc/m68kidle.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/m68k/shared/misc/m68kidle.c b/c/src/lib/libcpu/m68k/shared/misc/m68kidle.c
new file mode 100644
index 0000000000..16aaf504bb
--- /dev/null
+++ b/c/src/lib/libcpu/m68k/shared/misc/m68kidle.c
@@ -0,0 +1,43 @@
+/*
+ * Motorola MC68xxx Dependent Idle Body Source
+ *
+ * COPYRIGHT (c) 1989-2002.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/score/thread.h>
+
+
+/*PAGE
+ *
+ * _Thread_Idle_body
+ *
+ * This kernel routine is the idle thread. The idle thread runs any time
+ * no other thread is ready to run. This thread loops forever with
+ * interrupts enabled.
+ *
+ * Input parameters:
+ * ignored - this parameter is ignored
+ *
+ * Output parameters: NONE
+ */
+
+void _CPU_Thread_Idle_body( void )
+{
+#if defined(mcf5272)
+ for( ; ; ) {
+ asm volatile( "nop" );
+ asm volatile( "nop" );
+ }
+#else
+ for( ; ; )
+ asm volatile( "stop #0x3000" ); /* supervisor mode, all interrupts on */
+#endif
+}