aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2025-11-17 22:39:22 +0100
committercrueter <crueter@eden-emu.dev>2025-11-17 22:39:22 +0100
commit92274ff280290b8ff558745c7b1d01402dbf2c8e (patch)
tree99af1b0208bb8ee0dbf328571d40a74845987abe /src
parentd1ac5b2e5041447652284ea523f98d7291190876 (diff)
[dynarmic] remove scopedjit remnants (#3029)
not even used anymore, yay! Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3029 Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt1
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp52
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.h36
3 files changed, 7 insertions, 82 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index ad886b4300..83aabdbc72 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -1231,7 +1231,6 @@ endif()
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
target_sources(core PRIVATE
- arm/dynarmic/arm_dynarmic.cpp
arm/dynarmic/arm_dynarmic.h
arm/dynarmic/arm_dynarmic_64.cpp
arm/dynarmic/arm_dynarmic_64.h
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
deleted file mode 100644
index 06c8e40b08..0000000000
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#ifdef __linux__
-
-#include "common/signal_chain.h"
-
-#include "core/arm/dynarmic/arm_dynarmic.h"
-#include "core/hle/kernel/k_process.h"
-#include "core/memory.h"
-
-namespace Core {
-
-namespace {
-
-thread_local Core::Memory::Memory* g_current_memory{};
-std::once_flag g_registered{};
-struct sigaction g_old_segv {};
-
-void HandleSigSegv(int sig, siginfo_t* info, void* ctx) {
- if (g_current_memory && g_current_memory->InvalidateSeparateHeap(info->si_addr)) {
- return;
- }
-
- return g_old_segv.sa_sigaction(sig, info, ctx);
-}
-
-} // namespace
-
-ScopedJitExecution::ScopedJitExecution(Kernel::KProcess* process) {
- g_current_memory = std::addressof(process->GetMemory());
-}
-
-ScopedJitExecution::~ScopedJitExecution() {
- g_current_memory = nullptr;
-}
-
-void ScopedJitExecution::RegisterHandler() {
- std::call_once(g_registered, [] {
- struct sigaction sa {};
- sa.sa_sigaction = &HandleSigSegv;
- sa.sa_flags = SA_SIGINFO | SA_ONSTACK;
- Common::SigAction(SIGSEGV, std::addressof(sa), std::addressof(g_old_segv));
- });
-}
-
-} // namespace Core
-
-#endif
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h
index e5c6f1be00..46384f7e6d 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.h
+++ b/src/core/arm/dynarmic/arm_dynarmic.h
@@ -18,35 +18,13 @@ constexpr Dynarmic::HaltReason InstructionBreakpoint = Dynarmic::HaltReason::Use
constexpr Dynarmic::HaltReason PrefetchAbort = Dynarmic::HaltReason::UserDefined6;
constexpr HaltReason TranslateHaltReason(Dynarmic::HaltReason hr) {
- static_assert(static_cast<u64>(HaltReason::StepThread) == static_cast<u64>(StepThread));
- static_assert(static_cast<u64>(HaltReason::DataAbort) == static_cast<u64>(DataAbort));
- static_assert(static_cast<u64>(HaltReason::BreakLoop) == static_cast<u64>(BreakLoop));
- static_assert(static_cast<u64>(HaltReason::SupervisorCall) == static_cast<u64>(SupervisorCall));
- static_assert(static_cast<u64>(HaltReason::InstructionBreakpoint) ==
- static_cast<u64>(InstructionBreakpoint));
- static_assert(static_cast<u64>(HaltReason::PrefetchAbort) == static_cast<u64>(PrefetchAbort));
-
- return static_cast<HaltReason>(hr);
+ static_assert(u64(HaltReason::StepThread) == u64(StepThread));
+ static_assert(u64(HaltReason::DataAbort) == u64(DataAbort));
+ static_assert(u64(HaltReason::BreakLoop) == u64(BreakLoop));
+ static_assert(u64(HaltReason::SupervisorCall) == u64(SupervisorCall));
+ static_assert(u64(HaltReason::InstructionBreakpoint) == u64(InstructionBreakpoint));
+ static_assert(u64(HaltReason::PrefetchAbort) == u64(PrefetchAbort));
+ return HaltReason(hr);
}
-#ifdef __linux__
-
-class ScopedJitExecution {
-public:
- explicit ScopedJitExecution(Kernel::KProcess* process);
- ~ScopedJitExecution();
- static void RegisterHandler();
-};
-
-#else
-
-class ScopedJitExecution {
-public:
- explicit ScopedJitExecution(Kernel::KProcess* process) {}
- ~ScopedJitExecution() {}
- static void RegisterHandler() {}
-};
-
-#endif
-
} // namespace Core