kernel/eka/include/cpudefs.h
changeset 116 57eea1054f46
parent 109 b3a1d9898418
child 159 185ac9ba847c
child 250 ac18961ed598
equal deleted inserted replaced
113:ebd3f79a304f 116:57eea1054f46
   603 #define __MSR_CPSR_C(cc,r) asm("msr"#cc" cpsr_c,"#r);
   603 #define __MSR_CPSR_C(cc,r) asm("msr"#cc" cpsr_c,"#r);
   604 #endif
   604 #endif
   605 
   605 
   606 // Causes undefined instruction exception on both ARM and THUMB
   606 // Causes undefined instruction exception on both ARM and THUMB
   607 #define __ASM_CRASH()					asm(".word 0xe7ffdeff ")
   607 #define __ASM_CRASH()					asm(".word 0xe7ffdeff ")
   608 #if defined(__GNUC__)  
   608 // We need to use RVCT assembler when running armcc with the --gnu option
       
   609 #if defined(__GNUC__) && !defined(__ARMCC__)  
   609 #define	__crash()						asm(".word 0xe7ffdeff " : : : "memory")
   610 #define	__crash()						asm(".word 0xe7ffdeff " : : : "memory")
   610 #elif defined(__GCCXML__)
   611 #elif defined(__GCCXML__)
   611 #define __crash()						(*((TInt *) 0x0) = 0xd1e)
   612 #define __crash()						(*((TInt *) 0x0) = 0xd1e)
   612 #elif defined(__ARMCC__)
   613 #elif defined(__ARMCC__)
   613 // RVCT doesn't let us inline an undefined instruction
   614 // RVCT doesn't let us inline an undefined instruction