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 */ 13 14#include <linux/linkage.h> 15#include <asm/unistd.h> 16#include <asm/vdso-syscalls.h> 17 18 .text 19/* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */ 20ENTRY(__vdso_flush_icache) 21 .cfi_startproc 22#ifdef CONFIG_SMP 23 li a7, __NR_riscv_flush_icache 24 ecall 25#else 26 fence.i 27 li a0, 0 28#endif 29 ret 30 .cfi_endproc 31ENDPROC(__vdso_flush_icache) 32