diff options
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 5a5851f66..f9c606bc5 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -710,13 +710,13 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, u64 ha | |||
| 710 | MapRegionSize = 3, | 710 | MapRegionSize = 3, |
| 711 | HeapRegionBaseAddr = 4, | 711 | HeapRegionBaseAddr = 4, |
| 712 | HeapRegionSize = 5, | 712 | HeapRegionSize = 5, |
| 713 | TotalMemoryUsage = 6, | 713 | TotalPhysicalMemoryAvailable = 6, |
| 714 | TotalPhysicalMemoryUsed = 7, | 714 | TotalPhysicalMemoryUsed = 7, |
| 715 | IsCurrentProcessBeingDebugged = 8, | 715 | IsCurrentProcessBeingDebugged = 8, |
| 716 | RegisterResourceLimit = 9, | 716 | RegisterResourceLimit = 9, |
| 717 | IdleTickCount = 10, | 717 | IdleTickCount = 10, |
| 718 | RandomEntropy = 11, | 718 | RandomEntropy = 11, |
| 719 | PerformanceCounter = 0xF0000002, | 719 | ThreadTickCount = 0xF0000002, |
| 720 | // 2.0.0+ | 720 | // 2.0.0+ |
| 721 | ASLRRegionBaseAddr = 12, | 721 | ASLRRegionBaseAddr = 12, |
| 722 | ASLRRegionSize = 13, | 722 | ASLRRegionSize = 13, |
| @@ -730,7 +730,9 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, u64 ha | |||
| 730 | PrivilegedProcessId = 19, | 730 | PrivilegedProcessId = 19, |
| 731 | // 5.0.0+ | 731 | // 5.0.0+ |
| 732 | UserExceptionContextAddr = 20, | 732 | UserExceptionContextAddr = 20, |
| 733 | ThreadTickCount = 0xF0000002, | 733 | // 6.0.0+ |
| 734 | TotalPhysicalMemoryAvailableWithoutMmHeap = 21, | ||
| 735 | TotalPhysicalMemoryUsedWithoutMmHeap = 22, | ||
| 734 | }; | 736 | }; |
| 735 | 737 | ||
| 736 | const auto info_id_type = static_cast<GetInfoType>(info_id); | 738 | const auto info_id_type = static_cast<GetInfoType>(info_id); |
| @@ -746,12 +748,14 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, u64 ha | |||
| 746 | case GetInfoType::ASLRRegionSize: | 748 | case GetInfoType::ASLRRegionSize: |
| 747 | case GetInfoType::NewMapRegionBaseAddr: | 749 | case GetInfoType::NewMapRegionBaseAddr: |
| 748 | case GetInfoType::NewMapRegionSize: | 750 | case GetInfoType::NewMapRegionSize: |
| 749 | case GetInfoType::TotalMemoryUsage: | 751 | case GetInfoType::TotalPhysicalMemoryAvailable: |
| 750 | case GetInfoType::TotalPhysicalMemoryUsed: | 752 | case GetInfoType::TotalPhysicalMemoryUsed: |
| 751 | case GetInfoType::IsVirtualAddressMemoryEnabled: | 753 | case GetInfoType::IsVirtualAddressMemoryEnabled: |
| 752 | case GetInfoType::PersonalMmHeapUsage: | 754 | case GetInfoType::PersonalMmHeapUsage: |
| 753 | case GetInfoType::TitleId: | 755 | case GetInfoType::TitleId: |
| 754 | case GetInfoType::UserExceptionContextAddr: { | 756 | case GetInfoType::UserExceptionContextAddr: |
| 757 | case GetInfoType::TotalPhysicalMemoryAvailableWithoutMmHeap: | ||
| 758 | case GetInfoType::TotalPhysicalMemoryUsedWithoutMmHeap: { | ||
| 755 | if (info_sub_id != 0) { | 759 | if (info_sub_id != 0) { |
| 756 | return ERR_INVALID_ENUM_VALUE; | 760 | return ERR_INVALID_ENUM_VALUE; |
| 757 | } | 761 | } |
| @@ -804,8 +808,8 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, u64 ha | |||
| 804 | *result = process->VMManager().GetNewMapRegionSize(); | 808 | *result = process->VMManager().GetNewMapRegionSize(); |
| 805 | return RESULT_SUCCESS; | 809 | return RESULT_SUCCESS; |
| 806 | 810 | ||
| 807 | case GetInfoType::TotalMemoryUsage: | 811 | case GetInfoType::TotalPhysicalMemoryAvailable: |
| 808 | *result = process->VMManager().GetTotalMemoryUsage(); | 812 | *result = process->GetTotalPhysicalMemoryAvailable(); |
| 809 | return RESULT_SUCCESS; | 813 | return RESULT_SUCCESS; |
| 810 | 814 | ||
| 811 | case GetInfoType::TotalPhysicalMemoryUsed: | 815 | case GetInfoType::TotalPhysicalMemoryUsed: |
| @@ -826,6 +830,14 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, u64 ha | |||
| 826 | *result = 0; | 830 | *result = 0; |
| 827 | return RESULT_SUCCESS; | 831 | return RESULT_SUCCESS; |
| 828 | 832 | ||
| 833 | case GetInfoType::TotalPhysicalMemoryAvailableWithoutMmHeap: | ||
| 834 | *result = process->GetTotalPhysicalMemoryAvailable(); | ||
| 835 | return RESULT_SUCCESS; | ||
| 836 | |||
| 837 | case GetInfoType::TotalPhysicalMemoryUsedWithoutMmHeap: | ||
| 838 | *result = process->GetTotalPhysicalMemoryUsedWithoutMmHeap(); | ||
| 839 | return RESULT_SUCCESS; | ||
| 840 | |||
| 829 | default: | 841 | default: |
| 830 | break; | 842 | break; |
| 831 | } | 843 | } |