GNU Linux-libre 6.7.9-gnu
[releases.git] / arch / riscv / kernel / vdso / flush_icache.S
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2017 SiFive
4  */
5
6 #include <linux/linkage.h>
7 #include <asm/unistd.h>
8
9         .text
10 /* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */
11 SYM_FUNC_START(__vdso_flush_icache)
12         .cfi_startproc
13 #ifdef CONFIG_SMP
14         li a7, __NR_riscv_flush_icache
15         ecall
16 #else
17         fence.i
18         li a0, 0
19 #endif
20         ret
21         .cfi_endproc
22 SYM_FUNC_END(__vdso_flush_icache)