mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-23 11:16:57 -04:00
kern: implement 13.1.0 kernel changes
This commit is contained in:
parent
ebca23305e
commit
1d5f66be56
4 changed files with 10 additions and 2 deletions
|
@ -52,6 +52,10 @@ namespace ams::kern::arch::arm64::cpu {
|
|||
__asm__ __volatile__("dmb sy" ::: "memory");
|
||||
}
|
||||
|
||||
ALWAYS_INLINE void DataMemoryBarrierInnerShareable() {
|
||||
__asm__ __volatile__("dmb ish" ::: "memory");
|
||||
}
|
||||
|
||||
ALWAYS_INLINE void InstructionMemoryBarrier() {
|
||||
__asm__ __volatile__("isb" ::: "memory");
|
||||
}
|
||||
|
|
|
@ -74,6 +74,9 @@ namespace ams::kern {
|
|||
|
||||
/* Release an instance of the lock. */
|
||||
if ((--m_lock_count) == 0) {
|
||||
/* Perform a memory barrier here. */
|
||||
cpu::DataMemoryBarrierInnerShareable();
|
||||
|
||||
/* We're no longer going to hold the lock. Take note of what cores need scheduling. */
|
||||
const u64 cores_needing_scheduling = SchedulerType::UpdateHighestPriorityThreads();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue