yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

kernel: document previous location of interrupt disables in arbiter/condvar

This commit is contained in:
Liam 2023-02-22 21:40:53 -05:00
parent 4165ac0680
commit 9f9b64cda2
2 changed files with 9 additions and 3 deletions

View File

@ -29,7 +29,9 @@ bool DecrementIfLessThan(Core::System& system, s32* out, VAddr address, s32 valu
auto& monitor = system.Monitor(); auto& monitor = system.Monitor();
const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); const auto current_core = system.Kernel().CurrentPhysicalCoreIndex();
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here. // TODO(bunnei): We should call CanAccessAtomic(..) here.
// Load the value from the address. // Load the value from the address.
@ -59,7 +61,9 @@ bool UpdateIfEqual(Core::System& system, s32* out, VAddr address, s32 value, s32
auto& monitor = system.Monitor(); auto& monitor = system.Monitor();
const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); const auto current_core = system.Kernel().CurrentPhysicalCoreIndex();
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here. // TODO(bunnei): We should call CanAccessAtomic(..) here.
// Load the value from the address. // Load the value from the address.

View File

@ -198,7 +198,9 @@ void KConditionVariable::SignalImpl(KThread* thread) {
u32 prev_tag{}; u32 prev_tag{};
bool can_access{}; bool can_access{};
{ {
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here. // TODO(bunnei): We should call CanAccessAtomic(..) here.
can_access = true; can_access = true;
if (can_access) [[likely]] { if (can_access) [[likely]] {