Просмотр исходного кода

svc: Fix svcGetInfo MapRegionBaseAddr.

bunnei 8 лет назад
Родитель
Сommit
e1ee8f4657

+ 1 - 1
src/core/hle/kernel/svc.cpp

@@ -314,7 +314,7 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
         *result = g_current_process->allowed_thread_priority_mask;
         break;
     case GetInfoType::MapRegionBaseAddr:
-        *result = vm_manager.GetAddressSpaceBaseAddr();
+        *result = vm_manager.GetMapRegionBaseAddr();
         break;
     case GetInfoType::MapRegionSize:
         *result = vm_manager.GetAddressSpaceSize();

+ 5 - 0
src/core/hle/kernel/vm_manager.cpp

@@ -375,6 +375,11 @@ u64 VMManager::GetAddressSpaceSize() {
     return MAX_ADDRESS;
 }
 
+VAddr VMManager::GetMapRegionBaseAddr() {
+    LOG_WARNING(Kernel, "(STUBBED) called");
+    return Memory::HEAP_VADDR;
+}
+
 VAddr VMManager::GetNewMapRegionBaseAddr() {
     LOG_WARNING(Kernel, "(STUBBED) called");
     return 0x8000000;

+ 3 - 0
src/core/hle/kernel/vm_manager.h

@@ -192,6 +192,9 @@ public:
     /// Gets the total address space address size, used by svcGetInfo
     u64 GetAddressSpaceSize();
 
+    /// Gets the map region base address, used by svcGetInfo
+    VAddr GetMapRegionBaseAddr();
+
     /// Gets the base address for a new memory region, used by svcGetInfo
     VAddr GetNewMapRegionBaseAddr();