Revert "[nce] Added "tainted" page fault handling inside dual channel"

This commit is contained in:
CamilleLaVey 2026-03-10 03:10:37 -04:00
parent ce2f2187bd
commit b2b07abbc8
2 changed files with 0 additions and 24 deletions

View file

@ -159,7 +159,6 @@ bool ArmNce::HandleGuestAlignmentFault(GuestContext* guest_ctx, void* raw_info,
bool ArmNce::HandleGuestAccessFault(GuestContext* guest_ctx, void* raw_info, void* raw_context) {
auto* info = static_cast<siginfo_t*>(raw_info);
auto* parent = guest_ctx->parent;
// Try to handle an invalid access.
// TODO: handle accesses which split a page?
@ -183,19 +182,6 @@ void ArmNce::HandleHostAccessFault(int sig, void* raw_info, void* raw_context) {
return g_orig_segv_action.sa_sigaction(sig, static_cast<siginfo_t*>(raw_info), raw_context);
}
bool ArmNce::IsPreciseAccessPage(u64 addr) const {
const std::scoped_lock lk{m_precise_pages_guard};
return m_precise_pages.contains(AlignDownPage(addr));
}
void ArmNce::MarkPreciseAccessPage(u64 addr) {
const std::scoped_lock lk{m_precise_pages_guard};
if (m_precise_pages.size() >= MaxPreciseAccessPages) {
m_precise_pages.clear();
}
m_precise_pages.insert(AlignDownPage(addr));
}
void ArmNce::LockThread(Kernel::KThread* thread) {
auto* thread_params = &thread->GetNativeExecutionParameters();
LockThreadParameters(thread_params);

View file

@ -1,13 +1,9 @@
// SPDX-FileCopyrightText: Copyright 2026 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
#pragma once
#include <mutex>
#include <unordered_set>
#include "core/arm/arm_interface.h"
#include "core/arm/nce/guest_context.h"
@ -82,9 +78,6 @@ private:
static void HandleHostAlignmentFault(int sig, void* info, void* raw_context);
static void HandleHostAccessFault(int sig, void* info, void* raw_context);
bool IsPreciseAccessPage(u64 addr) const;
void MarkPreciseAccessPage(u64 addr);
public:
Core::System& m_system;
@ -96,9 +89,6 @@ public:
GuestContext m_guest_ctx{};
Kernel::KThread* m_running_thread{};
mutable std::mutex m_precise_pages_guard{};
std::unordered_set<u64> m_precise_pages{};
// Stack for signal processing.
std::unique_ptr<u8[]> m_stack{};
};