- Remove KTSS_NOIOMP from NDK. - Fix KTSS definition. - Fix KTRAP_FRAME definition. - Fix RTL_PROCESS_BACKTRACE_INFORMATION and RTL_PROCESS_BACKTRACES definitions. - Fix/rename RUNDOWN_DESCRIPTOR definition. - Rename PPF_ definitions to RTL_USER_PROCESS_PARAMETERS_ - Setup a global _REACTOS_ define when code is compiled. - #ifdef out the multiboot flags from the NDK so they'll only be available for ReactOS. Dirty 'hack' until we stop using them. - Update NDK Fixme list, since all major bugs are fixed now. Modified: trunk/reactos/hal/halx86/mp/apic.c Modified: trunk/reactos/include/ndk/extypes.h Modified: trunk/reactos/include/ndk/fixmes.txt Modified: trunk/reactos/include/ndk/haltypes.h Modified: trunk/reactos/include/ndk/i386/ketypes.h Modified: trunk/reactos/include/ndk/lpctypes.h Modified: trunk/reactos/include/ndk/rtltypes.h Modified: trunk/reactos/lib/kernel32/process/create.c Modified: trunk/reactos/lib/rtl/ppb.c Modified: trunk/reactos/lib/rtl/process.c Modified: trunk/reactos/ntoskrnl/ex/init.c Modified: trunk/reactos/ntoskrnl/ex/rundown.c Modified: trunk/reactos/ntoskrnl/kd/wrappers/gdbstub.c Modified: trunk/reactos/ntoskrnl/ke/apc.c Modified: trunk/reactos/ntoskrnl/ke/clock.c Modified: trunk/reactos/ntoskrnl/ke/usercall.c Modified: trunk/reactos/ntoskrnl/mm/pagefile.c Modified: trunk/reactos/ntoskrnl/ps/debug.c _____
Modified: trunk/reactos/hal/halx86/mp/apic.c --- trunk/reactos/hal/halx86/mp/apic.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/hal/halx86/mp/apic.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -772,21 +772,21 @@
MpsIRQTrapFrameToTrapFrame(PKIRQ_TRAPFRAME IrqTrapFrame, PKTRAP_FRAME TrapFrame) { - TrapFrame->Gs = (USHORT)IrqTrapFrame->Gs; - TrapFrame->Fs = (USHORT)IrqTrapFrame->Fs; - TrapFrame->Es = (USHORT)IrqTrapFrame->Es; - TrapFrame->Ds = (USHORT)IrqTrapFrame->Ds; + TrapFrame->SegGs = (USHORT)IrqTrapFrame->Gs; + TrapFrame->SegFs = (USHORT)IrqTrapFrame->Fs; + TrapFrame->SegEs = (USHORT)IrqTrapFrame->Es; + TrapFrame->SegDs = (USHORT)IrqTrapFrame->Ds; TrapFrame->Eax = IrqTrapFrame->Eax; TrapFrame->Ecx = IrqTrapFrame->Ecx; TrapFrame->Edx = IrqTrapFrame->Edx; TrapFrame->Ebx = IrqTrapFrame->Ebx; - TrapFrame->Esp = IrqTrapFrame->Esp; + TrapFrame->HardwareEsp = IrqTrapFrame->Esp; TrapFrame->Ebp = IrqTrapFrame->Ebp; TrapFrame->Esi = IrqTrapFrame->Esi; TrapFrame->Edi = IrqTrapFrame->Edi; TrapFrame->Eip = IrqTrapFrame->Eip; - TrapFrame->Cs = IrqTrapFrame->Cs; - TrapFrame->Eflags = IrqTrapFrame->Eflags; + TrapFrame->SegCs = IrqTrapFrame->Cs; + TrapFrame->EFlags = IrqTrapFrame->Eflags; }
VOID _____
Modified: trunk/reactos/include/ndk/extypes.h --- trunk/reactos/include/ndk/extypes.h 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/extypes.h 2005-11-27 18:24:32 UTC (rev 19693) @@ -271,13 +271,13 @@
} EX_FAST_REF, *PEX_FAST_REF;
// -// FIXME +// Executive Fast Reference Wait Block // -typedef struct _RUNDOWN_DESCRIPTOR +typedef struct _EX_RUNDOWN_WAIT_BLOCK { - ULONG_PTR References; + ULONG_PTR Count; KEVENT RundownEvent; -} RUNDOWN_DESCRIPTOR, *PRUNDOWN_DESCRIPTOR; +} EX_RUNDOWN_WAIT_BLOCK, *PEX_RUNDOWN_WAIT_BLOCK;
// // Callback Object _____
Modified: trunk/reactos/include/ndk/fixmes.txt --- trunk/reactos/include/ndk/fixmes.txt 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/fixmes.txt 2005-11-27 18:24:32 UTC (rev 19693) @@ -2,23 +2,17 @@
--------------------------------------------------------------
________________________________________________________________________ ______________ [CRITICAL] - Breaking compatibility with official structures. -|pstypes.h - EPROCESS has ReactOS only fields. Includes ReactOS Internal header. -|pstypes.h - W32_CALLOUT_DATA has ReactOS only fields. -|obtypes.h - Object callbacks are ReactOS only definitions. -|obtypes.h - Object Header includes ReactOS only type. -|mmtypes.h - _MADDRESS_SPACE is ReactOS only field. -|ketypes.h - _KPROFILE needs to be updated with new definitions. -|ketypes.h - _KINTERRUPT needs to be verified with new definitions. -|haltypes.h - Loader Parameter Block is ReactOS Version, not NT. +|pstypes.h - EPROCESS has ReactOS only fields. Includes ReactOS Internal header. IFDEF_OUT +|pstypes.h - W32_CALLOUT_DATA has ReactOS only fields. IFDEF-OUT +|obtypes.h - Object callbacks are ReactOS only definitions. IFDEF-OUT ADDREAL +|obtypes.h - Object Header includes ReactOS only type. IFDEF-OUT +|mmtypes.h - _MADDRESS_SPACE is ReactOS only field. IFDEF-OUT +|ketypes.h - _KPROFILE needs to be updated with new definitions. FIXFIX +|ketypes.h - _KINTERRUPT needs to be verified with new definitions. FIXFIX +|haltypes.h - Loader Parameter Block is ReactOS Version, not NT. IFDEF-OUT ADDREAL | [MAJOR] - Using incorrect, missing, or invalid names or definitions. -|i386/ketypes.h - _KTRAP_FRAME definition is broken. -|i386/ketypes.h - _KTSSNOIOPM is not an official type. -|rtltypes.h - PPF_ Defines don't seem to be the real names (try to find them). -|rtltypes.h - _RTL_PROCESS_BACKTRACE_INFORMATION isn't done. -|haltypes.h - Multi-Boot flags are ReactOS Only. -|extypes.h - _RUNDOWN_DESCRIPTOR is possibly incorrect/unofficial. -|extypes.h - Classes 13, 20, 30, 31, 49, 51, 52, 54+ are undefined. +|extypes.h - Classes 13, 20, 30, 31, 49, 51, 52, 54+ are undefined. WONTFIX
|_______________________________________________________________________ ______________
_____
Modified: trunk/reactos/include/ndk/haltypes.h --- trunk/reactos/include/ndk/haltypes.h 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/haltypes.h 2005-11-27 18:24:32 UTC (rev 19693) @@ -27,8 +27,9 @@
#ifndef NTOS_MODE_USER
// -// Multi-Boot Flags (FIXME) +// Multi-Boot Flags (REMOVE ME) // +#ifdef _REACTOS_ #define MB_FLAGS_MEM_INFO (0x1) #define MB_FLAGS_BOOT_DEVICE (0x2) #define MB_FLAGS_COMMAND_LINE (0x4) @@ -42,6 +43,7 @@ #define MB_FLAGS_APM_TABLE (0x400) #define MB_FLAGS_GRAPHICS_TABLE (0x800) #define MB_FLAGS_ACPI_TABLE (0x1000) +#endif
// // HalShutdownSystem Types _____
Modified: trunk/reactos/include/ndk/i386/ketypes.h --- trunk/reactos/include/ndk/i386/ketypes.h 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/i386/ketypes.h 2005-11-27 18:24:32 UTC (rev 19693) @@ -90,11 +90,11 @@
// typedef struct _KTRAP_FRAME { - ULONG DebugEbp; - ULONG DebugEip; - ULONG DebugArgMark; - ULONG DebugPointer; - ULONG TempCs; + ULONG DbgEbp; + ULONG DbgEip; + ULONG DbgArgMark; + ULONG DbgArgPointer; + ULONG TempSegCs; ULONG TempEsp; ULONG Dr0; ULONG Dr1; @@ -102,29 +102,29 @@ ULONG Dr3; ULONG Dr6; ULONG Dr7; - ULONG Gs; - ULONG Es; - ULONG Ds; + ULONG SegGs; + ULONG SegEs; + ULONG SegDs; ULONG Edx; ULONG Ecx; ULONG Eax; - ULONG PreviousMode; - PVOID ExceptionList; - ULONG Fs; + ULONG PreviousPreviousMode; + struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; + ULONG SegFs; ULONG Edi; ULONG Esi; ULONG Ebx; ULONG Ebp; - ULONG ErrorCode; + ULONG ErrCode; ULONG Eip; - ULONG Cs; - ULONG Eflags; - ULONG Esp; - ULONG Ss; - ULONG V86_Es; - ULONG V86_Ds; - ULONG V86_Fs; - ULONG V86_Gs; + ULONG SegCs; + ULONG EFlags; + ULONG HardwareEsp; + ULONG HardwareSegSs; + ULONG V86Es; + ULONG V86Ds; + ULONG V86Fs; + ULONG V86Gs; } KTRAP_FRAME, *PKTRAP_FRAME;
// @@ -461,99 +461,45 @@ #pragma pack(pop)
// -// FIXME: TSS without I/O Privilege Map +// TSS Definition // -#include <pshpack1.h> -typedef struct _KTSSNOIOPM +typedef struct _KiIoAccessMap { - USHORT PreviousTask; - USHORT Reserved1; - ULONG Esp0; - USHORT Ss0; - USHORT Reserved2; - ULONG Esp1; - USHORT Ss1; - USHORT Reserved3; - ULONG Esp2; - USHORT Ss2; - USHORT Reserved4; - ULONG Cr3; - ULONG Eip; - ULONG Eflags; - ULONG Eax; - ULONG Ecx; - ULONG Edx; - ULONG Ebx; - ULONG Esp; - ULONG Ebp; - ULONG Esi; - ULONG Edi; - USHORT Es; - USHORT Reserved5; - USHORT Cs; - USHORT Reserved6; - USHORT Ss; - USHORT Reserved7; - USHORT Ds; - USHORT Reserved8; - USHORT Fs; - USHORT Reserved9; - USHORT Gs; - USHORT Reserved10; - USHORT Ldt; - USHORT Reserved11; - USHORT Trap; - USHORT IoMapBase; - /* no interrupt redirection map */ - UCHAR IoBitmap[1]; -} KTSSNOIOPM; + UCHAR DirectionMap[32]; + UCHAR IoMap[8196]; +} KIIO_ACCESS_MAP;
-// -// TSS Definition -// +#include <pshpack1.h> typedef struct _KTSS { - USHORT PreviousTask; - USHORT Reserved1; + USHORT Backlink; + USHORT Reserved0; ULONG Esp0; USHORT Ss0; - USHORT Reserved2; - ULONG Esp1; - USHORT Ss1; - USHORT Reserved3; - ULONG Esp2; - USHORT Ss2; - USHORT Reserved4; - ULONG Cr3; + USHORT Reserved1; + ULONG NotUsed1[4]; + ULONG CR3; ULONG Eip; - ULONG Eflags; - ULONG Eax; - ULONG Ecx; - ULONG Edx; - ULONG Ebx; - ULONG Esp; - ULONG Ebp; - ULONG Esi; - ULONG Edi; + ULONG NotUsed2[9]; USHORT Es; - USHORT Reserved5; + USHORT Reserved2; USHORT Cs; - USHORT Reserved6; + USHORT Reserved3; USHORT Ss; - USHORT Reserved7; + USHORT Reserved4; USHORT Ds; - USHORT Reserved8; + USHORT Reserved5; USHORT Fs; - USHORT Reserved9; + USHORT Reserved6; USHORT Gs; - USHORT Reserved10; - USHORT Ldt; - USHORT Reserved11; - USHORT Trap; + USHORT Reserved7; + USHORT LDT; + USHORT Reserved8; + USHORT Flags; USHORT IoMapBase; - /* no interrupt redirection map */ - UCHAR IoBitmap[8193]; -} KTSS; + KIIO_ACCESS_MAP IoMaps[1]; + UCHAR IntDirectionMap[32]; +} KTSS, *PKTSS; #include <poppack.h>
// _____
Modified: trunk/reactos/include/ndk/lpctypes.h --- trunk/reactos/include/ndk/lpctypes.h 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/lpctypes.h 2005-11-27 18:24:32 UTC (rev 19693) @@ -26,6 +26,12 @@
#include <pstypes.h>
// +// Internal helper macro +// +#define N_ROUND_UP(x,s) \ + (((ULONG)(x)+(s)-1) & ~((ULONG)(s)-1)) + +// // Maximum message size that can be sent through an LPC Port without a section // #define PORT_MAXIMUM_MESSAGE_LENGTH 256 @@ -234,9 +240,9 @@ // Maximum total Kernel-Mode LPC Message Structure Size // #define LPCP_MAX_MESSAGE_SIZE \ - ALIGN_UP(PORT_MAXIMUM_MESSAGE_LENGTH + \ + N_ROUND_UP(PORT_MAXIMUM_MESSAGE_LENGTH + \ sizeof(LPCP_MESSAGE) + \ - sizeof(LPCP_CONNECTION_MESSAGE), sizeof(ULONGLONG) * 2) + sizeof(LPCP_CONNECTION_MESSAGE), 16)
// // Maximum actual LPC Message Length _____
Modified: trunk/reactos/include/ndk/rtltypes.h --- trunk/reactos/include/ndk/rtltypes.h 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/include/ndk/rtltypes.h 2005-11-27 18:24:32 UTC (rev 19693) @@ -31,17 +31,17 @@
#define RTL_MAXIMUM_ATOM_LENGTH 255
// -// Process Parameters Flags (FIXME: Rename) +// Process Parameters Flags // -#define PPF_NORMALIZED 0x01 -#define PPF_PROFILE_USER 0x02 -#define PPF_PROFILE_SERVER 0x04 -#define PPF_PROFILE_KERNEL 0x08 -#define PPF_UNKNOWN 0x10 -#define PPF_RESERVE_1MB 0x20 -#define PPF_DISABLE_HEAP_CHECKS 0x100 -#define PPF_PROCESS_OR_1 0x200 -#define PPF_PROCESS_OR_2 0x400 +#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED 0x01 +#define RTL_USER_PROCESS_PARAMETERS_PROFILE_USER 0x02 +#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER 0x04 +#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL 0x08 +#define RTL_USER_PROCESS_PARAMETERS_UNKNOWN 0x10 +#define RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB 0x20 +#define RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS 0x100 +#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_1 0x200 +#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_2 0x400
// // Exception Flags @@ -613,14 +613,20 @@
typedef struct _RTL_PROCESS_BACKTRACE_INFORMATION { - /* FIXME */ - ULONG Unknown; + PVOID SymbolicBackTrace; + ULONG TraceCount; + USHORT Index; + USHORT Depth; + PVOID BackTrace[16]; } RTL_PROCESS_BACKTRACE_INFORMATION, *PRTL_PROCESS_BACKTRACE_INFORMATION;
typedef struct _RTL_PROCESS_BACKTRACES { - ULONG BackTraceCount; - RTL_PROCESS_BACKTRACE_INFORMATION BackTraceEntry[1]; + ULONG CommittedMemory; + ULONG ReservedMemory; + ULONG NumberOfBackTraceLookups; + ULONG NumberOfBackTraces; + RTL_PROCESS_BACKTRACE_INFORMATION BackTraces[1]; } RTL_PROCESS_BACKTRACES, *PRTL_PROCESS_BACKTRACES;
typedef struct _RTL_DEBUG_BUFFER _____
Modified: trunk/reactos/lib/kernel32/process/create.c --- trunk/reactos/lib/kernel32/process/create.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/lib/kernel32/process/create.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -580,13 +580,13 @@
/* Handle some Parameter Flags */ ProcessParameters->ConsoleFlags = (CreationFlags & CREATE_NEW_PROCESS_GROUP); ProcessParameters->Flags |= (CreationFlags & PROFILE_USER) ? - PPF_PROFILE_USER : 0; + RTL_USER_PROCESS_PARAMETERS_PROFILE_USER : 0; ProcessParameters->Flags |= (CreationFlags & PROFILE_KERNEL) ? - PPF_PROFILE_KERNEL : 0; + RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL : 0; ProcessParameters->Flags |= (CreationFlags & PROFILE_SERVER) ? - PPF_PROFILE_SERVER : 0; + RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER : 0; ProcessParameters->Flags |= (NtCurrentPeb()->ProcessParameters->Flags & - PPF_DISABLE_HEAP_CHECKS); + RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS);
/* Write the Parameter Block */ Status = NtWriteVirtualMemory(ProcessHandle, _____
Modified: trunk/reactos/lib/rtl/ppb.c --- trunk/reactos/lib/rtl/ppb.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/lib/rtl/ppb.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -139,7 +139,7 @@
Param->MaximumLength = RegionSize; Param->Length = Length; - Param->Flags = PPF_NORMALIZED; + Param->Flags = RTL_USER_PROCESS_PARAMETERS_NORMALIZED; Param->Environment = Environment; Param->CurrentDirectory.Handle = CurrentDirectoryHandle; Param->ConsoleHandle = ConsoleHandle; @@ -238,7 +238,7 @@ PRTL_USER_PROCESS_PARAMETERS NTAPI RtlDeNormalizeProcessParams(PRTL_USER_PROCESS_PARAMETERS Params) { - if (Params && (Params->Flags & PPF_NORMALIZED)) + if (Params && (Params->Flags & RTL_USER_PROCESS_PARAMETERS_NORMALIZED)) { DENORMALIZE(Params->CurrentDirectory.DosPath.Buffer, Params); DENORMALIZE(Params->DllPath.Buffer, Params); @@ -249,7 +249,7 @@ DENORMALIZE(Params->ShellInfo.Buffer, Params); DENORMALIZE(Params->RuntimeData.Buffer, Params);
- Params->Flags &= ~PPF_NORMALIZED; + Params->Flags &= ~RTL_USER_PROCESS_PARAMETERS_NORMALIZED; }
return Params; @@ -263,7 +263,7 @@ PRTL_USER_PROCESS_PARAMETERS NTAPI RtlNormalizeProcessParams(PRTL_USER_PROCESS_PARAMETERS Params) { - if (Params && !(Params->Flags & PPF_NORMALIZED)) + if (Params && !(Params->Flags & RTL_USER_PROCESS_PARAMETERS_NORMALIZED)) { NORMALIZE(Params->CurrentDirectory.DosPath.Buffer, Params); NORMALIZE(Params->DllPath.Buffer, Params); @@ -274,7 +274,7 @@ NORMALIZE(Params->ShellInfo.Buffer, Params); NORMALIZE(Params->RuntimeData.Buffer, Params);
- Params->Flags |= PPF_NORMALIZED; + Params->Flags |= RTL_USER_PROCESS_PARAMETERS_NORMALIZED; }
return Params; _____
Modified: trunk/reactos/lib/rtl/process.c --- trunk/reactos/lib/rtl/process.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/lib/rtl/process.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -80,7 +80,7 @@
ProcessHandle, Peb, ProcessParameters);
/* Give the caller 1MB if he requested it */ - if (ProcessParameters->Flags & PPF_RESERVE_1MB) + if (ProcessParameters->Flags & RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB) { /* Give 1MB starting at 0x4 */ BaseAddress = (PVOID)4; _____
Modified: trunk/reactos/ntoskrnl/ex/init.c --- trunk/reactos/ntoskrnl/ex/init.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ex/init.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -250,7 +250,6 @@
ASSERT(FIELD_OFFSET(KIPCR, PrcbData) + FIELD_OFFSET(KPRCB, CurrentThread) == KPCR_CURRENT_THREAD); ASSERT(FIELD_OFFSET(KIPCR, PrcbData) + FIELD_OFFSET(KPRCB, NpxThread) == KPCR_NPX_THREAD); ASSERT(FIELD_OFFSET(KTSS, Esp0) == KTSS_ESP0); - ASSERT(FIELD_OFFSET(KTSS, Eflags) == KTSS_EFLAGS); ASSERT(FIELD_OFFSET(KTSS, IoMapBase) == KTSS_IOMAPBASE); ASSERT(sizeof(FX_SAVE_AREA) == SIZEOF_FX_SAVE_AREA); } _____
Modified: trunk/reactos/ntoskrnl/ex/rundown.c --- trunk/reactos/ntoskrnl/ex/rundown.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ex/rundown.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -123,7 +123,7 @@
if (Current & EX_RUNDOWN_ACTIVE) { /* Get Pointer */ - PRUNDOWN_DESCRIPTOR RundownDescriptor = (PRUNDOWN_DESCRIPTOR)(Current & ~EX_RUNDOWN_ACTIVE); + PEX_RUNDOWN_WAIT_BLOCK RundownDescriptor = (PEX_RUNDOWN_WAIT_BLOCK)(Current & ~EX_RUNDOWN_ACTIVE);
if (RundownDescriptor == NULL) { @@ -131,9 +131,9 @@ break; }
- Current = RundownDescriptor->References; + Current = RundownDescriptor->Count;
- /* Decrease RundownDescriptor->References by Count references */ + /* Decrease RundownDescriptor->Count by Count Count */ for (;;) { ULONG_PTR PrevCount, NewCount; @@ -144,12 +144,12 @@ } else { - NewCount = ((RundownDescriptor->References - (Count
EX_RUNDOWN_COUNT_SHIFT)) << EX_RUNDOWN_COUNT_SHIFT) |
EX_RUNDOWN_ACTIVE; + NewCount = ((RundownDescriptor->Count - (Count >> EX_RUNDOWN_COUNT_SHIFT)) << EX_RUNDOWN_COUNT_SHIFT) | EX_RUNDOWN_ACTIVE; } #ifdef _WIN64 - PrevCount = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RundownDescriptor->R eferences, (LONGLONG)NewCount, (LONGLONG)Current); + PrevCount = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RundownDescriptor->C ount, (LONGLONG)NewCount, (LONGLONG)Current); #else - PrevCount = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RundownDescriptor->Referen ces, (LONG)NewCount, (LONG)Current); + PrevCount = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RundownDescriptor->Count, (LONG)NewCount, (LONG)Current); #endif if (PrevCount == Current) { @@ -227,7 +227,7 @@ ) { ULONG_PTR PrevCount, NewPtr, PrevPtr; - RUNDOWN_DESCRIPTOR RundownDescriptor; + EX_RUNDOWN_WAIT_BLOCK RundownDescriptor;
PAGED_CODE();
@@ -236,9 +236,9 @@ if (PrevCount != 0 && !(PrevCount & EX_RUNDOWN_ACTIVE)) { /* save the reference counter */ - RundownDescriptor.References = PrevCount >> EX_RUNDOWN_COUNT_SHIFT; + RundownDescriptor.Count = PrevCount >> EX_RUNDOWN_COUNT_SHIFT;
- /* Pending references... wait on them to be closed with an event */ + /* Pending Count... wait on them to be closed with an event */ KeInitializeEvent(&RundownDescriptor.RundownEvent, NotificationEvent, FALSE);
ASSERT(!((ULONG_PTR)&RundownDescriptor & EX_RUNDOWN_ACTIVE)); @@ -267,7 +267,7 @@ PrevCount = PrevPtr;
/* save the changed reference counter and try again */ - RundownDescriptor.References = PrevCount >> EX_RUNDOWN_COUNT_SHIFT; + RundownDescriptor.Count = PrevCount >> EX_RUNDOWN_COUNT_SHIFT; } } } _____
Modified: trunk/reactos/ntoskrnl/kd/wrappers/gdbstub.c --- trunk/reactos/ntoskrnl/kd/wrappers/gdbstub.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/kd/wrappers/gdbstub.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -133,18 +133,18 @@
{ 4, FIELD_OFFSET(KTRAP_FRAME, Ecx), FIELD_OFFSET(CONTEXT, Ecx), TRUE }, { 4, FIELD_OFFSET(KTRAP_FRAME, Edx), FIELD_OFFSET(CONTEXT, Edx), FALSE }, { 4, FIELD_OFFSET(KTRAP_FRAME, Ebx), FIELD_OFFSET(CONTEXT, Ebx), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Esp), FIELD_OFFSET(CONTEXT, Esp), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, DebugEbp), FIELD_OFFSET(CONTEXT, Ebp), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, HardwareEsp ), FIELD_OFFSET(CONTEXT, Esp), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, DbgEbp), FIELD_OFFSET(CONTEXT, Ebp), TRUE }, { 4, FIELD_OFFSET(KTRAP_FRAME, Esi), FIELD_OFFSET(CONTEXT, Esi), TRUE }, { 4, FIELD_OFFSET(KTRAP_FRAME, Edi), FIELD_OFFSET(CONTEXT, Edi), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, DebugEip), FIELD_OFFSET(CONTEXT, Eip), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Eflags), FIELD_OFFSET(CONTEXT, EFlags), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Cs), FIELD_OFFSET(CONTEXT, SegCs), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Ss), FIELD_OFFSET(CONTEXT, SegSs), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Ds), FIELD_OFFSET(CONTEXT, SegDs), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Es), FIELD_OFFSET(CONTEXT, SegEs), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Fs), FIELD_OFFSET(CONTEXT, SegFs), TRUE }, - { 4, FIELD_OFFSET(KTRAP_FRAME, Gs), FIELD_OFFSET(CONTEXT, SegGs), TRUE } + { 4, FIELD_OFFSET(KTRAP_FRAME, DbgEip), FIELD_OFFSET(CONTEXT, Eip), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, EFlags), FIELD_OFFSET(CONTEXT, EFlags), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, SegCs), FIELD_OFFSET(CONTEXT, SegCs), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, HardwareSegSs), FIELD_OFFSET(CONTEXT, SegSs), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, SegDs), FIELD_OFFSET(CONTEXT, SegDs), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, SegEs), FIELD_OFFSET(CONTEXT, SegEs), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, SegFs), FIELD_OFFSET(CONTEXT, SegFs), TRUE }, + { 4, FIELD_OFFSET(KTRAP_FRAME, SegGs), FIELD_OFFSET(CONTEXT, SegGs), TRUE } };
static PCHAR GspThreadStates[DeferredReady+1] = @@ -564,7 +564,7 @@ GspGetEspFromTrapFrame(PKTRAP_FRAME TrapFrame) { return KeGetPreviousMode() == KernelMode - ? (LONG) &TrapFrame->Esp : (LONG)TrapFrame->Esp; + ? (LONG) &TrapFrame->HardwareEsp : (LONG)TrapFrame->HardwareEsp; }
_____
Modified: trunk/reactos/ntoskrnl/ke/apc.c --- trunk/reactos/ntoskrnl/ke/apc.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ke/apc.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -906,7 +906,7 @@
KeGetCurrentThread()->TrapFrame);
/* Don't deliver APCs in V86 mode */ - if (TrapFrame->Eflags & X86_EFLAGS_VM) return; + if (TrapFrame->EFlags & X86_EFLAGS_VM) return;
/* Save the full context */ Context.ContextFlags = CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS; @@ -927,7 +927,7 @@
/* Run at APC dispatcher */ TrapFrame->Eip = (ULONG)KeUserApcDispatcher; - TrapFrame->Esp = Stack; + TrapFrame->HardwareEsp = Stack;
/* Setup the stack */ *(PULONG_PTR)(Stack + 0 * sizeof(ULONG_PTR)) = (ULONG_PTR)NormalRoutine; _____
Modified: trunk/reactos/ntoskrnl/ke/clock.c --- trunk/reactos/ntoskrnl/ke/clock.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ke/clock.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -260,8 +260,8 @@
* Cs bit 0 is always set for user mode if we are in protected mode. * V86 mode is counted as user time. */ - if (TrapFrame->Cs & 0x1 || - TrapFrame->Eflags & X86_EFLAGS_VM) + if (TrapFrame->SegCs & MODE_MASK || + TrapFrame->EFlags & X86_EFLAGS_VM) { InterlockedIncrementUL(&CurrentThread->UserTime); InterlockedIncrementUL(&CurrentProcess->UserTime); _____
Modified: trunk/reactos/ntoskrnl/ke/usercall.c --- trunk/reactos/ntoskrnl/ke/usercall.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ke/usercall.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -207,9 +207,9 @@
Thread->Tcb.TrapFrame, sizeof(KTRAP_FRAME) - (4 * sizeof(ULONG))); NewFrame = (PKTRAP_FRAME)((char*)NewStack + StackSize - sizeof(KTRAP_FRAME) - sizeof(FX_SAVE_AREA)); /* We need the stack pointer to remain 4-byte aligned */ - NewFrame->Esp -= (((ArgumentLength + 3) & (~ 0x3)) + (4 * sizeof(ULONG))); + NewFrame->HardwareEsp -= (((ArgumentLength + 3) & (~ 0x3)) + (4 * sizeof(ULONG))); NewFrame->Eip = (ULONG)KeUserCallbackDispatcher; - UserEsp = (PULONG)NewFrame->Esp; + UserEsp = (PULONG)NewFrame->HardwareEsp; UserEsp[0] = 0; /* Return address. */ UserEsp[1] = RoutineIndex; UserEsp[2] = (ULONG)&UserEsp[4]; _____
Modified: trunk/reactos/ntoskrnl/mm/pagefile.c --- trunk/reactos/ntoskrnl/mm/pagefile.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/mm/pagefile.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -544,7 +544,7 @@
Headers->Type = MmCoreDumpType; if (TrapFrame != NULL) { - if (!(TrapFrame->Eflags & (1 << 17))) + if (!(TrapFrame->EFlags & (1 << 17))) { memcpy(&Headers->TrapFrame, TrapFrame, sizeof(KTRAP_FRAME) - (4 * sizeof(DWORD))); _____
Modified: trunk/reactos/ntoskrnl/ps/debug.c --- trunk/reactos/ntoskrnl/ps/debug.c 2005-11-27 17:05:37 UTC (rev 19692) +++ trunk/reactos/ntoskrnl/ps/debug.c 2005-11-27 18:24:32 UTC (rev 19693) @@ -56,7 +56,7 @@
Event = &GetSetContext->Event; Mode = GetSetContext->Mode;
- if (TrapFrame->Cs == KGDT_R0_CODE && Mode != KernelMode) + if (TrapFrame->SegCs == KGDT_R0_CODE && Mode != KernelMode) { GetSetContext->Status = STATUS_ACCESS_DENIED; }