File indexing completed on 2025-05-11 08:23:05
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <bsp.h>
0010 #include <bsp/bootcard.h>
0011
0012 void bsp_reset( rtems_fatal_source source, rtems_fatal_code code )
0013 {
0014 (void) source;
0015 (void) code;
0016
0017 #if ON_SKYEYE == 1
0018 #define SKYEYE_MAGIC_ADDRESS (*(volatile unsigned int *)(0xb0000000))
0019
0020 SKYEYE_MAGIC_ADDRESS = 0xff;
0021 #else
0022
0023
0024
0025
0026 rtems_interrupt_level level;
0027
0028 rtems_interrupt_disable(level);
0029 (void) level;
0030
0031 __asm__ volatile(""
0032 "mrc p15,0,r0,c1,c0,0 \n"
0033 "bic r0,r0,#1 \n"
0034 "mcr p15,0,r0,c1,c0,0 \n"
0035 "nop \n"
0036 "nop \n"
0037 "nop \n"
0038 "nop \n"
0039 "nop \n"
0040 "mov r0,#0 \n"
0041 "MCR p15,0,r0,c7,c5,0 \n"
0042 "nop \n"
0043 "nop \n"
0044 "nop \n"
0045 "nop \n"
0046 "nop \n"
0047 "swi #4 "
0048 :
0049 :
0050 : "r0"
0051 );
0052
0053 #endif
0054
0055 RTEMS_UNREACHABLE();
0056 }