thermosphere: gdb add break & vCont handling

This commit is contained in:
TuxSH
2020-01-29 01:19:38 +00:00
parent c0252e07f6
commit cbf3b305ca
10 changed files with 204 additions and 86 deletions

View File

@@ -151,6 +151,11 @@ const DebugEventInfo *debugManagerMarkAndGetCoreDebugEvent(u32 coreId)
return &g_debugManager.debugEventInfos[coreId];
}
const DebugEventInfo *debugManagerGetCoreDebugEvent(u32 coreId)
{
return &g_debugManager.debugEventInfos[coreId];
}
void debugManagerReportEvent(DebugEventType type, ...)
{
u64 flags = maskIrq();
@@ -186,3 +191,14 @@ void debugManagerReportEvent(DebugEventType type, ...)
restoreInterruptFlags(flags);
}
void debugManagerBreakCores(u32 coreList)
{
u32 coreId = currentCoreCtx->coreId;
if (coreList & ~BIT(coreId)) {
generateSgiForList(ThermosphereSgi_ReportDebuggerBreak, coreList & ~BIT(coreId));
}
if (coreList & BIT(coreId)) {
debugManagerReportEvent(DBGEVENT_DEBUGGER_BREAK);
}
}