summaryrefslogtreecommitdiff
path: root/src/core/arm/debug.h
diff options
context:
space:
mode:
authorGravatar Liam2023-11-28 14:30:39 -0500
committerGravatar Liam2023-12-04 10:37:16 -0500
commit45c87c7e6e841c11def43e5ab25160006dab6d77 (patch)
tree04a3ea0bd8c07389e17741aa28615e3b32ace2f7 /src/core/arm/debug.h
parentMerge pull request #12235 from liamwhite/flip-clip (diff)
downloadyuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.gz
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.xz
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.zip
core: refactor emulated cpu core activation
Diffstat (limited to 'src/core/arm/debug.h')
-rw-r--r--src/core/arm/debug.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/arm/debug.h b/src/core/arm/debug.h
new file mode 100644
index 000000000..c542633db
--- /dev/null
+++ b/src/core/arm/debug.h
@@ -0,0 +1,35 @@
1// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6#include <optional>
7
8#include "core/hle/kernel/k_thread.h"
9#include "core/loader/loader.h"
10
11namespace Core {
12
13std::optional<std::string> GetThreadName(const Kernel::KThread* thread);
14std::string_view GetThreadWaitReason(const Kernel::KThread* thread);
15std::string GetThreadState(const Kernel::KThread* thread);
16
17Loader::AppLoader::Modules FindModules(const Kernel::KProcess* process);
18Kernel::KProcessAddress GetModuleEnd(const Kernel::KProcess* process, Kernel::KProcessAddress base);
19Kernel::KProcessAddress FindMainModuleEntrypoint(const Kernel::KProcess* process);
20
21void InvalidateInstructionCacheRange(const Kernel::KProcess* process, u64 address, u64 size);
22
23struct BacktraceEntry {
24 std::string module;
25 u64 address;
26 u64 original_address;
27 u64 offset;
28 std::string name;
29};
30
31std::vector<BacktraceEntry> GetBacktraceFromContext(const Kernel::KProcess* process,
32 const Kernel::Svc::ThreadContext& ctx);
33std::vector<BacktraceEntry> GetBacktrace(const Kernel::KThread* thread);
34
35} // namespace Core