summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/vm_manager.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-03-04 22:40:17 +0100
committerLioncash <mathew1800@gmail.com>2019-03-04 23:08:55 +0100
commit6c42a23550de8d6181562e969a142004f91c7daf (patch)
tree54bb08184bd0645dc30dc1a11a51785bf86a2af5 /src/core/hle/kernel/vm_manager.h
parentsvc: Migrate address range checking functions to VMManager (diff)
downloadyuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar.gz
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar.bz2
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar.lz
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar.xz
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.tar.zst
yuzu-6c42a23550de8d6181562e969a142004f91c7daf.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/vm_manager.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h
index 60f36a5b9..88e0b3c02 100644
--- a/src/core/hle/kernel/vm_manager.h
+++ b/src/core/hle/kernel/vm_manager.h
@@ -441,12 +441,12 @@ public:
/// Gets the end address of the ASLR region.
VAddr GetASLRRegionEndAddress() const;
- /// Determines whether or not the specified address range is within the ASLR region.
- bool IsWithinASLRRegion(VAddr address, u64 size) const;
-
/// Gets the size of the ASLR region
u64 GetASLRRegionSize() const;
+ /// Determines whether or not the specified address range is within the ASLR region.
+ bool IsWithinASLRRegion(VAddr address, u64 size) const;
+
/// Gets the base address of the code region.
VAddr GetCodeRegionBaseAddress() const;
@@ -456,6 +456,9 @@ public:
/// Gets the total size of the code region in bytes.
u64 GetCodeRegionSize() const;
+ /// Determines whether or not the specified range is within the code region.
+ bool IsWithinCodeRegion(VAddr address, u64 size) const;
+
/// Gets the base address of the heap region.
VAddr GetHeapRegionBaseAddress() const;
@@ -465,6 +468,9 @@ public:
/// Gets the total size of the heap region in bytes.
u64 GetHeapRegionSize() const;
+ /// Determines whether or not the specified range is within the heap region.
+ bool IsWithinHeapRegion(VAddr address, u64 size) const;
+
/// Gets the base address of the map region.
VAddr GetMapRegionBaseAddress() const;
@@ -474,6 +480,9 @@ public:
/// Gets the total size of the map region in bytes.
u64 GetMapRegionSize() const;
+ /// Determines whether or not the specified range is within the map region.
+ bool IsWithinMapRegion(VAddr address, u64 size) const;
+
/// Gets the base address of the new map region.
VAddr GetNewMapRegionBaseAddress() const;
@@ -483,7 +492,7 @@ public:
/// Gets the total size of the new map region in bytes.
u64 GetNewMapRegionSize() const;
- /// Determines whether or not the given address range lies within the new map region
+ /// Determines whether or not the given address range is within the new map region
bool IsWithinNewMapRegion(VAddr address, u64 size) const;
/// Gets the base address of the TLS IO region.
@@ -495,6 +504,9 @@ public:
/// Gets the total size of the TLS IO region in bytes.
u64 GetTLSIORegionSize() const;
+ /// Determines if the given address range is within the TLS IO region.
+ bool IsWithinTLSIORegion(VAddr address, u64 size) const;
+
/// Each VMManager has its own page table, which is set as the main one when the owning process
/// is scheduled.
Memory::PageTable page_table;