diff options
| author | 2023-02-22 21:40:53 -0500 | |
|---|---|---|
| committer | 2023-03-01 10:42:45 -0500 | |
| commit | 9f9b64cda2079a1aebf2c4a12fc20c24891c23c9 (patch) | |
| tree | c9697c325ae6f1271b627ab7c93c5c84c2f9a13a /src | |
| parent | kernel: adjust pool allocations (diff) | |
| download | yuzu-9f9b64cda2079a1aebf2c4a12fc20c24891c23c9.tar.gz yuzu-9f9b64cda2079a1aebf2c4a12fc20c24891c23c9.tar.xz yuzu-9f9b64cda2079a1aebf2c4a12fc20c24891c23c9.zip | |
kernel: document previous location of interrupt disables in arbiter/condvar
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/k_address_arbiter.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_condition_variable.cpp | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_address_arbiter.cpp b/src/core/hle/kernel/k_address_arbiter.cpp index a442a3b98..fb86451ea 100644 --- a/src/core/hle/kernel/k_address_arbiter.cpp +++ b/src/core/hle/kernel/k_address_arbiter.cpp | |||
| @@ -29,7 +29,9 @@ bool DecrementIfLessThan(Core::System& system, s32* out, VAddr address, s32 valu | |||
| 29 | auto& monitor = system.Monitor(); | 29 | auto& monitor = system.Monitor(); |
| 30 | const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); | 30 | const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); |
| 31 | 31 | ||
| 32 | // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. | 32 | // NOTE: If scheduler lock is not held here, interrupt disable is required. |
| 33 | // KScopedInterruptDisable di; | ||
| 34 | |||
| 33 | // TODO(bunnei): We should call CanAccessAtomic(..) here. | 35 | // TODO(bunnei): We should call CanAccessAtomic(..) here. |
| 34 | 36 | ||
| 35 | // Load the value from the address. | 37 | // Load the value from the address. |
| @@ -59,7 +61,9 @@ bool UpdateIfEqual(Core::System& system, s32* out, VAddr address, s32 value, s32 | |||
| 59 | auto& monitor = system.Monitor(); | 61 | auto& monitor = system.Monitor(); |
| 60 | const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); | 62 | const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); |
| 61 | 63 | ||
| 62 | // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. | 64 | // NOTE: If scheduler lock is not held here, interrupt disable is required. |
| 65 | // KScopedInterruptDisable di; | ||
| 66 | |||
| 63 | // TODO(bunnei): We should call CanAccessAtomic(..) here. | 67 | // TODO(bunnei): We should call CanAccessAtomic(..) here. |
| 64 | 68 | ||
| 65 | // Load the value from the address. | 69 | // Load the value from the address. |
diff --git a/src/core/hle/kernel/k_condition_variable.cpp b/src/core/hle/kernel/k_condition_variable.cpp index 3f0be1c3f..50a805296 100644 --- a/src/core/hle/kernel/k_condition_variable.cpp +++ b/src/core/hle/kernel/k_condition_variable.cpp | |||
| @@ -198,7 +198,9 @@ void KConditionVariable::SignalImpl(KThread* thread) { | |||
| 198 | u32 prev_tag{}; | 198 | u32 prev_tag{}; |
| 199 | bool can_access{}; | 199 | bool can_access{}; |
| 200 | { | 200 | { |
| 201 | // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. | 201 | // NOTE: If scheduler lock is not held here, interrupt disable is required. |
| 202 | // KScopedInterruptDisable di; | ||
| 203 | |||
| 202 | // TODO(bunnei): We should call CanAccessAtomic(..) here. | 204 | // TODO(bunnei): We should call CanAccessAtomic(..) here. |
| 203 | can_access = true; | 205 | can_access = true; |
| 204 | if (can_access) [[likely]] { | 206 | if (can_access) [[likely]] { |