summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-10-26 06:37:14 +0200
committerLioncash <mathew1800@gmail.com>2018-10-26 18:49:14 +0200
commit7de8e3634323bbfcd4242581b2e45493a126710a (patch)
tree387a3d465c90bfaba1953a6748d75cd92f176592 /src
parentsvc: Implement svcGetInfo command 0xF0000002 (diff)
downloadyuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar.gz
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar.bz2
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar.lz
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar.xz
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.tar.zst
yuzu-7de8e3634323bbfcd4242581b2e45493a126710a.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/svc.cpp31
-rw-r--r--src/core/hle/kernel/svc.h32
2 files changed, 31 insertions, 32 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 110f042d7..4e490e2b5 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -467,6 +467,37 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
LOG_TRACE(Kernel_SVC, "called info_id=0x{:X}, info_sub_id=0x{:X}, handle=0x{:08X}", info_id,
info_sub_id, handle);
+ enum class GetInfoType : u64 {
+ // 1.0.0+
+ AllowedCpuIdBitmask = 0,
+ AllowedThreadPrioBitmask = 1,
+ MapRegionBaseAddr = 2,
+ MapRegionSize = 3,
+ HeapRegionBaseAddr = 4,
+ HeapRegionSize = 5,
+ TotalMemoryUsage = 6,
+ TotalHeapUsage = 7,
+ IsCurrentProcessBeingDebugged = 8,
+ ResourceHandleLimit = 9,
+ IdleTickCount = 10,
+ RandomEntropy = 11,
+ PerformanceCounter = 0xF0000002,
+ // 2.0.0+
+ ASLRRegionBaseAddr = 12,
+ ASLRRegionSize = 13,
+ NewMapRegionBaseAddr = 14,
+ NewMapRegionSize = 15,
+ // 3.0.0+
+ IsVirtualAddressMemoryEnabled = 16,
+ PersonalMmHeapUsage = 17,
+ TitleId = 18,
+ // 4.0.0+
+ PrivilegedProcessId = 19,
+ // 5.0.0+
+ UserExceptionContextAddr = 20,
+ ThreadTickCount = 0xF0000002,
+ };
+
const auto* current_process = Core::CurrentProcess();
const auto& vm_manager = current_process->VMManager();
diff --git a/src/core/hle/kernel/svc.h b/src/core/hle/kernel/svc.h
index 948fd30e4..b06aac4ec 100644
--- a/src/core/hle/kernel/svc.h
+++ b/src/core/hle/kernel/svc.h
@@ -24,38 +24,6 @@ struct PageInfo {
u64 flags;
};
-/// Values accepted by svcGetInfo
-enum class GetInfoType : u64 {
- // 1.0.0+
- AllowedCpuIdBitmask = 0,
- AllowedThreadPrioBitmask = 1,
- MapRegionBaseAddr = 2,
- MapRegionSize = 3,
- HeapRegionBaseAddr = 4,
- HeapRegionSize = 5,
- TotalMemoryUsage = 6,
- TotalHeapUsage = 7,
- IsCurrentProcessBeingDebugged = 8,
- ResourceHandleLimit = 9,
- IdleTickCount = 10,
- RandomEntropy = 11,
- PerformanceCounter = 0xF0000002,
- // 2.0.0+
- ASLRRegionBaseAddr = 12,
- ASLRRegionSize = 13,
- NewMapRegionBaseAddr = 14,
- NewMapRegionSize = 15,
- // 3.0.0+
- IsVirtualAddressMemoryEnabled = 16,
- PersonalMmHeapUsage = 17,
- TitleId = 18,
- // 4.0.0+
- PrivilegedProcessId = 19,
- // 5.0.0+
- UserExceptionContextAddr = 20,
- ThreadTickCount = 0xF0000002,
-};
-
void CallSVC(u32 immediate);
} // namespace Kernel