summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_thread.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-11-28 20:30:39 +0100
committerLiam <byteslice@airmail.cc>2023-12-04 16:37:16 +0100
commit45c87c7e6e841c11def43e5ab25160006dab6d77 (patch)
tree04a3ea0bd8c07389e17741aa28615e3b32ace2f7 /src/core/hle/kernel/k_thread.h
parentMerge pull request #12235 from liamwhite/flip-clip (diff)
downloadyuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.gz
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.bz2
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.lz
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.xz
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.tar.zst
yuzu-45c87c7e6e841c11def43e5ab25160006dab6d77.zip
Diffstat (limited to 'src/core/hle/kernel/k_thread.h')
-rw-r--r--src/core/hle/kernel/k_thread.h29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h
index e9ca5dfca..390db2409 100644
--- a/src/core/hle/kernel/k_thread.h
+++ b/src/core/hle/kernel/k_thread.h
@@ -38,7 +38,6 @@ namespace Core {
namespace Memory {
class Memory;
}
-class ARM_Interface;
class System;
} // namespace Core
@@ -137,8 +136,6 @@ public:
~KThread() override;
public:
- using ThreadContext32 = Core::ARM_Interface::ThreadContext32;
- using ThreadContext64 = Core::ARM_Interface::ThreadContext64;
using WaiterList = Common::IntrusiveListBaseTraits<KThread>::ListType;
/**
@@ -246,31 +243,22 @@ public:
* @returns The value of the TPIDR_EL0 register.
*/
u64 GetTpidrEl0() const {
- return m_thread_context_64.tpidr;
+ return m_thread_context.tpidr;
}
/// Sets the value of the TPIDR_EL0 Read/Write system register for this thread.
void SetTpidrEl0(u64 value) {
- m_thread_context_64.tpidr = value;
- m_thread_context_32.tpidr = static_cast<u32>(value);
+ m_thread_context.tpidr = value;
}
void CloneFpuStatus();
- ThreadContext32& GetContext32() {
- return m_thread_context_32;
+ Svc::ThreadContext& GetContext() {
+ return m_thread_context;
}
- const ThreadContext32& GetContext32() const {
- return m_thread_context_32;
- }
-
- ThreadContext64& GetContext64() {
- return m_thread_context_64;
- }
-
- const ThreadContext64& GetContext64() const {
- return m_thread_context_64;
+ const Svc::ThreadContext& GetContext() const {
+ return m_thread_context;
}
std::shared_ptr<Common::Fiber>& GetHostContext();
@@ -577,7 +565,7 @@ public:
void RemoveWaiter(KThread* thread);
- Result GetThreadContext3(Common::ScratchBuffer<u8>& out);
+ Result GetThreadContext3(Svc::ThreadContext* out);
KThread* RemoveUserWaiterByKey(bool* out_has_waiters, KProcessAddress key) {
return this->RemoveWaiterByKey(out_has_waiters, key, false);
@@ -734,8 +722,7 @@ private:
std::function<void()>&& init_func);
// For core KThread implementation
- ThreadContext32 m_thread_context_32{};
- ThreadContext64 m_thread_context_64{};
+ Svc::ThreadContext m_thread_context{};
Common::IntrusiveListNode m_process_list_node;
Common::IntrusiveRedBlackTreeNode m_condvar_arbiter_tree_node{};
s32 m_priority{};