2009-08-09 Joel Sherrill <joel.sherrill@oarcorp.com>

* configure.ac, startup/bspreset.c: Add Skyeye reset device.
This commit is contained in:
Joel Sherrill
2009-08-10 03:16:35 +00:00
parent 57bcaa29a7
commit 6522e79aa6
3 changed files with 29 additions and 13 deletions

View File

@@ -1,3 +1,7 @@
2009-08-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac, startup/bspreset.c: Add Skyeye reset device.
2009-07-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac: Rename BSP_BOOTCARD_OPTIONS to

View File

@@ -18,8 +18,15 @@ RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
RTEMS_BSPOPTS_SET([ON_SKYEYE],[*],[])
RTEMS_BSPOPTS_HELP([ON_SKYEYE],
[If defined, enable options which optimize executingon the Skyeye
simulator. Speed up the clock ticks while the idle task is running so
time spent in the idle task is minimized. This significantly reduces
the wall time required to execute the RTEMS test suites.])
RTEMS_BSP_BOOTCARD_OPTIONS
RTEMS_BSP_CLEANUP_OPTIONS(1, 1)
RTEMS_BSP_CLEANUP_OPTIONS(0, 1)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])

View File

@@ -13,20 +13,25 @@
void bsp_reset(void)
{
rtems_interrupt_level level;
#if ON_SKYEYE == 1
#define SKYEYE_MAGIC_ADDRESS (*(volatile unsigned int *)(0xb0000000))
rtems_interrupt_disable(level);
SKYEYE_MAGIC_ADDRESS = 0xff;
#else
rtems_interrupt_level level;
#ifdef __thumb__
int tmp;
asm volatile (" .code 16 \n" \
"ldr %[tmp], =_start \n" \
"bx %[tmp] \n" \
"nop \n" \
: [tmp]"=&r" (tmp) );
#else
asm volatile ("b _start");
#endif
rtems_interrupt_disable(level);
#ifdef __thumb__
int tmp;
asm volatile (" .code 16 \n" \
"ldr %[tmp], =_start \n" \
"bx %[tmp] \n" \
"nop \n" \
: [tmp]"=&r" (tmp) );
#else
asm volatile ("b _start");
#endif
while(1);
#endif
}