diff options
Diffstat (limited to 'src/core/device_memory_manager.h')
| -rw-r--r-- | src/core/device_memory_manager.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/device_memory_manager.h b/src/core/device_memory_manager.h index 41227591c7..9d86a17d12 100644 --- a/src/core/device_memory_manager.h +++ b/src/core/device_memory_manager.h @@ -127,6 +127,11 @@ public: void UpdatePagesCachedBatch(std::span<const std::pair<DAddr, size_t>> ranges, s32 delta); private: + struct TranslationEntry { + DAddr guest_page{}; + u8* host_ptr{}; + }; + // Internal helper that performs the update assuming the caller already holds the necessary lock. void UpdatePagesCachedCountNoLock(DAddr addr, size_t size, s32 delta); @@ -195,6 +200,8 @@ private: } Common::VirtualBuffer<VAddr> cpu_backing_address; + std::array<TranslationEntry, 4> t_slot{}; + u32 cache_cursor = 0; using CounterType = u8; using CounterAtomicType = std::atomic_uint8_t; static constexpr size_t subentries = 8 / sizeof(CounterType); |
