From b952a3055575224d3f873b4a24498714f8eb2820 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sat, 22 Dec 2018 21:29:52 -0500 Subject: vm_manager: Add support for storing and getting main code region Used as root for one region of cheats, set by loader --- src/core/hle/kernel/vm_manager.cpp | 17 +++++++++++++++++ src/core/hle/kernel/vm_manager.h | 11 +++++++++++ 2 files changed, 28 insertions(+) (limited to 'src/core/hle/kernel') diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp index 10ad94aa6..161a83660 100644 --- a/src/core/hle/kernel/vm_manager.cpp +++ b/src/core/hle/kernel/vm_manager.cpp @@ -786,6 +786,23 @@ u64 VMManager::GetNewMapRegionSize() const { return new_map_region_end - new_map_region_base; } +void VMManager::SetMainCodeRegion(VAddr begin, VAddr end) { + main_code_region_base = begin; + main_code_region_end = end; +} + +VAddr VMManager::GetMainCodeRegionBaseAddress() const { + return main_code_region_base; +} + +VAddr VMManager::GetMainCodeRegionEndAddress() const { + return main_code_region_end; +} + +u64 VMManager::GetMainCodeRegionSize() const { + return main_code_region_end - main_code_region_base; +} + VAddr VMManager::GetTLSIORegionBaseAddress() const { return tls_io_region_base; } diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h index 6091533bc..728318f4b 100644 --- a/src/core/hle/kernel/vm_manager.h +++ b/src/core/hle/kernel/vm_manager.h @@ -480,6 +480,14 @@ public: /// Gets the total size of the new map region in bytes. u64 GetNewMapRegionSize() const; + void SetMainCodeRegion(VAddr begin, VAddr end); + + VAddr GetMainCodeRegionBaseAddress() const; + + VAddr GetMainCodeRegionEndAddress() const; + + u64 GetMainCodeRegionSize() const; + /// Gets the base address of the TLS IO region. VAddr GetTLSIORegionBaseAddress() const; @@ -598,6 +606,9 @@ private: VAddr new_map_region_base = 0; VAddr new_map_region_end = 0; + VAddr main_code_region_base = 0; + VAddr main_code_region_end = 0; + VAddr tls_io_region_base = 0; VAddr tls_io_region_end = 0; -- cgit v1.2.3 From 52ac6419dafb84b10369226d3746b3b5b761d33b Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Tue, 5 Mar 2019 10:09:27 -0500 Subject: vm_manager: Remove cheat-specific ranges from VMManager --- src/core/hle/kernel/vm_manager.cpp | 17 ----------------- src/core/hle/kernel/vm_manager.h | 8 -------- 2 files changed, 25 deletions(-) (limited to 'src/core/hle/kernel') diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp index 161a83660..10ad94aa6 100644 --- a/src/core/hle/kernel/vm_manager.cpp +++ b/src/core/hle/kernel/vm_manager.cpp @@ -786,23 +786,6 @@ u64 VMManager::GetNewMapRegionSize() const { return new_map_region_end - new_map_region_base; } -void VMManager::SetMainCodeRegion(VAddr begin, VAddr end) { - main_code_region_base = begin; - main_code_region_end = end; -} - -VAddr VMManager::GetMainCodeRegionBaseAddress() const { - return main_code_region_base; -} - -VAddr VMManager::GetMainCodeRegionEndAddress() const { - return main_code_region_end; -} - -u64 VMManager::GetMainCodeRegionSize() const { - return main_code_region_end - main_code_region_base; -} - VAddr VMManager::GetTLSIORegionBaseAddress() const { return tls_io_region_base; } diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h index 728318f4b..d83a63e07 100644 --- a/src/core/hle/kernel/vm_manager.h +++ b/src/core/hle/kernel/vm_manager.h @@ -480,14 +480,6 @@ public: /// Gets the total size of the new map region in bytes. u64 GetNewMapRegionSize() const; - void SetMainCodeRegion(VAddr begin, VAddr end); - - VAddr GetMainCodeRegionBaseAddress() const; - - VAddr GetMainCodeRegionEndAddress() const; - - u64 GetMainCodeRegionSize() const; - /// Gets the base address of the TLS IO region. VAddr GetTLSIORegionBaseAddress() const; -- cgit v1.2.3