aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_resource_limit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/k_resource_limit.cpp')
-rw-r--r--src/core/hle/kernel/k_resource_limit.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/core/hle/kernel/k_resource_limit.cpp b/src/core/hle/kernel/k_resource_limit.cpp
index e886f97ebd..1a2c92a665 100644
--- a/src/core/hle/kernel/k_resource_limit.cpp
+++ b/src/core/hle/kernel/k_resource_limit.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -16,12 +16,15 @@ namespace Kernel {
constexpr s64 DefaultTimeout = 10000000000; // 10 seconds
KResourceLimit::KResourceLimit(KernelCore& kernel)
- : KAutoObjectWithSlabHeapAndContainer{kernel}, m_lock{m_kernel}, m_cond_var{m_kernel} {}
+ : KAutoObjectWithSlabHeapAndContainer{kernel}
+ , m_lock{kernel}
+ , m_cond_var{kernel}
+{}
KResourceLimit::~KResourceLimit() = default;
void KResourceLimit::Initialize() {}
-void KResourceLimit::Finalize() {}
+void KResourceLimit::Finalize(KernelCore& kernel) {}
s64 KResourceLimit::GetLimitValue(LimitableResource which) const {
const auto index = static_cast<std::size_t>(which);
@@ -87,11 +90,11 @@ Result KResourceLimit::SetLimitValue(LimitableResource which, s64 value) {
R_SUCCEED();
}
-bool KResourceLimit::Reserve(LimitableResource which, s64 value) {
- return Reserve(which, value, m_kernel.HardwareTimer().GetTick() + DefaultTimeout);
+bool KResourceLimit::Reserve(KernelCore& kernel, LimitableResource which, s64 value) {
+ return Reserve(kernel, which, value, kernel.HardwareTimer().GetTick() + DefaultTimeout);
}
-bool KResourceLimit::Reserve(LimitableResource which, s64 value, s64 timeout) {
+bool KResourceLimit::Reserve(KernelCore& kernel, LimitableResource which, s64 value, s64 timeout) {
ASSERT(value >= 0);
const auto index = static_cast<std::size_t>(which);
KScopedLightLock lk(m_lock);
@@ -119,7 +122,7 @@ bool KResourceLimit::Reserve(LimitableResource which, s64 value, s64 timeout) {
}
if (m_current_hints[index] + value <= m_limit_values[index] &&
- (timeout < 0 || m_kernel.HardwareTimer().GetTick() < timeout)) {
+ (timeout < 0 || kernel.HardwareTimer().GetTick() < timeout)) {
m_waiter_count++;
m_cond_var.Wait(std::addressof(m_lock), timeout, false);
m_waiter_count--;
@@ -131,11 +134,11 @@ bool KResourceLimit::Reserve(LimitableResource which, s64 value, s64 timeout) {
return false;
}
-void KResourceLimit::Release(LimitableResource which, s64 value) {
- Release(which, value, value);
+void KResourceLimit::Release(KernelCore& kernel, LimitableResource which, s64 value) {
+ Release(kernel, which, value, value);
}
-void KResourceLimit::Release(LimitableResource which, s64 value, s64 hint) {
+void KResourceLimit::Release(KernelCore& kernel, LimitableResource which, s64 value, s64 hint) {
ASSERT(value >= 0);
ASSERT(hint >= 0);