thermosphere: rewrite debug pause & fix single step state machine

This commit is contained in:
TuxSH
2020-01-16 01:18:34 +00:00
parent 2753b6cf8f
commit 1c707d9ded
13 changed files with 92 additions and 46 deletions

View File

@@ -237,8 +237,7 @@ void handleIrqException(ExceptionStackFrame *frame, bool isLowerEl, bool isA32)
// Nothing in particular to do here
break;
case ThermosphereSgi_DebugPause:
debugPauseSgiTopHalf();
hasBottomHalf = true;
debugPauseSgiHandler();
break;
case GIC_IRQID_MAINTENANCE:
isMaintenanceInterrupt = true;
@@ -280,10 +279,7 @@ void handleIrqException(ExceptionStackFrame *frame, bool isLowerEl, bool isA32)
if (hasBottomHalf) {
exceptionEnterInterruptibleHypervisorCode(frame);
unmaskIrq();
if (irqId == ThermosphereSgi_DebugPause) {
debugPauseSgiBottomHalf();
} else if (transportIface != NULL) {
if (transportIface != NULL) {
transportInterfaceIrqHandlerBottomHalf(transportIface);
}
}