mirror of
https://github.com/Atmosphere-NX/Atmosphere-libs.git
synced 2025-06-30 15:02:42 +02:00
kern: implement 13.1.0 kernel changes
This commit is contained in:
parent
8cc1c43ba4
commit
dfba6af22c
@ -52,6 +52,10 @@ namespace ams::kern::arch::arm64::cpu {
|
|||||||
__asm__ __volatile__("dmb sy" ::: "memory");
|
__asm__ __volatile__("dmb sy" ::: "memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ALWAYS_INLINE void DataMemoryBarrierInnerShareable() {
|
||||||
|
__asm__ __volatile__("dmb ish" ::: "memory");
|
||||||
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE void InstructionMemoryBarrier() {
|
ALWAYS_INLINE void InstructionMemoryBarrier() {
|
||||||
__asm__ __volatile__("isb" ::: "memory");
|
__asm__ __volatile__("isb" ::: "memory");
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,9 @@ namespace ams::kern {
|
|||||||
|
|
||||||
/* Release an instance of the lock. */
|
/* Release an instance of the lock. */
|
||||||
if ((--m_lock_count) == 0) {
|
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. */
|
/* We're no longer going to hold the lock. Take note of what cores need scheduling. */
|
||||||
const u64 cores_needing_scheduling = SchedulerType::UpdateHighestPriorityThreads();
|
const u64 cores_needing_scheduling = SchedulerType::UpdateHighestPriorityThreads();
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ namespace ams::svc {
|
|||||||
/* This is the highest SVC version supported by Atmosphere, to be updated on new kernel releases. */
|
/* This is the highest SVC version supported by Atmosphere, to be updated on new kernel releases. */
|
||||||
/* NOTE: Official kernel versions have SVC major = SDK major + 4, SVC minor = SDK minor. */
|
/* NOTE: Official kernel versions have SVC major = SDK major + 4, SVC minor = SDK minor. */
|
||||||
constexpr inline u32 SupportedKernelMajorVersion = ConvertToSvcMajorVersion(13);
|
constexpr inline u32 SupportedKernelMajorVersion = ConvertToSvcMajorVersion(13);
|
||||||
constexpr inline u32 SupportedKernelMinorVersion = ConvertToSvcMinorVersion( 3);
|
constexpr inline u32 SupportedKernelMinorVersion = ConvertToSvcMinorVersion( 4);
|
||||||
|
|
||||||
constexpr inline u32 SupportedKernelVersion = EncodeKernelVersion(SupportedKernelMajorVersion, SupportedKernelMinorVersion);
|
constexpr inline u32 SupportedKernelVersion = EncodeKernelVersion(SupportedKernelMajorVersion, SupportedKernelMinorVersion);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user