1 #ifndef __NTOSKRNL_INCLUDE_INTERNAL_ARM_KE_H
2 #define __NTOSKRNL_INCLUDE_INTERNAL_ARM_KE_H
10 #define IMAGE_FILE_MACHINE_ARCHITECTURE IMAGE_FILE_MACHINE_ARM
13 // BKPT is 4 bytes long
15 #define KD_BREAKPOINT_SIZE 4
18 // Macros for getting and setting special purpose registers in portable code
20 #define KeGetContextPc(Context) \
23 #define KeSetContextPc(Context, ProgramCounter) \
24 ((Context)->Pc = (ProgramCounter))
26 #define KeGetTrapFramePc(TrapFrame) \
29 #define KeGetContextReturnRegister(Context) \
32 #define KeSetContextReturnRegister(Context, ReturnValue) \
33 ((Context)->R0 = (ReturnValue))
60 #define KiSystemStartupReal KiSystemStartup
62 #define KiGetPreviousMode(tf) \
63 ((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode