diff --git a/libraries/libmesosphere/include/mesosphere/kern_k_object_name.hpp b/libraries/libmesosphere/include/mesosphere/kern_k_object_name.hpp index c7ac703b9..bc1b0e372 100644 --- a/libraries/libmesosphere/include/mesosphere/kern_k_object_name.hpp +++ b/libraries/libmesosphere/include/mesosphere/kern_k_object_name.hpp @@ -48,7 +48,7 @@ namespace ams::kern { /* Check that the object is closed. */ R_UNLESS(derived->IsServerClosed(), svc::ResultInvalidState()); - return Delete(obj.GetPointerUnsafe(), name); + R_RETURN(Delete(obj.GetPointerUnsafe(), name)); } template requires std::derived_from diff --git a/libraries/libmesosphere/include/mesosphere/kern_k_priority_queue.hpp b/libraries/libmesosphere/include/mesosphere/kern_k_priority_queue.hpp index 6a14b85db..87d3fb1b9 100644 --- a/libraries/libmesosphere/include/mesosphere/kern_k_priority_queue.hpp +++ b/libraries/libmesosphere/include/mesosphere/kern_k_priority_queue.hpp @@ -234,11 +234,11 @@ namespace ams::kern { KPriorityQueueImpl m_scheduled_queue; KPriorityQueueImpl m_suggested_queue; private: - constexpr ALWAYS_INLINE void ClearAffinityBit(u64 &affinity, s32 core) { + static constexpr ALWAYS_INLINE void ClearAffinityBit(u64 &affinity, s32 core) { affinity &= ~(UINT64_C(1) << core); } - constexpr ALWAYS_INLINE s32 GetNextCore(u64 &affinity) { + static constexpr ALWAYS_INLINE s32 GetNextCore(u64 &affinity) { const s32 core = __builtin_ctzll(static_cast(affinity)); ClearAffinityBit(affinity, core); return core; diff --git a/mesosphere/kernel/source/arch/arm64/kern_k_scheduler_asm.s b/mesosphere/kernel/source/arch/arm64/kern_k_scheduler_asm.s index 877ad1c99..8fe2beb71 100644 --- a/mesosphere/kernel/source/arch/arm64/kern_k_scheduler_asm.s +++ b/mesosphere/kernel/source/arch/arm64/kern_k_scheduler_asm.s @@ -29,7 +29,6 @@ _ZN3ams4kern10KScheduler12ScheduleImplEv: mov x1, x0 /* First, clear the need's scheduling bool (and dmb ish after, as it's an atomic). */ - /* TODO: Should this be a stlrb? Nintendo does not do one. */ strb wzr, [x1] dmb ish