[ASM]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Fri, 19 Nov 2010 23:16:50 +0000 (23:16 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Fri, 19 Nov 2010 23:16:50 +0000 (23:16 +0000)
Add more constants for ks386.inc

svn path=/branches/cmake-bringup/; revision=49647

include/asm/genincdata.c
include/asm/ks386.template.h

index 22a4605..0b4cf03 100644 (file)
 #include <wdbgexts.h>
 #include <kddll.h>
 
+// FIXME: where to put this?
+typedef struct _FIBER                                      /* Field offsets:  */
+{                                                          /* 32 bit   64 bit */
+    /* this must be the first field */
+    PVOID Parameter;                                       /*   0x00     0x00 */
+    struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList; /*   0x04     0x08 */
+    PVOID StackBase;                                       /*   0x08     0x10 */
+    PVOID StackLimit;                                      /*   0x0C     0x18 */
+    PVOID DeallocationStack;                               /*   0x10     0x20 */
+    CONTEXT Context;                                       /*   0x14     0x28 */
+    ULONG GuaranteedStackBytes;                            /*   0x2E0         */
+    PVOID FlsData;                                         /*   0x2E4         */
+    PVOID ActivationContextStack;                          /*   0x2E8         */
+} FIBER, *PFIBER;
+
 typedef struct
 {
     char Type;
index ebb934d..8b87408 100644 (file)
@@ -349,6 +349,31 @@ OFFSET(CONTEXT_SEGSS, CONTEXT, SegSs),
 //OFFSET(CONTEXT_FRAME_LENGTH                    0x2D0
 SIZE(CONTEXT_FRAME_LENGTH, CONTEXT), 
 
+HEADER("FIBER"),
+OFFSET(FIBER_PARAMETER, FIBER, Parameter),
+OFFSET(FIBER_EXCEPTION_LIST, FIBER, ExceptionList),
+OFFSET(FIBER_STACK_BASE, FIBER, StackBase),
+OFFSET(FIBER_STACK_LIMIT, FIBER, StackLimit),
+OFFSET(FIBER_DEALLOCATION_STACK, FIBER, DeallocationStack),
+OFFSET(FIBER_CONTEXT, FIBER, Context),
+OFFSET(FIBER_CONTEXT_FLAGS, FIBER, Context.ContextFlags),
+OFFSET(FIBER_CONTEXT_EAX, FIBER, Context.Eax),
+OFFSET(FIBER_CONTEXT_EBX, FIBER, Context.Ebx),
+OFFSET(FIBER_CONTEXT_ECX, FIBER, Context.Ecx),
+OFFSET(FIBER_CONTEXT_EDX, FIBER, Context.Edx),
+OFFSET(FIBER_CONTEXT_ESI, FIBER, Context.Esi),
+OFFSET(FIBER_CONTEXT_EDI, FIBER, Context.Edi),
+OFFSET(FIBER_CONTEXT_EBP, FIBER, Context.Ebp),
+OFFSET(FIBER_CONTEXT_EIP, FIBER, Context.Eip),
+OFFSET(FIBER_CONTEXT_ESP, FIBER, Context.Esp),
+OFFSET(FIBER_CONTEXT_DR6, FIBER, Context.Dr6),
+OFFSET(FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD, FIBER, Context.FloatSave.ControlWord),
+OFFSET(FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD, FIBER, Context.FloatSave.StatusWord),
+OFFSET(FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD, FIBER, Context.FloatSave.TagWord),
+OFFSET(FIBER_GUARANTEED_STACK_BYTES, FIBER, GuaranteedStackBytes),
+OFFSET(FIBER_FLS_DATA, FIBER, FlsData),
+OFFSET(FIBER_ACTIVATION_CONTEXT_STACK, FIBER, ActivationContextStack),
+
 HEADER("KTSS"),
 OFFSET(KTSS_IOMAPBASE, KTSS, IoMapBase),
 OFFSET(KTSS_ESP0, KTSS, Esp0),
@@ -406,6 +431,20 @@ OFFSET(KPROCESS_IOPM_OFFSET, KPROCESS, IopmOffset),
 //OFFSET(KPROCESS_ACTIVE_PROCESSORS              0x34
 //OFFSET(EPROCESS_VDM_OBJECTS                    0x144
 
+HEADER("Teb"),
+OFFSET(TEB_EXCEPTION_LIST, TEB, NtTib.ExceptionList),
+OFFSET(TEB_STACK_LIMIT, TEB, NtTib.StackLimit),
+OFFSET(TEB_STACK_BASE, TEB, NtTib.StackBase),
+OFFSET(TEB_SELF, TEB, NtTib.Self),
+OFFSET(TEB_FIBER_DATA, TEB, NtTib.FiberData),
+OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock),
+OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode),
+OFFSET(PEB_KERNEL_CALLBACK_TABLE, PEB, KernelCallbackTable),
+OFFSET(TEB_FLS_DATA, TEB, FlsData),
+OFFSET(TEB_ACTIVATION_CONTEXT_STACK_POINTER, TEB, ActivationContextStackPointer),
+OFFSET(TEB_GUARANTEED_STACK_BYTES, TEB, GuaranteedStackBytes),
+OFFSET(TEB_DEALLOCATION_STACK, TEB, DeallocationStack),
+
 HEADER("Misc"),
 CONSTANT(NPX_FRAME_LENGTH),
 CONSTANT(FN_CR0_NPX_STATE),
@@ -419,18 +458,11 @@ CONSTANT(CBSTACK_RESULT_LENGTH),
 CONSTANT(CBSTACK_TRAP_FRAME),
 CONSTANT(CBSTACK_CALLBACK_STACK),
 SIZE(SIZEOF_FX_SAVE_AREA, FX_SAVE_AREA),
-OFFSET(TEB_EXCEPTION_LIST, TEB, NtTib.ExceptionList),
-OFFSET(TEB_STACK_LIMIT, TEB, NtTib.StackLimit),
-OFFSET(TEB_STACK_BASE, TEB, NtTib.StackBase),
-OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock),
-OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode),
-OFFSET(PEB_KERNEL_CALLBACK_TABLE, PEB, KernelCallbackTable),
 CONSTANT(KUSER_SHARED_SYSCALL),
 CONSTANT(EXCEPTION_EXECUTE_HANDLER),
 CONSTANT(STATUS_CALLBACK_POP_STACK),
 CONSTANT(CONTEXT_ALIGNED_SIZE),
-
-
+CONSTANT(PROCESSOR_FEATURE_FXSR),