Disable interrupts while in the debugstub.

This commit is contained in:
Matthijs ter Woord 2015-07-20 14:45:17 +02:00
parent 5f44ec8ac1
commit e0d3f0debc
2 changed files with 13 additions and 1 deletions

View file

@ -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: DebugStub_TracerEntry:
cli
Pushad Pushad
Mov [DebugStub_PushAllPtr], ESP Mov [DebugStub_PushAllPtr], ESP
Mov [DebugStub_CallerEBP], EBP Mov [DebugStub_CallerEBP], EBP
@ -33,6 +36,8 @@ Call DebugStub_Executing
Popad Popad
sti
DebugStub_TracerEntry_Exit: DebugStub_TracerEntry_Exit:
IRet IRet

View file

@ -20,6 +20,10 @@ Interrupt TracerEntry {
// This code is temporarily disabled as IRQs are not enabled right now. // This code is temporarily disabled as IRQs are not enabled right now.
// LockOrExit // LockOrExit
// First, disable interrupts, so debugging is much more stable
! cli
+All +All
// Save current ESP so we can look at the results of PushAll later // Save current ESP so we can look at the results of PushAll later
.PushAllPtr = ESP .PushAllPtr = ESP
@ -57,6 +61,9 @@ EAX = EBX
-All -All
// restore interupts
! sti
// Temp disabled, see comment on LockOrExit above // Temp disabled, see comment on LockOrExit above
// Unlock // Unlock
} }