diff options
author | bunnei <bunneidev@gmail.com> | 2018-01-01 21:59:31 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-01-01 21:59:31 +0100 |
commit | e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab (patch) | |
tree | a83a2f56531ee1f874daced8b526d1d1fa8e3a8e /src/core/hle | |
parent | svc: Fix string formatting for CreateThread. (diff) | |
download | yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar.gz yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar.bz2 yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar.lz yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar.xz yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.tar.zst yuzu-e9710a2cf7ef7b9d98f9d8a7ed6f8ac5a04921ab.zip |
Diffstat (limited to 'src/core/hle')
-rw-r--r-- | src/core/hle/kernel/vm_manager.cpp | 34 | ||||
-rw-r--r-- | src/core/hle/kernel/vm_manager.h | 18 |
2 files changed, 51 insertions, 1 deletions
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp index 9762ef535..dca637dde 100644 --- a/src/core/hle/kernel/vm_manager.cpp +++ b/src/core/hle/kernel/vm_manager.cpp @@ -4,6 +4,7 @@ #include <iterator> #include "common/assert.h" +#include "common/logging/log.h" #include "core/arm/arm_interface.h" #include "core/hle/kernel/errors.h" #include "core/hle/kernel/vm_manager.h" @@ -62,7 +63,7 @@ void VMManager::Reset() { page_table.attributes.fill(Memory::PageType::Unmapped); page_table.cached_res_count.fill(0); - //UpdatePageTableForVMA(initial_vma); + UpdatePageTableForVMA(initial_vma); } VMManager::VMAHandle VMManager::FindVMA(VAddr target) const { @@ -352,4 +353,35 @@ void VMManager::UpdatePageTableForVMA(const VirtualMemoryArea& vma) { break; } } + +u64 VMManager::GetTotalMemoryUsage() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return 0x400000; +} + +u64 VMManager::GetTotalHeapUsage() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return 0x10000; +} + +VAddr VMManager::GetAddressSpaceBaseAddr() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return 0x8000000; +} + +u64 VMManager::GetAddressSpaceSize() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return MAX_ADDRESS; +} + +VAddr VMManager::GetNewMapRegionBaseAddr() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return 0x8000000; } + +u64 VMManager::GetNewMapRegionSize() { + LOG_WARNING(Kernel, "(STUBBED) called"); + return 0x8000000; +} + +} // namespace Kernel diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h index d3db1ca8d..1f2b129d1 100644 --- a/src/core/hle/kernel/vm_manager.h +++ b/src/core/hle/kernel/vm_manager.h @@ -181,6 +181,24 @@ public: /// Dumps the address space layout to the log, for debugging void LogLayout(Log::Level log_level) const; + /// Gets the total memory usage, used by svcGetInfo + u64 GetTotalMemoryUsage(); + + /// Gets the total heap usage, used by svcGetInfo + u64 GetTotalHeapUsage(); + + /// Gets the total address space base address, used by svcGetInfo + VAddr GetAddressSpaceBaseAddr(); + + /// Gets the total address space address size, used by svcGetInfo + u64 GetAddressSpaceSize(); + + /// Gets the base address for a new memory region, used by svcGetInfo + VAddr GetNewMapRegionBaseAddr(); + + /// Gets the size for a new memory region, used by svcGetInfo + u64 GetNewMapRegionSize(); + /// Each VMManager has its own page table, which is set as the main one when the owning process /// is scheduled. Memory::PageTable page_table; |