kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs

This commit is contained in:
Michael Scire
2021-10-19 01:20:28 -07:00
parent 42b6c2dd95
commit f3b532070b
9 changed files with 22 additions and 56 deletions

View File

@@ -248,8 +248,9 @@ namespace ams::kern::arch::arm {
return id;
}
private:
static constexpr size_t PriorityShift = BITSIZEOF(u8) - __builtin_ctz(NumPriorityLevels);
static constexpr size_t PriorityShift = BITSIZEOF(u8) - util::CountTrailingZeros(NumPriorityLevels);
static_assert(PriorityShift < BITSIZEOF(u8));
static_assert(util::IsPowerOfTwo(NumPriorityLevels));
static constexpr ALWAYS_INLINE u8 ToGicPriorityValue(s32 level) {
return (level << PriorityShift) | ((1 << PriorityShift) - 1);