summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2018-01-16 18:27:48 -0500
committerGravatar GitHub2018-01-16 18:27:48 -0500
commit1aa4cdc3c8326e5db875c8a26afe14d6fbffdc3d (patch)
tree160c4a53715012ad8cb16c0738240d9530af4739 /src/core/hle/kernel/svc.cpp
parentMerge pull request #45 from FearlessTobi/patch-1 (diff)
parentUpdate memory.h (diff)
downloadyuzu-1aa4cdc3c8326e5db875c8a26afe14d6fbffdc3d.tar.gz
yuzu-1aa4cdc3c8326e5db875c8a26afe14d6fbffdc3d.tar.xz
yuzu-1aa4cdc3c8326e5db875c8a26afe14d6fbffdc3d.zip
Merge pull request #52 from ogniK5377/fsp
added more svcGetInfo pairs for 3.0.0+ support, Changed HEAP_SIZE and TLS_AREA_VADDR. changed mem usage & heap usage stub added, ISelfController, IApplication function stubs. Added SetThreadCoreMask
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 6b3fd13c9..056ba28ef 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -312,6 +312,15 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
312 case GetInfoType::AllowedCpuIdBitmask: 312 case GetInfoType::AllowedCpuIdBitmask:
313 *result = g_current_process->allowed_processor_mask; 313 *result = g_current_process->allowed_processor_mask;
314 break; 314 break;
315 case GetInfoType::AllowedThreadPrioBitmask:
316 *result = g_current_process->allowed_thread_priority_mask;
317 break;
318 case GetInfoType::MapRegionBaseAddr:
319 *result = vm_manager.GetAddressSpaceBaseAddr();
320 break;
321 case GetInfoType::MapRegionSize:
322 *result = vm_manager.GetAddressSpaceSize();
323 break;
315 case GetInfoType::TotalMemoryUsage: 324 case GetInfoType::TotalMemoryUsage:
316 *result = vm_manager.GetTotalMemoryUsage(); 325 *result = vm_manager.GetTotalMemoryUsage();
317 break; 326 break;
@@ -333,6 +342,9 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
333 case GetInfoType::NewMapRegionSize: 342 case GetInfoType::NewMapRegionSize:
334 *result = vm_manager.GetNewMapRegionSize(); 343 *result = vm_manager.GetNewMapRegionSize();
335 break; 344 break;
345 case GetInfoType::IsVirtualAddressMemoryEnabled:
346 *result = g_current_process->is_virtual_address_memory_enabled;
347 break;
336 default: 348 default:
337 UNIMPLEMENTED(); 349 UNIMPLEMENTED();
338 } 350 }
@@ -707,6 +719,11 @@ static ResultCode CreateTransferMemory(Handle* handle, VAddr addr, u64 size, u32
707 return RESULT_SUCCESS; 719 return RESULT_SUCCESS;
708} 720}
709 721
722static ResultCode SetThreadCoreMask(u64, u64, u64) {
723 LOG_WARNING(Kernel_SVC, "(STUBBED) called");
724 return RESULT_SUCCESS;
725}
726
710namespace { 727namespace {
711struct FunctionDef { 728struct FunctionDef {
712 using Func = void(); 729 using Func = void();
@@ -733,7 +750,7 @@ static const FunctionDef SVC_Table[] = {
733 {0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"}, 750 {0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"},
734 {0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"}, 751 {0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"},
735 {0x0E, nullptr, "GetThreadCoreMask"}, 752 {0x0E, nullptr, "GetThreadCoreMask"},
736 {0x0F, nullptr, "SetThreadCoreMask"}, 753 {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"},
737 {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"}, 754 {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"},
738 {0x11, nullptr, "SignalEvent"}, 755 {0x11, nullptr, "SignalEvent"},
739 {0x12, nullptr, "ClearEvent"}, 756 {0x12, nullptr, "ClearEvent"},