summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.org>2025-03-06 06:41:01 +0000
committerZephyron <zephyron@citron-emu.org>2025-03-06 06:41:01 +0000
commit4491127f52e35a668b76fbde8bd53d014c3891b1 (patch)
treee16db5a070d89ab46a697abdc7fe7d5fb8b0b446 /src/core
parentc304afe2b31a4d1cf7fff25f941e722c92a31581 (diff)
revert 031c635095622a35982f7f6faef894df9583e888
revert arm: corrected declarations
Diffstat (limited to 'src/core')
-rw-r--r--src/core/memory.cpp6
-rw-r--r--src/core/memory.h30
2 files changed, 3 insertions, 33 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 9a77e4ac0..b32071899 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -1183,9 +1183,9 @@ bool Memory::Remap(u64 guest_addr, u32 size, ArmNce& arm_nce) {
void Memory::ReclaimUnusedMemory(ArmNce& arm_nce) {
std::lock_guard<std::mutex> lock(arm_nce.m_tlb_mutex); // Correct usage of lock_guard
- auto& tlb_entries = arm_nce.GetTlbEntries();
+ const auto& tlb_entries = arm_nce.GetTlbEntries();
- for (auto& entry : tlb_entries) {
+ for (const auto& entry : tlb_entries) {
if (entry.valid && entry.ref_count == 0) {
// Unmap the memory region
UnmapRegion(*impl->current_page_table, entry.guest_addr, entry.size, false);
@@ -1194,7 +1194,7 @@ void Memory::ReclaimUnusedMemory(ArmNce& arm_nce) {
std::free(reinterpret_cast<void*>(entry.host_addr));
// Invalidate the TLB entry
- entry.valid = false;
+ const_cast<TlbEntry&>(entry).valid = false;
LOG_INFO(Core_Memory, "Reclaimed memory for address {:X}", entry.guest_addr);
}
diff --git a/src/core/memory.h b/src/core/memory.h
index 1fdb2ccc4..eeeee6d65 100644
--- a/src/core/memory.h
+++ b/src/core/memory.h
@@ -14,7 +14,6 @@
#include "common/typed_address.h"
#include "core/guest_memory.h"
#include "core/hle/result.h"
-#include "core/arm/nce/arm_nce.h" // Include ArmNce header
namespace Common {
enum class MemoryPermission : u32;
@@ -53,17 +52,6 @@ enum : u64 {
DEFAULT_STACK_SIZE = 0x100000,
};
-struct TlbEntry {
- u64 guest_addr;
- u64 host_addr;
- u32 size;
- bool valid;
- bool writable;
- u32 access_count;
- std::chrono::steady_clock::time_point last_access_time;
- u32 ref_count= 0;
-};
-
/// Central class that handles all memory operations and state.
class Memory {
public:
@@ -515,28 +503,10 @@ public:
bool Remap(u64 guest_addr, u32 size);
/**
- * Remaps a region of the emulated process address space.
- *
- * @param guest_addr The address to begin remapping at.
- * @param size The amount of bytes to remap.
- * @param arm_nce The ArmNce instance to use for TLB entries.
- *
- * @returns True if remapping is successful, false otherwise.
- */
- bool Remap(u64 guest_addr, u32 size, ArmNce& arm_nce);
-
- /**
* Reclaims memory from pages that are no longer used.
*/
void ReclaimUnusedMemory();
- /**
- * Reclaims memory from pages that are no longer used.
- *
- * @param arm_nce The ArmNce instance to use for TLB entries.
- */
- void ReclaimUnusedMemory(ArmNce& arm_nce);
-
private:
Core::System& system;