diff --git a/source/Cosmos.Debug.DebugStub/TracerEntry.asm b/source/Cosmos.Debug.DebugStub/TracerEntry.asm index cfffdbdd6..90dd558df 100644 --- a/source/Cosmos.Debug.DebugStub/TracerEntry.asm +++ b/source/Cosmos.Debug.DebugStub/TracerEntry.asm @@ -1,4 +1,4 @@ -; Generated at 7-3-2015 19:18:42 +; Generated at 20-7-2015 14:42:43 @@ -6,6 +6,9 @@ DebugStub_TracerEntry: +cli + + Pushad Mov [DebugStub_PushAllPtr], ESP Mov [DebugStub_CallerEBP], EBP @@ -33,6 +36,8 @@ Call DebugStub_Executing Popad +sti + DebugStub_TracerEntry_Exit: IRet diff --git a/source/Cosmos.Debug.DebugStub/TracerEntry.xs b/source/Cosmos.Debug.DebugStub/TracerEntry.xs index 85ad4f547..73c88d7e5 100644 --- a/source/Cosmos.Debug.DebugStub/TracerEntry.xs +++ b/source/Cosmos.Debug.DebugStub/TracerEntry.xs @@ -20,6 +20,10 @@ Interrupt TracerEntry { // This code is temporarily disabled as IRQs are not enabled right now. // LockOrExit +// First, disable interrupts, so debugging is much more stable +! cli + + +All // Save current ESP so we can look at the results of PushAll later .PushAllPtr = ESP @@ -57,6 +61,9 @@ EAX = EBX -All +// restore interupts +! sti + // Temp disabled, see comment on LockOrExit above // Unlock }