- Fix more bugs in usercall_asm.S.
- Silence a debug print.
Modified: trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S
Modified: trunk/reactos/ntoskrnl/mm/process.c
_____
Modified: trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S
--- trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S 2006-01-11
06:44:06 UTC (rev 20783)
+++ trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S 2006-01-11
10:00:09 UTC (rev 20784)
@@ -30,6 +30,7 @@
mov eax, fs:[KPCR_CURRENT_THREAD]
mov eax, [eax+KTHREAD_TRAP_FRAME]
lea eax, [eax+KTRAP_FRAME_ESP]
+ ret
.endfunc
@@ -135,7 +136,7 @@
mov [ebx+KTHREAD_CALLBACK_STACK], esp
/* Align stack on 16-byte boundary */
- and esp, ~16
+ and esp, ~15
mov edi, esp
/* Set destination and origin NPX Areas */
@@ -191,7 +192,7 @@
mov [esp+KTRAP_FRAME_EIP], eax
/* Set the exception list */
- mov eax, [KPCR_EXCEPTION_LIST]
+ mov eax, fs:[KPCR_EXCEPTION_LIST]
mov [esp+KTRAP_FRAME_EXCEPTION_LIST], eax
/* Set the previous mode */
@@ -252,7 +253,6 @@
_NtCallbackReturn2@12:
/* Get the current thread and make sure we have a callback stack */
- call _KeBugCheckEx@20
mov eax, fs:[KPCR_CURRENT_THREAD]
mov ecx, [eax+KTHREAD_CALLBACK_STACK]
test ecx, ecx
@@ -283,7 +283,7 @@
cli
/* Get the initial stack and restore it */
- mov esi, fs:[KPCR_INITIAL_STACK]
+ mov esi, [eax+KTHREAD_INITIAL_STACK]
mov [eax+KTHREAD_INITIAL_STACK], ebx
/* Set desination and origin NPX Frames */
_____
Modified: trunk/reactos/ntoskrnl/mm/process.c
--- trunk/reactos/ntoskrnl/mm/process.c 2006-01-11 06:44:06 UTC (rev
20783)
+++ trunk/reactos/ntoskrnl/mm/process.c 2006-01-11 10:00:09 UTC (rev
20784)
@@ -215,9 +215,6 @@
Thread->Tcb.StackLimit -= KERNEL_STACK_SIZE;
/* Return success */
- DPRINT1("Thread, Thread Limit, Stack %p %p %p\n",
KeGetCurrentThread(),
-
KeGetCurrentThread()->StackLimit,
- StackPointer);
return STATUS_SUCCESS;
}