diff options
Diffstat (limited to 'arch/riscv/kernel/sys_riscv.c')
-rw-r--r-- | arch/riscv/kernel/sys_riscv.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/arch/riscv/kernel/sys_riscv.c b/arch/riscv/kernel/sys_riscv.c index 568026ccf6e8..fb03a4482ad6 100644 --- a/arch/riscv/kernel/sys_riscv.c +++ b/arch/riscv/kernel/sys_riscv.c | |||
@@ -65,24 +65,11 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, | |||
65 | SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start, uintptr_t, end, | 65 | SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start, uintptr_t, end, |
66 | uintptr_t, flags) | 66 | uintptr_t, flags) |
67 | { | 67 | { |
68 | #ifdef CONFIG_SMP | ||
69 | struct mm_struct *mm = current->mm; | ||
70 | bool local = (flags & SYS_RISCV_FLUSH_ICACHE_LOCAL) != 0; | ||
71 | #endif | ||
72 | |||
73 | /* Check the reserved flags. */ | 68 | /* Check the reserved flags. */ |
74 | if (unlikely(flags & ~SYS_RISCV_FLUSH_ICACHE_ALL)) | 69 | if (unlikely(flags & ~SYS_RISCV_FLUSH_ICACHE_ALL)) |
75 | return -EINVAL; | 70 | return -EINVAL; |
76 | 71 | ||
77 | /* | 72 | flush_icache_mm(current->mm, flags & SYS_RISCV_FLUSH_ICACHE_LOCAL); |
78 | * Without CONFIG_SMP flush_icache_mm is a just a flush_icache_all(), | ||
79 | * which generates unused variable warnings all over this function. | ||
80 | */ | ||
81 | #ifdef CONFIG_SMP | ||
82 | flush_icache_mm(mm, local); | ||
83 | #else | ||
84 | flush_icache_all(); | ||
85 | #endif | ||
86 | 73 | ||
87 | return 0; | 74 | return 0; |
88 | } | 75 | } |