Removed messing with internal Windows structures
[AROS.git] / arch / all-mingw32 / kernel / cpucontext.h
blob1a7a7e8f7391ad324a25e115cab2ea10bc30c0c5
1 #ifdef __i386__
2 #define REG_SAVE_VAR DWORD SegCS_Save, SegSS_Save
4 #define CONTEXT_INIT_FLAGS(ctx) (ctx)->ContextFlags = CONTEXT_FULL|CONTEXT_INTEGER|CONTEXT_FLOATING_POINT|CONTEXT_DEBUG_REGISTERS|CONTEXT_EXTENDED_REGISTERS
6 #define CONTEXT_SAVE_REGS(ctx) SegCS_Save = (ctx)->SegCs; \
7 SegSS_Save = (ctx)->SegSs
9 #define CONTEXT_RESTORE_REGS(ctx) (ctx)->SegCs = SegCS_Save; \
10 (ctx)->SegSs = SegSS_Save; \
11 (ctx)->ContextFlags &= CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_FLOATING_POINT|CONTEXT_EXTENDED_REGISTERS
13 #define PRINT_CPUCONTEXT(ctx) \
14 printf (" ContextFlags: 0x%08lX\n" \
15 " ESP=%08lx EBP=%08lx EIP=%08lx\n" \
16 " EAX=%08lx EBX=%08lx ECX=%08lx EDX=%08lx\n" \
17 " EDI=%08lx ESI=%08lx EFLAGS=%08lx\n" \
18 , ctx->ContextFlags \
19 , ctx->Esp \
20 , ctx->Ebp \
21 , ctx->Eip \
22 , ctx->Eax \
23 , ctx->Ebx \
24 , ctx->Ecx \
25 , ctx->Edx \
26 , ctx->Edi \
27 , ctx->Esi \
28 , ctx->EFlags \
31 #else
32 #error Unsupported CPU type
33 #endif