summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Chloe Marcec2021-02-03 12:55:16 +1100
committerGravatar Chloe Marcec2021-02-03 12:55:16 +1100
commit2c6e94049362f592bfb578a2b078f6f3067ed0d8 (patch)
tree513aa888bfe87637e8736165b35b852de079b02f
parentCompile error (diff)
downloadyuzu-2c6e94049362f592bfb578a2b078f6f3067ed0d8.tar.gz
yuzu-2c6e94049362f592bfb578a2b078f6f3067ed0d8.tar.xz
yuzu-2c6e94049362f592bfb578a2b078f6f3067ed0d8.zip
Simplify limitableresource names
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_resource_limit.h10
-rw-r--r--src/core/hle/kernel/k_thread.cpp2
-rw-r--r--src/core/hle/kernel/kernel.cpp16
-rw-r--r--src/core/hle/kernel/memory/page_table.cpp11
-rw-r--r--src/core/hle/kernel/process.cpp18
-rw-r--r--src/core/hle/kernel/svc.cpp8
6 files changed, 29 insertions, 36 deletions
diff --git a/src/core/hle/kernel/k_resource_limit.h b/src/core/hle/kernel/k_resource_limit.h
index 6b3437ea6..58ae456f1 100644
--- a/src/core/hle/kernel/k_resource_limit.h
+++ b/src/core/hle/kernel/k_resource_limit.h
@@ -22,11 +22,11 @@ class System;
22namespace Kernel { 22namespace Kernel {
23class KernelCore; 23class KernelCore;
24enum class LimitableResource : u32 { 24enum class LimitableResource : u32 {
25 PhysicalMemoryMax = 0, 25 PhysicalMemory = 0,
26 ThreadCountMax = 1, 26 Threads = 1,
27 EventCountMax = 2, 27 Events = 2,
28 TransferMemoryCountMax = 3, 28 TransferMemory = 3,
29 SessionCountMax = 4, 29 Sessions = 4,
30 30
31 Count, 31 Count,
32}; 32};
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp
index 38fd8e500..b59259c4f 100644
--- a/src/core/hle/kernel/k_thread.cpp
+++ b/src/core/hle/kernel/k_thread.cpp
@@ -247,7 +247,7 @@ void KThread::Finalize() {
247 // Decrement the parent process's thread count. 247 // Decrement the parent process's thread count.
248 if (parent != nullptr) { 248 if (parent != nullptr) {
249 parent->DecrementThreadCount(); 249 parent->DecrementThreadCount();
250 parent->GetResourceLimit()->Release(LimitableResource::ThreadCountMax, 1); 250 parent->GetResourceLimit()->Release(LimitableResource::Threads, 1);
251 } 251 }
252} 252}
253 253
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index c66a993c2..b20c2d13a 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -135,19 +135,15 @@ struct KernelCore::Impl {
135 system_resource_limit = std::make_shared<KResourceLimit>(kernel, system); 135 system_resource_limit = std::make_shared<KResourceLimit>(kernel, system);
136 136
137 // If setting the default system values fails, then something seriously wrong has occurred. 137 // If setting the default system values fails, then something seriously wrong has occurred.
138 ASSERT( 138 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::PhysicalMemory, 0x100000000)
139 system_resource_limit->SetLimitValue(LimitableResource::PhysicalMemoryMax, 0x100000000)
140 .IsSuccess());
141 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::ThreadCountMax, 800)
142 .IsSuccess()); 139 .IsSuccess());
143 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::EventCountMax, 700) 140 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Threads, 800).IsSuccess());
144 .IsSuccess()); 141 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Events, 700).IsSuccess());
145 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::TransferMemoryCountMax, 200) 142 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::TransferMemory, 200)
146 .IsSuccess());
147 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::SessionCountMax, 900)
148 .IsSuccess()); 143 .IsSuccess());
144 ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Sessions, 900).IsSuccess());
149 145
150 if (!system_resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, 0x60000)) { 146 if (!system_resource_limit->Reserve(LimitableResource::PhysicalMemory, 0x60000)) {
151 UNREACHABLE(); 147 UNREACHABLE();
152 } 148 }
153 } 149 }
diff --git a/src/core/hle/kernel/memory/page_table.cpp b/src/core/hle/kernel/memory/page_table.cpp
index d8c7d980a..7de91c768 100644
--- a/src/core/hle/kernel/memory/page_table.cpp
+++ b/src/core/hle/kernel/memory/page_table.cpp
@@ -413,8 +413,8 @@ ResultCode PageTable::MapPhysicalMemory(VAddr addr, std::size_t size) {
413 const std::size_t remaining_size{size - mapped_size}; 413 const std::size_t remaining_size{size - mapped_size};
414 const std::size_t remaining_pages{remaining_size / PageSize}; 414 const std::size_t remaining_pages{remaining_size / PageSize};
415 415
416 if (process->GetResourceLimit() && !process->GetResourceLimit()->Reserve( 416 if (process->GetResourceLimit() &&
417 LimitableResource::PhysicalMemoryMax, remaining_size)) { 417 !process->GetResourceLimit()->Reserve(LimitableResource::PhysicalMemory, remaining_size)) {
418 return ERR_RESOURCE_LIMIT_EXCEEDED; 418 return ERR_RESOURCE_LIMIT_EXCEEDED;
419 } 419 }
420 420
@@ -422,8 +422,7 @@ ResultCode PageTable::MapPhysicalMemory(VAddr addr, std::size_t size) {
422 { 422 {
423 auto block_guard = detail::ScopeExit([&] { 423 auto block_guard = detail::ScopeExit([&] {
424 system.Kernel().MemoryManager().Free(page_linked_list, remaining_pages, memory_pool); 424 system.Kernel().MemoryManager().Free(page_linked_list, remaining_pages, memory_pool);
425 process->GetResourceLimit()->Release(LimitableResource::PhysicalMemoryMax, 425 process->GetResourceLimit()->Release(LimitableResource::PhysicalMemory, remaining_size);
426 remaining_size);
427 }); 426 });
428 427
429 CASCADE_CODE(system.Kernel().MemoryManager().Allocate(page_linked_list, remaining_pages, 428 CASCADE_CODE(system.Kernel().MemoryManager().Allocate(page_linked_list, remaining_pages,
@@ -475,7 +474,7 @@ ResultCode PageTable::UnmapPhysicalMemory(VAddr addr, std::size_t size) {
475 CASCADE_CODE(UnmapMemory(addr, size)); 474 CASCADE_CODE(UnmapMemory(addr, size));
476 475
477 auto process{system.Kernel().CurrentProcess()}; 476 auto process{system.Kernel().CurrentProcess()};
478 process->GetResourceLimit()->Release(LimitableResource::PhysicalMemoryMax, mapped_size); 477 process->GetResourceLimit()->Release(LimitableResource::PhysicalMemory, mapped_size);
479 physical_memory_usage -= mapped_size; 478 physical_memory_usage -= mapped_size;
480 479
481 return RESULT_SUCCESS; 480 return RESULT_SUCCESS;
@@ -784,7 +783,7 @@ ResultVal<VAddr> PageTable::SetHeapSize(std::size_t size) {
784 783
785 auto process{system.Kernel().CurrentProcess()}; 784 auto process{system.Kernel().CurrentProcess()};
786 if (process->GetResourceLimit() && delta != 0 && 785 if (process->GetResourceLimit() && delta != 0 &&
787 !process->GetResourceLimit()->Reserve(LimitableResource::PhysicalMemoryMax, delta)) { 786 !process->GetResourceLimit()->Reserve(LimitableResource::PhysicalMemory, delta)) {
788 return ERR_RESOURCE_LIMIT_EXCEEDED; 787 return ERR_RESOURCE_LIMIT_EXCEEDED;
789 } 788 }
790 789
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 9efcb95f3..afdb27c54 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -154,7 +154,7 @@ void Process::DecrementThreadCount() {
154} 154}
155 155
156u64 Process::GetTotalPhysicalMemoryAvailable() const { 156u64 Process::GetTotalPhysicalMemoryAvailable() const {
157 const u64 capacity{resource_limit->GetFreeValue(LimitableResource::PhysicalMemoryMax) + 157 const u64 capacity{resource_limit->GetFreeValue(LimitableResource::PhysicalMemory) +
158 page_table->GetTotalHeapSize() + GetSystemResourceSize() + image_size + 158 page_table->GetTotalHeapSize() + GetSystemResourceSize() + image_size +
159 main_thread_stack_size}; 159 main_thread_stack_size};
160 160
@@ -308,13 +308,13 @@ ResultCode Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata,
308 308
309 // Set initial resource limits 309 // Set initial resource limits
310 resource_limit->SetLimitValue( 310 resource_limit->SetLimitValue(
311 LimitableResource::PhysicalMemoryMax, 311 LimitableResource::PhysicalMemory,
312 kernel.MemoryManager().GetSize(Memory::MemoryManager::Pool::Application)); 312 kernel.MemoryManager().GetSize(Memory::MemoryManager::Pool::Application));
313 resource_limit->SetLimitValue(LimitableResource::ThreadCountMax, 608); 313 resource_limit->SetLimitValue(LimitableResource::Threads, 608);
314 resource_limit->SetLimitValue(LimitableResource::EventCountMax, 700); 314 resource_limit->SetLimitValue(LimitableResource::Events, 700);
315 resource_limit->SetLimitValue(LimitableResource::TransferMemoryCountMax, 128); 315 resource_limit->SetLimitValue(LimitableResource::TransferMemory, 128);
316 resource_limit->SetLimitValue(LimitableResource::SessionCountMax, 894); 316 resource_limit->SetLimitValue(LimitableResource::Sessions, 894);
317 ASSERT(resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, code_size)); 317 ASSERT(resource_limit->Reserve(LimitableResource::PhysicalMemory, code_size));
318 318
319 // Create TLS region 319 // Create TLS region
320 tls_region_address = CreateTLSRegion(); 320 tls_region_address = CreateTLSRegion();
@@ -331,8 +331,8 @@ void Process::Run(s32 main_thread_priority, u64 stack_size) {
331 ChangeStatus(ProcessStatus::Running); 331 ChangeStatus(ProcessStatus::Running);
332 332
333 SetupMainThread(system, *this, main_thread_priority, main_thread_stack_top); 333 SetupMainThread(system, *this, main_thread_priority, main_thread_stack_top);
334 resource_limit->Reserve(LimitableResource::ThreadCountMax, 1); 334 resource_limit->Reserve(LimitableResource::Threads, 1);
335 resource_limit->Reserve(LimitableResource::PhysicalMemoryMax, main_thread_stack_size); 335 resource_limit->Reserve(LimitableResource::PhysicalMemory, main_thread_stack_size);
336} 336}
337 337
338void Process::PrepareForTermination() { 338void Process::PrepareForTermination() {
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index d89873104..74eb90100 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -312,8 +312,7 @@ static ResultCode ConnectToNamedPort(Core::System& system, Handle* out_handle,
312 return ERR_NOT_FOUND; 312 return ERR_NOT_FOUND;
313 } 313 }
314 314
315 ASSERT(kernel.CurrentProcess()->GetResourceLimit()->Reserve(LimitableResource::SessionCountMax, 315 ASSERT(kernel.CurrentProcess()->GetResourceLimit()->Reserve(LimitableResource::Sessions, 1));
316 1));
317 316
318 auto client_port = it->second; 317 auto client_port = it->second;
319 318
@@ -1451,9 +1450,8 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e
1451 Svc::ResultInvalidPriority); 1450 Svc::ResultInvalidPriority);
1452 R_UNLESS(process.CheckThreadPriority(priority), Svc::ResultInvalidPriority); 1451 R_UNLESS(process.CheckThreadPriority(priority), Svc::ResultInvalidPriority);
1453 1452
1454 ASSERT(process.GetResourceLimit()->Reserve(LimitableResource::ThreadCountMax, 1, 1453 ASSERT(process.GetResourceLimit()->Reserve(
1455 system.CoreTiming().GetGlobalTimeNs().count() + 1454 LimitableResource::Threads, 1, system.CoreTiming().GetGlobalTimeNs().count() + 100000000));
1456 100000000));
1457 1455
1458 std::shared_ptr<KThread> thread; 1456 std::shared_ptr<KThread> thread;
1459 { 1457 {