summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorGravatar Subv2018-07-20 19:57:45 -0500
committerGravatar Subv2018-07-20 19:57:45 -0500
commitd84eb9dac64f314adcef2c374de245012f658b1d (patch)
tree56720a5bce5d1a285dda01c16bfcb1dd57e53054 /src/core/hle/kernel/thread.cpp
parentMerge pull request #730 from lioncash/string (diff)
downloadyuzu-d84eb9dac64f314adcef2c374de245012f658b1d.tar.gz
yuzu-d84eb9dac64f314adcef2c374de245012f658b1d.tar.xz
yuzu-d84eb9dac64f314adcef2c374de245012f658b1d.zip
CPU: Save and restore the TPIDR_EL0 system register on every context switch.
Note that there's currently a dynarmic bug preventing this register from being written.
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index e7fd6c842..7f1e18831 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -313,6 +313,7 @@ ResultVal<SharedPtr<Thread>> Thread::Create(std::string name, VAddr entry_point,
313 thread->status = THREADSTATUS_DORMANT; 313 thread->status = THREADSTATUS_DORMANT;
314 thread->entry_point = entry_point; 314 thread->entry_point = entry_point;
315 thread->stack_top = stack_top; 315 thread->stack_top = stack_top;
316 thread->tpidr_el0 = 0;
316 thread->nominal_priority = thread->current_priority = priority; 317 thread->nominal_priority = thread->current_priority = priority;
317 thread->last_running_ticks = CoreTiming::GetTicks(); 318 thread->last_running_ticks = CoreTiming::GetTicks();
318 thread->processor_id = processor_id; 319 thread->processor_id = processor_id;