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