:: commit afb2a8e642d6c1c2f5b8b4cb96649660f972b187

Kacper Słomiński <kacper.slominski72@gmail.com> — 2025-11-29 16:21

parents: 8679e68efc

lib/gterm: Add flush callback for aarch64

diff --git a/common/lib/gterm.c b/common/lib/gterm.c
index 7da62101..5449626b 100644
--- a/common/lib/gterm.c
+++ b/common/lib/gterm.c
@@ -469,6 +469,10 @@ static void riscv_flush_callback(volatile void *base, size_t length) {
         asm volatile("cbo.flush (%0)" :: "r"(ptr) : "memory");
     }
 }
+#elif defined (__aarch64__)
+static void aarch64_flush_callback(volatile void *base, size_t length) {
+    clean_dcache_poc((uintptr_t)base, (uintptr_t)base + length);
+}
 #endif
 
 bool gterm_init(struct fb_info **_fbs, size_t *_fbs_count,
@@ -806,6 +810,8 @@ no_load_font:;
         if (riscv_check_isa_extension("zicbom", NULL, NULL)) {
             flanterm_fb_set_flush_callback(term, riscv_flush_callback);
         }
+#elif defined (__aarch64__)
+        flanterm_fb_set_flush_callback(term, aarch64_flush_callback);
 #endif
     }
 
tab: 248 wrap: offon