mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-07 22:29:48 +00:00
[nce] Adjusted precise access fault window handling + decay mechanism
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <mutex>
|
||||
#include <unordered_set>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "core/arm/arm_interface.h"
|
||||
#include "core/arm/nce/guest_context.h"
|
||||
@@ -83,6 +83,8 @@ private:
|
||||
|
||||
bool IsPreciseAccessPage(u64 addr) const;
|
||||
void MarkPreciseAccessPage(u64 addr);
|
||||
void MarkPreciseAccessFaultWindow(u64 addr);
|
||||
void DecayPreciseAccessPagesLocked();
|
||||
|
||||
public:
|
||||
Core::System& m_system;
|
||||
@@ -96,7 +98,7 @@ public:
|
||||
Kernel::KThread* m_running_thread{};
|
||||
|
||||
mutable std::mutex m_precise_pages_guard{};
|
||||
std::unordered_set<u64> m_precise_pages{};
|
||||
std::unordered_map<u64, u8> m_precise_pages{};
|
||||
|
||||
// Stack for signal processing.
|
||||
std::unique_ptr<u8[]> m_stack{};
|
||||
|
||||
Reference in New Issue
Block a user