diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2014-12-22 04:30:09 -0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-01-09 03:51:55 -0200 |
commit | 7b3452c7303cf348377de6702ddda0307533663c (patch) | |
tree | ce08ed7d7c42015919e1dd26cb2ec8721a54ec8a /src/core/hle | |
parent | d46f6500363024ac58cc23ba706e26d531a6076a (diff) |
Move ThreadContext to core/core.h and deal with the fallout
Diffstat (limited to 'src/core/hle')
-rw-r--r-- | src/core/hle/function_wrappers.h | 2 | ||||
-rw-r--r-- | src/core/hle/hle.cpp | 1 | ||||
-rw-r--r-- | src/core/hle/hle.h | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/kernel.cpp | 1 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 9 | ||||
-rw-r--r-- | src/core/hle/service/hid_user.cpp | 1 | ||||
-rw-r--r-- | src/core/hle/svc.cpp | 1 | ||||
-rw-r--r-- | src/core/hle/svc.h | 15 |
8 files changed, 13 insertions, 19 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 8eb4f252..a2f51b41 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h @@ -5,6 +5,8 @@ #pragma once #include "common/common_types.h" + +#include "core/arm/arm_interface.h" #include "core/mem_map.h" #include "core/hle/hle.h" diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp index 33ac1250..5d77a145 100644 --- a/src/core/hle/hle.cpp +++ b/src/core/hle/hle.cpp @@ -4,6 +4,7 @@ #include <vector> +#include "core/arm/arm_interface.h" #include "core/mem_map.h" #include "core/hle/hle.h" #include "core/hle/kernel/thread.h" diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h index 59b770f0..3f6f9a4b 100644 --- a/src/core/hle/hle.h +++ b/src/core/hle/hle.h @@ -4,6 +4,8 @@ #pragma once +#include <string> + #include "common/common_types.h" #include "core/core.h" diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 391e833c..1537702c 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -6,6 +6,7 @@ #include "common/common.h" +#include "core/arm/arm_interface.h" #include "core/core.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/thread.h" diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 954bd09a..3e9ea464 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -10,6 +10,7 @@ #include "common/common.h" #include "common/thread_queue_list.h" +#include "core/arm/arm_interface.h" #include "core/core.h" #include "core/core_timing.h" #include "core/hle/hle.h" @@ -50,7 +51,7 @@ public: return MakeResult<bool>(wait); } - ThreadContext context; + Core::ThreadContext context; u32 thread_id; @@ -104,18 +105,18 @@ inline void SetCurrentThread(Thread* t) { } /// Saves the current CPU context -void SaveContext(ThreadContext& ctx) { +void SaveContext(Core::ThreadContext& ctx) { Core::g_app_core->SaveContext(ctx); } /// Loads a CPU context -void LoadContext(ThreadContext& ctx) { +void LoadContext(Core::ThreadContext& ctx) { Core::g_app_core->LoadContext(ctx); } /// Resets a thread void ResetThread(Thread* t, u32 arg, s32 lowest_priority) { - memset(&t->context, 0, sizeof(ThreadContext)); + memset(&t->context, 0, sizeof(Core::ThreadContext)); t->context.cpu_registers[0] = arg; t->context.pc = t->context.reg_15 = t->entry_point; diff --git a/src/core/hle/service/hid_user.cpp b/src/core/hle/service/hid_user.cpp index 99b0ea5a..8ef9af9d 100644 --- a/src/core/hle/service/hid_user.cpp +++ b/src/core/hle/service/hid_user.cpp @@ -4,6 +4,7 @@ #include "common/log.h" +#include "core/arm/arm_interface.h" #include "core/hle/hle.h" #include "core/hle/kernel/event.h" #include "core/hle/kernel/shared_memory.h" diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index cdcdea36..92de442e 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -7,6 +7,7 @@ #include "common/string_util.h" #include "common/symbols.h" +#include "core/arm/arm_interface.h" #include "core/mem_map.h" #include "core/hle/kernel/address_arbiter.h" diff --git a/src/core/hle/svc.h b/src/core/hle/svc.h index ad780818..5d020a5b 100644 --- a/src/core/hle/svc.h +++ b/src/core/hle/svc.h @@ -20,21 +20,6 @@ struct PageInfo { u32 flags; }; -struct ThreadContext { - u32 cpu_registers[13]; - u32 sp; - u32 lr; - u32 pc; - u32 cpsr; - u32 fpu_registers[32]; - u32 fpscr; - u32 fpexc; - - // These are not part of native ThreadContext, but needed by emu - u32 reg_15; - u32 mode; -}; - enum ResetType { RESETTYPE_ONESHOT, RESETTYPE_STICKY, |