Merge with 13841:13843. Blight's rewrite adds a bug with ENTER in qemu,
waiting on his fix.
Modified: branches/alex_devel_branch/reactos/ntoskrnl/dbg/kdb_cli.c
Modified: branches/alex_devel_branch/reactos/ntoskrnl/io/iomgr.c
Modified: branches/alex_devel_branch/reactos/ntoskrnl/ke/kthread.c
_____
Modified: branches/alex_devel_branch/reactos/ntoskrnl/dbg/kdb_cli.c
--- branches/alex_devel_branch/reactos/ntoskrnl/dbg/kdb_cli.c
2005-03-06 00:20:32 UTC (rev 13843)
+++ branches/alex_devel_branch/reactos/ntoskrnl/dbg/kdb_cli.c
2005-03-06 00:50:48 UTC (rev 13844)
@@ -873,7 +873,8 @@
PEPROCESS Process = NULL;
PULONG Esp;
PULONG Ebp;
- ULONG Eip, ul;
+ ULONG Eip;
+ ULONG ul = 0;
PCHAR State, pend, str1, str2;
STATIC CONST PCHAR ThreadStateToString[THREAD_STATE_MAX] =
{ "Initialized", "Ready",
"Running",
@@ -1224,14 +1225,15 @@
}
KdbpPrint("IDT Base: 0x%08x Limit: 0x%04x\n", Reg.Base,
Reg.Limit);
KdbpPrint(" Idx Type Seg. Sel. Offset DPL\n");
- for ( ; (i + sizeof(SegDesc) - 1) <= Reg.Limit; i += 8)
+ for (i = 0; (i + sizeof(SegDesc) - 1) <= Reg.Limit; i += 8)
{
if (!NT_SUCCESS(KdbpSafeReadMemory(SegDesc, (PVOID)(Reg.Base +
i), sizeof(SegDesc))))
{
KdbpPrint("Couldn't access memory at 0x%08x!\n", Reg.Base +
i);
return TRUE;
}
-
+
+ Dpl = ((SegDesc[1] >> 13) & 3);
if ((SegDesc[1] & 0x1f00) == 0x0500) /* Task gate */
SegType = "TASKGATE";
else if ((SegDesc[1] & 0x1fe0) == 0x0e00) /* 32 bit
Interrupt gate */
@@ -1242,6 +1244,8 @@
SegType = "TRAPGATE32";
else if ((SegDesc[1] & 0x1fe0) == 0x0700) /* 16 bit Trap
gate */
SegType = "TRAPGATE16";
+ else
+ SegType = "UNKNOWN";
if ((SegDesc[1] & (1 << 15)) == 0) /* not present */
{
@@ -1432,7 +1436,7 @@
" InterruptMode: 0x%08x\n",
Pcr->Tib.ExceptionList, Pcr->Tib.StackBase,
Pcr->Tib.StackLimit,
Pcr->Tib.SubSystemTib, Pcr->Tib.FiberData,
Pcr->Tib.ArbitraryUserPointer,
- Pcr->Tib.Self, Pcr->Self, Pcr->PCRCB, Pcr->Irql, Pcr->IRR,
Pcr->IrrActive,
+ Pcr->Tib.Self, Pcr->Self, Pcr->Prcb, Pcr->Irql, Pcr->IRR,
Pcr->IrrActive,
Pcr->IDR, Pcr->KdVersionBlock, Pcr->IDT, Pcr->GDT,
Pcr->TSS,
Pcr->MajorVersion, Pcr->MinorVersion, Pcr->SetMember,
Pcr->StallScaleFactor,
Pcr->DebugActive, Pcr->ProcessorNumber,
Pcr->L2CacheAssociativity,
@@ -1673,7 +1677,7 @@
STATIC CHAR Buffer[4096];
STATIC BOOLEAN TerminalInitialized = FALSE;
STATIC BOOLEAN TerminalReportsSize = TRUE;
- CHAR c;
+ CHAR c = '\0';
PCHAR p;
INT Length;
INT i;
_____
Modified: branches/alex_devel_branch/reactos/ntoskrnl/io/iomgr.c
--- branches/alex_devel_branch/reactos/ntoskrnl/io/iomgr.c
2005-03-06 00:20:32 UTC (rev 13843)
+++ branches/alex_devel_branch/reactos/ntoskrnl/io/iomgr.c
2005-03-06 00:50:48 UTC (rev 13844)
@@ -11,7 +11,7 @@
/* INCLUDES
****************************************************************/
#include <ntoskrnl.h>
-#include <internal/kdb.h>
+#include "../dbg/kdb.h"
#define NDEBUG
#include <internal/debug.h>
_____
Modified: branches/alex_devel_branch/reactos/ntoskrnl/ke/kthread.c
--- branches/alex_devel_branch/reactos/ntoskrnl/ke/kthread.c
2005-03-06 00:20:32 UTC (rev 13843)
+++ branches/alex_devel_branch/reactos/ntoskrnl/ke/kthread.c
2005-03-06 00:50:48 UTC (rev 13844)
@@ -251,7 +251,7 @@
Thread->ApcStatePointer[AttachedApcEnvironment] =
&Thread->SavedApcState;
Thread->ApcStateIndex = OriginalApcEnvironment;
Thread->ApcQueueable = TRUE;
- RtlZeroMemory(&Thread->SavedApcState, 0, sizeof(KAPC_STATE));
+ RtlZeroMemory(&Thread->SavedApcState, sizeof(KAPC_STATE));
KeInitializeSpinLock(&Thread->ApcQueueLock);
/* Setup Wait Fields */
@@ -263,8 +263,8 @@
Thread->WaitListEntry.Blink = NULL;
Thread->WaitTime = 0;
Thread->WaitBlockList = NULL;
- RtlZeroMemory(Thread->WaitBlock, 0, sizeof(KWAIT_BLOCK) * 4);
- RtlZeroMemory(&Thread->Timer, 0, sizeof(KTIMER));
+ RtlZeroMemory(Thread->WaitBlock, sizeof(KWAIT_BLOCK) * 4);
+ RtlZeroMemory(&Thread->Timer, sizeof(KTIMER));
KeInitializeTimer(&Thread->Timer);
/* Setup scheduler Fields */