From e62a54bf6a27bda7fbc7a63562258ba6e219039c Mon Sep 17 00:00:00 2001 From: PatrickvL Date: Mon, 4 Sep 2017 18:21:30 +0200 Subject: [PATCH] Threading : Use InitXboxThread for CxbxKrnlInterruptThread too --- src/CxbxKrnl/CxbxKrnl.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/CxbxKrnl.cpp b/src/CxbxKrnl/CxbxKrnl.cpp index b3a380b1b..6cb525a90 100644 --- a/src/CxbxKrnl/CxbxKrnl.cpp +++ b/src/CxbxKrnl/CxbxKrnl.cpp @@ -372,10 +372,8 @@ void PrintCurrentConfigurationLog() { static unsigned int WINAPI CxbxKrnlInterruptThread(PVOID param) { - EmuGenerateFS(CxbxKrnl_TLS, CxbxKrnl_TLSData); - - _controlfp(_PC_53, _MCW_PC); // Set Precision control to 53 bits (verified setting) - _controlfp(_RC_NEAR, _MCW_RC); // Set Rounding control to near (unsure about this) + // Make sure Xbox1 code runs on one core : + InitXboxThread(g_CPUXbox); while (true) { for (int i = 0; i < MAX_BUS_INTERRUPT_LEVEL; i++) { @@ -909,8 +907,6 @@ void CxbxKrnlInit // Create the interrupt processing thread DWORD dwThreadId; HANDLE hThread = (HANDLE)_beginthreadex(NULL, NULL, CxbxKrnlInterruptThread, NULL, NULL, (uint*)&dwThreadId); - // Make sure Xbox1 code runs on one core : - SetThreadAffinityMask(hThread, g_CPUXbox); DbgPrintf("EmuMain: Initial thread starting.\n"); CxbxLaunchXbe(Entry); DbgPrintf("EmuMain: Initial thread ended.\n");