diff --git a/reactos/ntoskrnl/hal/x86/usercall.asm b/reactos/ntoskrnl/hal/x86/usercall.asm index 0002db2a967..7233219aadf 100644 --- a/reactos/ntoskrnl/hal/x86/usercall.asm +++ b/reactos/ntoskrnl/hal/x86/usercall.asm @@ -7,6 +7,37 @@ bits 32 section .text extern __SystemServiceTable global _interrupt_handler2e +global _PsBeginThreadWithContextInternal +extern _KeLowerIrql + +_PsBeginThreadWithContextInternal: + push dword 0 + call _KeLowerIrql + pop eax + + pop eax ; Context flags + + pop eax ; Dr0 + pop eax ; Dr1 + pop eax ; Dr2 + pop eax ; Dr3 + pop eax ; Dr6 + pop eax ; Dr7 + + add esp,112 ; Floating point save + + pop gs + pop fs + pop es + pop ds + pop edi + pop esi + pop ebx + pop edx + pop ecx + pop eax + pop ebp + iret _interrupt_handler2e: push ds