diff options
| author | 2018-04-20 21:26:54 -0400 | |
|---|---|---|
| committer | 2018-04-20 21:26:54 -0400 | |
| commit | 1723b4d8d477a1b9ee3f4ef4d6dcdce9af9521f4 (patch) | |
| tree | 6e829a57945033a156e0fafed9ce53fe341f6a12 /src | |
| parent | Merge pull request #371 from lioncash/global (diff) | |
| parent | resource_limit: Make ResourceTypes an enum class (diff) | |
| download | yuzu-1723b4d8d477a1b9ee3f4ef4d6dcdce9af9521f4.tar.gz yuzu-1723b4d8d477a1b9ee3f4ef4d6dcdce9af9521f4.tar.xz yuzu-1723b4d8d477a1b9ee3f4ef4d6dcdce9af9521f4.zip | |
Merge pull request #372 from lioncash/enum
resource_limit: Make ResourceTypes an enum class
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/resource_limit.cpp | 46 | ||||
| -rw-r--r-- | src/core/hle/kernel/resource_limit.h | 26 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 |
3 files changed, 38 insertions, 38 deletions
diff --git a/src/core/hle/kernel/resource_limit.cpp b/src/core/hle/kernel/resource_limit.cpp index 0149a3ed6..88ca8ad7e 100644 --- a/src/core/hle/kernel/resource_limit.cpp +++ b/src/core/hle/kernel/resource_limit.cpp | |||
| @@ -34,57 +34,57 @@ SharedPtr<ResourceLimit> ResourceLimit::GetForCategory(ResourceLimitCategory cat | |||
| 34 | } | 34 | } |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | s32 ResourceLimit::GetCurrentResourceValue(u32 resource) const { | 37 | s32 ResourceLimit::GetCurrentResourceValue(ResourceType resource) const { |
| 38 | switch (resource) { | 38 | switch (resource) { |
| 39 | case COMMIT: | 39 | case ResourceType::Commit: |
| 40 | return current_commit; | 40 | return current_commit; |
| 41 | case THREAD: | 41 | case ResourceType::Thread: |
| 42 | return current_threads; | 42 | return current_threads; |
| 43 | case EVENT: | 43 | case ResourceType::Event: |
| 44 | return current_events; | 44 | return current_events; |
| 45 | case MUTEX: | 45 | case ResourceType::Mutex: |
| 46 | return current_mutexes; | 46 | return current_mutexes; |
| 47 | case SEMAPHORE: | 47 | case ResourceType::Semaphore: |
| 48 | return current_semaphores; | 48 | return current_semaphores; |
| 49 | case TIMER: | 49 | case ResourceType::Timer: |
| 50 | return current_timers; | 50 | return current_timers; |
| 51 | case SHARED_MEMORY: | 51 | case ResourceType::SharedMemory: |
| 52 | return current_shared_mems; | 52 | return current_shared_mems; |
| 53 | case ADDRESS_ARBITER: | 53 | case ResourceType::AddressArbiter: |
| 54 | return current_address_arbiters; | 54 | return current_address_arbiters; |
| 55 | case CPU_TIME: | 55 | case ResourceType::CPUTime: |
| 56 | return current_cpu_time; | 56 | return current_cpu_time; |
| 57 | default: | 57 | default: |
| 58 | LOG_ERROR(Kernel, "Unknown resource type=%08X", resource); | 58 | LOG_ERROR(Kernel, "Unknown resource type=%08X", static_cast<u32>(resource)); |
| 59 | UNIMPLEMENTED(); | 59 | UNIMPLEMENTED(); |
| 60 | return 0; | 60 | return 0; |
| 61 | } | 61 | } |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | u32 ResourceLimit::GetMaxResourceValue(u32 resource) const { | 64 | u32 ResourceLimit::GetMaxResourceValue(ResourceType resource) const { |
| 65 | switch (resource) { | 65 | switch (resource) { |
| 66 | case PRIORITY: | 66 | case ResourceType::Priority: |
| 67 | return max_priority; | 67 | return max_priority; |
| 68 | case COMMIT: | 68 | case ResourceType::Commit: |
| 69 | return max_commit; | 69 | return max_commit; |
| 70 | case THREAD: | 70 | case ResourceType::Thread: |
| 71 | return max_threads; | 71 | return max_threads; |
| 72 | case EVENT: | 72 | case ResourceType::Event: |
| 73 | return max_events; | 73 | return max_events; |
| 74 | case MUTEX: | 74 | case ResourceType::Mutex: |
| 75 | return max_mutexes; | 75 | return max_mutexes; |
| 76 | case SEMAPHORE: | 76 | case ResourceType::Semaphore: |
| 77 | return max_semaphores; | 77 | return max_semaphores; |
| 78 | case TIMER: | 78 | case ResourceType::Timer: |
| 79 | return max_timers; | 79 | return max_timers; |
| 80 | case SHARED_MEMORY: | 80 | case ResourceType::SharedMemory: |
| 81 | return max_shared_mems; | 81 | return max_shared_mems; |
| 82 | case ADDRESS_ARBITER: | 82 | case ResourceType::AddressArbiter: |
| 83 | return max_address_arbiters; | 83 | return max_address_arbiters; |
| 84 | case CPU_TIME: | 84 | case ResourceType::CPUTime: |
| 85 | return max_cpu_time; | 85 | return max_cpu_time; |
| 86 | default: | 86 | default: |
| 87 | LOG_ERROR(Kernel, "Unknown resource type=%08X", resource); | 87 | LOG_ERROR(Kernel, "Unknown resource type=%08X", static_cast<u32>(resource)); |
| 88 | UNIMPLEMENTED(); | 88 | UNIMPLEMENTED(); |
| 89 | return 0; | 89 | return 0; |
| 90 | } | 90 | } |
diff --git a/src/core/hle/kernel/resource_limit.h b/src/core/hle/kernel/resource_limit.h index 1a0ca11f1..cc689a27a 100644 --- a/src/core/hle/kernel/resource_limit.h +++ b/src/core/hle/kernel/resource_limit.h | |||
| @@ -16,17 +16,17 @@ enum class ResourceLimitCategory : u8 { | |||
| 16 | OTHER = 3 | 16 | OTHER = 3 |
| 17 | }; | 17 | }; |
| 18 | 18 | ||
| 19 | enum ResourceTypes { | 19 | enum class ResourceType { |
| 20 | PRIORITY = 0, | 20 | Priority = 0, |
| 21 | COMMIT = 1, | 21 | Commit = 1, |
| 22 | THREAD = 2, | 22 | Thread = 2, |
| 23 | EVENT = 3, | 23 | Event = 3, |
| 24 | MUTEX = 4, | 24 | Mutex = 4, |
| 25 | SEMAPHORE = 5, | 25 | Semaphore = 5, |
| 26 | TIMER = 6, | 26 | Timer = 6, |
| 27 | SHARED_MEMORY = 7, | 27 | SharedMemory = 7, |
| 28 | ADDRESS_ARBITER = 8, | 28 | AddressArbiter = 8, |
| 29 | CPU_TIME = 9, | 29 | CPUTime = 9, |
| 30 | }; | 30 | }; |
| 31 | 31 | ||
| 32 | class ResourceLimit final : public Object { | 32 | class ResourceLimit final : public Object { |
| @@ -60,14 +60,14 @@ public: | |||
| 60 | * @param resource Requested resource type | 60 | * @param resource Requested resource type |
| 61 | * @returns The current value of the resource type | 61 | * @returns The current value of the resource type |
| 62 | */ | 62 | */ |
| 63 | s32 GetCurrentResourceValue(u32 resource) const; | 63 | s32 GetCurrentResourceValue(ResourceType resource) const; |
| 64 | 64 | ||
| 65 | /** | 65 | /** |
| 66 | * Gets the max value for the specified resource. | 66 | * Gets the max value for the specified resource. |
| 67 | * @param resource Requested resource type | 67 | * @param resource Requested resource type |
| 68 | * @returns The max value of the resource type | 68 | * @returns The max value of the resource type |
| 69 | */ | 69 | */ |
| 70 | u32 GetMaxResourceValue(u32 resource) const; | 70 | u32 GetMaxResourceValue(ResourceType resource) const; |
| 71 | 71 | ||
| 72 | /// Name of resource limit object. | 72 | /// Name of resource limit object. |
| 73 | std::string name; | 73 | std::string name; |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 6204bcaaa..633740992 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -407,7 +407,7 @@ static ResultCode SetThreadPriority(Handle handle, u32 priority) { | |||
| 407 | // Note: The kernel uses the current process's resource limit instead of | 407 | // Note: The kernel uses the current process's resource limit instead of |
| 408 | // the one from the thread owner's resource limit. | 408 | // the one from the thread owner's resource limit. |
| 409 | SharedPtr<ResourceLimit>& resource_limit = Core::CurrentProcess()->resource_limit; | 409 | SharedPtr<ResourceLimit>& resource_limit = Core::CurrentProcess()->resource_limit; |
| 410 | if (resource_limit->GetMaxResourceValue(ResourceTypes::PRIORITY) > priority) { | 410 | if (resource_limit->GetMaxResourceValue(ResourceType::Priority) > priority) { |
| 411 | return ERR_NOT_AUTHORIZED; | 411 | return ERR_NOT_AUTHORIZED; |
| 412 | } | 412 | } |
| 413 | 413 | ||
| @@ -541,7 +541,7 @@ static ResultCode CreateThread(Handle* out_handle, VAddr entry_point, u64 arg, V | |||
| 541 | } | 541 | } |
| 542 | 542 | ||
| 543 | SharedPtr<ResourceLimit>& resource_limit = Core::CurrentProcess()->resource_limit; | 543 | SharedPtr<ResourceLimit>& resource_limit = Core::CurrentProcess()->resource_limit; |
| 544 | if (resource_limit->GetMaxResourceValue(ResourceTypes::PRIORITY) > priority) { | 544 | if (resource_limit->GetMaxResourceValue(ResourceType::Priority) > priority) { |
| 545 | return ERR_NOT_AUTHORIZED; | 545 | return ERR_NOT_AUTHORIZED; |
| 546 | } | 546 | } |
| 547 | 547 | ||