:: commit 190283949caac43ada316d1757fb0e261e3d2e16

Mintsuki <mintsuki@protonmail.com> — 2026-02-07 07:57

parents: 36f242ce3c

sys/cpu: Fix AArch64 cache line size calculation to use 4 << field

diff --git a/common/sys/cpu.h b/common/sys/cpu.h
index 8893e536..2b5ba3c2 100644
--- a/common/sys/cpu.h
+++ b/common/sys/cpu.h
@@ -250,14 +250,14 @@ static inline size_t icache_line_size(void) {
     uint64_t ctr;
     asm volatile ("mrs %0, ctr_el0" : "=r"(ctr));
 
-    return (ctr & 0b1111) << 4;
+    return 4 << (ctr & 0b1111);
 }
 
 static inline size_t dcache_line_size(void) {
     uint64_t ctr;
     asm volatile ("mrs %0, ctr_el0" : "=r"(ctr));
 
-    return ((ctr >> 16) & 0b1111) << 4;
+    return 4 << ((ctr >> 16) & 0b1111);
 }
 
 static inline bool is_icache_pipt(void) {
tab: 248 wrap: offon