diff -r a179b74831c9 -r c1f20ce4abcf kernel/eka/include/cpudefs.h --- a/kernel/eka/include/cpudefs.h Thu Aug 19 11:14:22 2010 +0300 +++ b/kernel/eka/include/cpudefs.h Tue Aug 31 16:34:26 2010 +0300 @@ -198,8 +198,9 @@ #if defined(__WINS__) #define __NAKED__ __declspec( naked ) -#ifndef __MINIMUM_MACHINE_CODE__ -//#define __MEM_MACHINE_CODED__ +#if !defined(__MINIMUM_MACHINE_CODE__) && defined(__KERNEL_MODE__) +// Assembly language memmove() and memcpy() are used for WINS but only in the kernel, not euser +#define __MEMMOVE_MACHINE_CODED__ #endif #define __CPU_X86 #endif @@ -368,21 +369,21 @@ #define __END_ARM #endif -#define CC_EQ 0 -#define CC_NE 1 -#define CC_CS 2 -#define CC_CC 3 -#define CC_MI 4 -#define CC_PL 5 -#define CC_VS 6 -#define CC_VC 7 -#define CC_HI 8 -#define CC_LS 9 -#define CC_GE 10 -#define CC_LT 11 -#define CC_GT 12 -#define CC_LE 13 -#define CC_AL 14 +#define CC_EQ 0U +#define CC_NE 1U +#define CC_CS 2U +#define CC_CC 3U +#define CC_MI 4U +#define CC_PL 5U +#define CC_VS 6U +#define CC_VC 7U +#define CC_HI 8U +#define CC_LS 9U +#define CC_GE 10U +#define CC_LT 11U +#define CC_GT 12U +#define CC_LE 13U +#define CC_AL 14U #ifdef __CPU_ARM_HAS_CLZ #if __ARM_ASSEMBLER_ISA__ >= 5 @@ -605,8 +606,10 @@ // Causes undefined instruction exception on both ARM and THUMB #define __ASM_CRASH() asm(".word 0xe7ffdeff ") -#if defined(__GNUC__) +#if defined(__GNUC__) #define __crash() asm(".word 0xe7ffdeff " : : : "memory") +#elif defined(__GCCXML__) +#define __crash() (*((TInt *) 0x0) = 0xd1e) #elif defined(__ARMCC__) // RVCT doesn't let us inline an undefined instruction // use a CDP to CP15 instead - doesn't work on THUMB but never mind @@ -638,8 +641,10 @@ #define EXC_TRAP_CTX_SZ 10 // ebx, esp, ebp, esi, edi, ds, es, fs, gs, eip // Causes exception -#if defined(__VC32__) || defined(__CW32__) -#define __crash() do { _asm int 0ffh } while(0) +#if defined(__VC32__) +#define __crash() do { _asm int 255 } while(0) +#elif defined(__CW32__) +#define __crash() do { *(volatile TInt*)0 = 0; } while(0) #else #define __crash() asm("int 0xff " : : : "memory") #endif