On Sat, Jan 4, 2025, at 10:04, Jinyang Shen wrote: > On 2025/1/3 02:34, Jiaxun Yang wrote: >> +/* >> + * On LoongArch CPUs with ICACHET, writes automatically sync to both local and >> + * remote instruction caches. CPUs without this feature lack userspace cache >> + * flush instructions, requiring a syscall to maintain I/D cache coherence and >> + * propagate to remote caches. >> + * >> + * sys_loongarch_flush_icache() is defined to flush the instruction cache >> + * over an address range, with the flush applying to either all threads or >> + * just the caller. >> + */ >> +SYSCALL_DEFINE3(loongarch_flush_icache, uintptr_t, start, uintptr_t, end, >> + uintptr_t, flags) I think for consistency with other architectures, we want start/length/flags instead of start/end/flags. The meaning of the third argument is rather inconsistent between architectures already, but at least the second argument is always length so far. >> diff --git a/scripts/syscall.tbl b/scripts/syscall.tbl >> index ebbdb3c42e9f74613b003014c0baf44c842bb756..723fe859956809f26d6ec50ad7812933531ef687 100644 >> --- a/scripts/syscall.tbl >> +++ b/scripts/syscall.tbl >> @@ -298,6 +298,8 @@ >> 244 csky set_thread_area sys_set_thread_area >> 245 csky cacheflush sys_cacheflush >> >> +259 loongarch loongarch_flush_icache sys_loongarch_flush_icache > > Can we use cacheflush as arc, csky and nios2? Agreed. I would also use the number 244 instead of 259 here. Arnd