kern: add handle table/process/suspend/resume debug

This commit is contained in:
Michael Scire 2020-12-09 23:44:36 -08:00
parent af259eabda
commit 8a4bf6a0a8
10 changed files with 233 additions and 18 deletions

View file

@ -25,4 +25,10 @@ namespace ams::kern::KDumpObject {
void DumpThreadCallStack();
void DumpThreadCallStack(u64 thread_id);
void DumpHandle();
void DumpHandle(u64 process_id);
void DumpProcess();
void DumpProcess(u64 process_id);
}

View file

@ -50,6 +50,8 @@ namespace ams::kern {
Result SendReply(uintptr_t message, uintptr_t buffer_size, KPhysicalAddress message_paddr);
void OnClientClosed();
void Dump();
private:
bool IsSignaledImpl() const;
void CleanupRequests();

View file

@ -46,7 +46,7 @@ namespace ams::kern {
public:
virtual void Finalize() override;
virtual bool IsSignaled() const = 0;
virtual void DebugWaiters();
virtual void DumpWaiters();
};
}

View file

@ -92,7 +92,7 @@ namespace ams::kern {
virtual uintptr_t GetPostDestroyArgument() const { return 0; }
size_t GetSlabIndex() const {
return s_slab_heap.GetIndex(static_cast<const Derived *>(this));
return s_slab_heap.GetObjectIndex(static_cast<const Derived *>(this));
}
public:
static void InitializeSlabHeap(void *memory, size_t memory_size) {