| /* |
| * Copyright (C) 2017 SiFive |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation, version 2. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <linux/linkage.h> |
| #include <asm/unistd.h> |
| |
| .text |
| /* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */ |
| ENTRY(__vdso_flush_icache) |
| .cfi_startproc |
| #ifdef CONFIG_SMP |
| li a7, __NR_riscv_flush_icache |
| ecall |
| #else |
| fence.i |
| li a0, 0 |
| #endif |
| ret |
| .cfi_endproc |
| ENDPROC(__vdso_flush_icache) |