summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp26
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 }