aboutsummaryrefslogtreecommitdiff
path: root/src/core/memory.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-12-25 23:21:08 -0500
committerLiam <byteslice@airmail.cc>2023-12-25 23:30:56 -0500
commitc366d8e8d92cd7ae97ac8633d05a6197d4ad347b (patch)
tree3fd209d66b8503ca7f0cf6d15c5c065179c66076 /src/core/memory.h
parent1a1af26031e1f24b1806b38be79271f568078d96 (diff)
core: track separate heap allocation for linux
Diffstat (limited to 'src/core/memory.h')
-rw-r--r--src/core/memory.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/memory.h b/src/core/memory.h
index c1879e78f9..3e4d03f573 100644
--- a/src/core/memory.h
+++ b/src/core/memory.h
@@ -86,7 +86,8 @@ public:
* @param perms The permissions to map the memory with.
*/
void MapMemoryRegion(Common::PageTable& page_table, Common::ProcessAddress base, u64 size,
- Common::PhysicalAddress target, Common::MemoryPermission perms);
+ Common::PhysicalAddress target, Common::MemoryPermission perms,
+ bool separate_heap);
/**
* Unmaps a region of the emulated process address space.
@@ -95,7 +96,8 @@ public:
* @param base The address to begin unmapping at.
* @param size The amount of bytes to unmap.
*/
- void UnmapRegion(Common::PageTable& page_table, Common::ProcessAddress base, u64 size);
+ void UnmapRegion(Common::PageTable& page_table, Common::ProcessAddress base, u64 size,
+ bool separate_heap);
/**
* Protects a region of the emulated process address space with the new permissions.
@@ -486,6 +488,7 @@ public:
void SetGPUDirtyManagers(std::span<Core::GPUDirtyMemoryManager> managers);
void InvalidateRegion(Common::ProcessAddress dest_addr, size_t size);
bool InvalidateNCE(Common::ProcessAddress vaddr, size_t size);
+ bool InvalidateSeparateHeap(void* fault_address);
void FlushRegion(Common::ProcessAddress dest_addr, size_t size);
private: