mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
575 B
29 lines
575 B
// SPDX-License-Identifier: GPL-2.0 |
|
// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. |
|
|
|
#include <linux/syscalls.h> |
|
#include <asm/page.h> |
|
#include <asm/cacheflush.h> |
|
#include <asm/cachectl.h> |
|
|
|
SYSCALL_DEFINE3(cacheflush, |
|
void __user *, addr, |
|
unsigned long, bytes, |
|
int, cache) |
|
{ |
|
switch (cache) { |
|
case ICACHE: |
|
case BCACHE: |
|
flush_icache_mm_range(current->mm, |
|
(unsigned long)addr, |
|
(unsigned long)addr + bytes); |
|
case DCACHE: |
|
dcache_wb_range((unsigned long)addr, |
|
(unsigned long)addr + bytes); |
|
break; |
|
default: |
|
return -EINVAL; |
|
} |
|
|
|
return 0; |
|
}
|
|
|