summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar bunnei2018-01-19 14:48:08 -0500
committerGravatar GitHub2018-01-19 14:48:08 -0500
commit0f363d37e6b9e124b70e667ce0b1e9b8674aba64 (patch)
treeddc9c1e4342264d884a3125aeb51ffb3fb49424b /src/core/hle/kernel
parentMerge pull request #97 from bunnei/time-stub (diff)
parentnvdrv: Stub SetClientPID. (diff)
downloadyuzu-0f363d37e6b9e124b70e667ce0b1e9b8674aba64.tar.gz
yuzu-0f363d37e6b9e124b70e667ce0b1e9b8674aba64.tar.xz
yuzu-0f363d37e6b9e124b70e667ce0b1e9b8674aba64.zip
Merge pull request #109 from bunnei/libnx-fixes
Fix svcGetInfo for libnx
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/svc.cpp2
-rw-r--r--src/core/hle/kernel/svc.h4
-rw-r--r--src/core/hle/kernel/vm_manager.cpp5
-rw-r--r--src/core/hle/kernel/vm_manager.h3
4 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 45da842ef..339374aff 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -314,7 +314,7 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
314 *result = g_current_process->allowed_thread_priority_mask; 314 *result = g_current_process->allowed_thread_priority_mask;
315 break; 315 break;
316 case GetInfoType::MapRegionBaseAddr: 316 case GetInfoType::MapRegionBaseAddr:
317 *result = vm_manager.GetAddressSpaceBaseAddr(); 317 *result = vm_manager.GetMapRegionBaseAddr();
318 break; 318 break;
319 case GetInfoType::MapRegionSize: 319 case GetInfoType::MapRegionSize:
320 *result = vm_manager.GetAddressSpaceSize(); 320 *result = vm_manager.GetAddressSpaceSize();
diff --git a/src/core/hle/kernel/svc.h b/src/core/hle/kernel/svc.h
index 42cc41da3..bc471d01e 100644
--- a/src/core/hle/kernel/svc.h
+++ b/src/core/hle/kernel/svc.h
@@ -14,7 +14,11 @@ struct MemoryInfo {
14 u32 type; 14 u32 type;
15 u32 attributes; 15 u32 attributes;
16 u32 permission; 16 u32 permission;
17 u32 device_refcount;
18 u32 ipc_refcount;
19 INSERT_PADDING_WORDS(1);
17}; 20};
21static_assert(sizeof(MemoryInfo) == 0x28, "MemoryInfo has incorrect size.");
18 22
19struct PageInfo { 23struct PageInfo {
20 u64 flags; 24 u64 flags;
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp
index bf261699e..93662a45e 100644
--- a/src/core/hle/kernel/vm_manager.cpp
+++ b/src/core/hle/kernel/vm_manager.cpp
@@ -375,6 +375,11 @@ u64 VMManager::GetAddressSpaceSize() {
375 return MAX_ADDRESS; 375 return MAX_ADDRESS;
376} 376}
377 377
378VAddr VMManager::GetMapRegionBaseAddr() {
379 LOG_WARNING(Kernel, "(STUBBED) called");
380 return Memory::HEAP_VADDR;
381}
382
378VAddr VMManager::GetNewMapRegionBaseAddr() { 383VAddr VMManager::GetNewMapRegionBaseAddr() {
379 LOG_WARNING(Kernel, "(STUBBED) called"); 384 LOG_WARNING(Kernel, "(STUBBED) called");
380 return 0x8000000; 385 return 0x8000000;
diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h
index 7a7fee54a..b17385c7c 100644
--- a/src/core/hle/kernel/vm_manager.h
+++ b/src/core/hle/kernel/vm_manager.h
@@ -192,6 +192,9 @@ public:
192 /// Gets the total address space address size, used by svcGetInfo 192 /// Gets the total address space address size, used by svcGetInfo
193 u64 GetAddressSpaceSize(); 193 u64 GetAddressSpaceSize();
194 194
195 /// Gets the map region base address, used by svcGetInfo
196 VAddr GetMapRegionBaseAddr();
197
195 /// Gets the base address for a new memory region, used by svcGetInfo 198 /// Gets the base address for a new memory region, used by svcGetInfo
196 VAddr GetNewMapRegionBaseAddr(); 199 VAddr GetNewMapRegionBaseAddr();
197 200