22#include "pedigree/kernel/Atomic.h"
23#include "pedigree/kernel/debugger/DebuggerCommand.h"
24#include "pedigree/kernel/debugger/DebuggerIO.h"
25#include "pedigree/kernel/debugger/Scrollable.h"
26#include "pedigree/kernel/processor/state_forward.h"
27#include "pedigree/kernel/processor/types.h"
28#include "pedigree/kernel/utilities/StaticString.h"
37#define NUM_BT_FRAMES 6
38#define MAX_DESCRIPTORS 50
41#define LOCKS_COMMAND_NUM_CPU 4
44#define LOCKS_COMMAND_NUM_CPU 255
46#define LOCKS_COMMAND_NUM_CPU 1
93 bool lockAttempted(
const Spinlock* pLock,
size_t nCpu = ~0U,
bool intState =
false);
94 bool lockAcquired(
const Spinlock* pLock,
size_t nCpu = ~0U,
bool intState =
false);
115 virtual const char* getLine2(
size_t index,
size_t& colOffset,
DebuggerIO::Colour& colour,
117 virtual size_t getLineCount();
134 const char* stateName(State s) {
156 LockDescriptor m_pDescriptors[LOCKS_COMMAND_NUM_CPU][MAX_DESCRIPTORS];
165 size_t m_SelectedLine;
LockDescriptor * m_pSelectedLock
Lock we've selected for backtracing.
bool checkState(const Spinlock *pLock, size_t nCpu=~0U)
bool checkSchedule(size_t nCpu=~0U)
Atomic< uint8_t > m_NextPosition[LOCKS_COMMAND_NUM_CPU]
void autocomplete(const HugeStaticString &input, HugeStaticString &output)
@ Inactive
This entry is no longer active.
@ Attempted
The lock is about to be attempted.
@ Acquired
The lock is acquired.
@ Checked
The lock failed to be acquired, and has been checked once.
bool lockReleased(const Spinlock *pLock, size_t nCpu=~0U)
const NormalStaticString getString()
bool execute(const HugeStaticString &input, HugeStaticString &output, InterruptState &state, DebuggerIO *screen)