summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/arm/arm_interface.h1
-rw-r--r--src/core/hle/kernel/thread.cpp2
-rw-r--r--src/core/hle/svc.cpp3
3 files changed, 6 insertions, 0 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 533067d4f..d8abe5aeb 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -6,6 +6,7 @@
6 6
7#include "common/common_types.h" 7#include "common/common_types.h"
8#include "core/arm/skyeye_common/arm_regformat.h" 8#include "core/arm/skyeye_common/arm_regformat.h"
9#include "core/arm/skyeye_common/vfp/asm_vfp.h"
9 10
10namespace Core { 11namespace Core {
11 struct ThreadContext; 12 struct ThreadContext;
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 68f026918..43def6146 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -526,6 +526,8 @@ SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) {
526 526
527 SharedPtr<Thread> thread = thread_res.MoveFrom(); 527 SharedPtr<Thread> thread = thread_res.MoveFrom();
528 528
529 thread->context.fpscr = FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO | FPSCR_IXC; // 0x03C00010
530
529 // Run new "main" thread 531 // Run new "main" thread
530 SwitchContext(thread.get()); 532 SwitchContext(thread.get());
531 533
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 3a53126c1..2bf122a6d 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -502,6 +502,9 @@ static ResultCode CreateThread(Handle* out_handle, s32 priority, u32 entry_point
502 502
503 CASCADE_RESULT(SharedPtr<Thread> thread, Kernel::Thread::Create( 503 CASCADE_RESULT(SharedPtr<Thread> thread, Kernel::Thread::Create(
504 name, entry_point, priority, arg, processor_id, stack_top)); 504 name, entry_point, priority, arg, processor_id, stack_top));
505
506 thread->context.fpscr = FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO; // 0x03C00000
507
505 CASCADE_RESULT(*out_handle, Kernel::g_handle_table.Create(std::move(thread))); 508 CASCADE_RESULT(*out_handle, Kernel::g_handle_table.Create(std::move(thread)));
506 509
507 LOG_TRACE(Kernel_SVC, "called entrypoint=0x%08X (%s), arg=0x%08X, stacktop=0x%08X, " 510 LOG_TRACE(Kernel_SVC, "called entrypoint=0x%08X (%s), arg=0x%08X, stacktop=0x%08X, "