Move ThreadContext to core/core.h and deal with the fallout
This commit is contained in:
parent
d46f650036
commit
7b3452c730
18 changed files with 53 additions and 32 deletions
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "common/common_types.h"
|
||||
#include "core/core.h"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue