diff -rC2 rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/start/start.S rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/start/start.S *** rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/start/start.S 2005-03-14 13:27:33.000000000 +0000 --- rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/start/start.S 2005-03-16 17:10:40.000000000 +0000 *************** *** 162,164 **** --- 162,168 ---- swi 0x900001 b _exit_simulator + .global _simplescalar_idle_task + _simplescalar_idle_task: + swi 0x99991 + b _simplescalar_idle_task diff -rC2 rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/startup/bspstart.c rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/startup/bspstart.c *** rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/startup/bspstart.c 2005-03-15 14:54:34.000000000 +0000 --- rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/startup/bspstart.c 2005-03-16 17:10:57.000000000 +0000 *************** *** 57,60 **** --- 57,61 ---- void bsp_libc_init( void *, unsigned32, int ); void bsp_postdriver_hook(void); + void _simplescalar_idle_task(void) ; /**************************************************************************/ *************** *** 129,132 **** --- 130,134 ---- + /**************************************************************************/ /* */ *************** *** 162,165 **** --- 164,168 ---- Cpu_table.pretasking_hook = bsp_pretasking_hook; Cpu_table.postdriver_hook = bsp_postdriver_hook; + Cpu_table.idle_task = _simplescalar_idle_task ; Cpu_table.do_zero_of_workspace = TRUE; *************** *** 225,226 **** --- 228,232 ---- void bsp_start (void) __attribute__ ((weak, alias("bsp_start_default"))); + + + diff -rC2 rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/startup/exit.c rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/startup/exit.c *** rtems-4.6.2-0.1b/c/src/lib/libbsp/arm/simplescalar/startup/exit.c 2005-03-14 13:27:33.000000000 +0000 --- rtems-4.6.2-0.1c/c/src/lib/libbsp/arm/simplescalar/startup/exit.c 2005-03-16 17:03:30.000000000 +0000 *************** *** 35,40 **** --- 35,42 ---- printk("\n"); printk(line); + _exit_simulator () ; while (uart_poll_read(0) < 0) continue; + /* rtemsReboot(); */ }