Paul Mathieu
15f2657254
- more tracing - pending resume() notifications - idle function returns bool (useful for testing) may not build (more stuff coming in later commits)
52 lines
973 B
C++
52 lines
973 B
C++
#pragma once
|
|
|
|
#define TRACE_DUMP_WHEN_FULL 0
|
|
|
|
#ifdef __x86_64__
|
|
#include <cstdio>
|
|
#define TRACE(x) printf(#x "\n")
|
|
#else // __x86_64__
|
|
#define TRACE(...) tracing::trace(__VA_ARGS__)
|
|
#endif // __x86_64__
|
|
|
|
#include <cstdint>
|
|
|
|
namespace tracing {
|
|
enum class TraceEvent : uint8_t {
|
|
kUnknown = 0,
|
|
|
|
kUartIsr = 1,
|
|
kUartRxCb = 2,
|
|
kUartTxCb = 3,
|
|
|
|
kUartSend = 10,
|
|
kUartRecv = 11,
|
|
kUartTxBufferFull = 12,
|
|
kUartTxBufferNotFull = 13,
|
|
|
|
kUartWriteDone = 20,
|
|
|
|
kAsyncResume = 4,
|
|
kAsyncEnqueue = 5,
|
|
kAsyncTask = 6,
|
|
kAsyncResumeSetPending = 7,
|
|
kAsyncAwaitWasNotified = 8,
|
|
kAsyncSchedule = 9,
|
|
|
|
kAsyncTaskDone = 14,
|
|
kAsyncException = 15,
|
|
kAsyncCallParent = 16,
|
|
kAsyncCallParentDone = 17,
|
|
kAsyncCoAwait = 18,
|
|
kAsyncSuspend = 19,
|
|
kAsyncDestroy = 21,
|
|
|
|
kAsyncGimmeWaiting = 22,
|
|
kAsyncGimmeResume = 23,
|
|
};
|
|
|
|
void trace(TraceEvent event);
|
|
void trace(int raw_event);
|
|
void dump();
|
|
} // namespace tracing
|