GNU Linux-libre 5.4.274-gnu1
[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 ENTRY(__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 ENDPROC(__vdso_flush_icache)