20 #ifndef LOCKSCOMMAND_H 21 #define LOCKSCOMMAND_H 23 #include "pedigree/kernel/Atomic.h" 24 #include "pedigree/kernel/debugger/DebuggerCommand.h" 25 #include "pedigree/kernel/debugger/DebuggerIO.h" 26 #include "pedigree/kernel/debugger/Scrollable.h" 27 #include "pedigree/kernel/processor/state_forward.h" 28 #include "pedigree/kernel/processor/types.h" 29 #include "pedigree/kernel/utilities/StaticString.h" 36 #define NUM_BT_FRAMES 6 37 #define MAX_DESCRIPTORS 50 40 #define LOCKS_COMMAND_NUM_CPU 4 43 #define LOCKS_COMMAND_NUM_CPU 255 45 #define LOCKS_COMMAND_NUM_CPU 1 49 #define LOCKS_COMMAND_DO_BACKTRACES 0 98 const Spinlock *pLock,
size_t nCpu = ~0U,
bool intState =
false);
100 const Spinlock *pLock,
size_t nCpu = ~0U,
bool intState =
false);
119 virtual const char *getLine1(
121 virtual const char *getLine2(
124 virtual size_t getLineCount();
142 const char *stateName(
State s)
163 #if LOCKS_COMMAND_DO_BACKTRACES 172 #if LOCKS_COMMAND_DO_BACKTRACES 174 uintptr_t ra[NUM_BT_FRAMES];
178 LockDescriptor m_pDescriptors[LOCKS_COMMAND_NUM_CPU][MAX_DESCRIPTORS];
181 #if LOCKS_COMMAND_DO_BACKTRACES 190 size_t m_SelectedLine;
The lock is about to be attempted.
The lock failed to be acquired, and has been checked once.
const NormalStaticString getString()
bool lockReleased(const Spinlock *pLock, size_t nCpu=~0U)
Atomic< uint8_t > m_NextPosition[LOCKS_COMMAND_NUM_CPU]
LockDescriptor * m_pSelectedLock
Lock we've selected for backtracing.
bool checkState(const Spinlock *pLock, size_t nCpu=~0U)
bool execute(const HugeStaticString &input, HugeStaticString &output, InterruptState &state, DebuggerIO *screen)
void autocomplete(const HugeStaticString &input, HugeStaticString &output)
bool checkSchedule(size_t nCpu=~0U)
This entry is no longer active.