Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / arch / riscv / kernel / vdso / flush_icache.S
blob023e4d4aef588e139fafcbc9e3fb1ddef0482575
1 /*
2  * Copyright (C) 2017 SiFive
3  *
4  *   This program is free software; you can redistribute it and/or
5  *   modify it under the terms of the GNU General Public License
6  *   as published by the Free Software Foundation, version 2.
7  *
8  *   This program is distributed in the hope that it will be useful,
9  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
10  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  *   GNU General Public License for more details.
12  */
14 #include <linux/linkage.h>
15 #include <asm/unistd.h>
17         .text
18 /* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */
19 ENTRY(__vdso_flush_icache)
20         .cfi_startproc
21 #ifdef CONFIG_SMP
22         li a7, __NR_riscv_flush_icache
23         ecall
24 #else
25         fence.i
26         li a0, 0
27 #endif
28         ret
29         .cfi_endproc
30 ENDPROC(__vdso_flush_icache)