/
usr
/
src
/
linux-headers-5.15.0-190
/
arch
/
csky
/
include
/
asm
/
/usr/src/linux-headers-5.15.0-190/arch/csky/include/asm
mkdir
upload
Name
Size
Mode
Actions
vdso/
-
0755
rm
addrspace.h
231
0644
edit
dl
rm
asid.h
2440
0644
edit
dl
rm
barrier.h
2533
0644
edit
dl
rm
bitops.h
1363
0644
edit
dl
rm
bug.h
565
0644
edit
dl
rm
cache.h
861
0644
edit
dl
rm
cacheflush.h
193
0644
edit
dl
rm
checksum.h
944
0644
edit
dl
rm
clocksource.h
159
0644
edit
dl
rm
cmpxchg.h
1824
0644
edit
dl
rm
elf.h
2723
0644
edit
dl
rm
fixmap.h
747
0644
edit
dl
rm
ftrace.h
558
0644
edit
dl
rm
futex.h
2605
0644
edit
dl
rm
highmem.h
1114
0644
edit
dl
rm
io.h
1384
0644
edit
dl
rm
irqflags.h
1132
0644
edit
dl
rm
irq_work.h
208
0644
edit
dl
rm
Kbuild
199
0644
edit
dl
rm
kprobes.h
1158
0644
edit
dl
rm
memory.h
657
0644
edit
dl
rm
mmu.h
216
0644
edit
dl
rm
mmu_context.h
959
0644
edit
dl
rm
page.h
2757
0644
edit
dl
rm
pci.h
680
0644
edit
dl
rm
perf_event.h
359
0644
edit
dl
rm
pgalloc.h
1657
0644
edit
dl
rm
pgtable.h
6985
0644
edit
dl
rm
probes.h
554
0644
edit
dl
rm
processor.h
2525
0644
edit
dl
rm
ptrace.h
2476
0644
edit
dl
rm
reg_ops.h
382
0644
edit
dl
rm
seccomp.h
283
0644
edit
dl
rm
segment.h
187
0644
edit
dl
rm
shmparam.h
197
0644
edit
dl
rm
smp.h
626
0644
edit
dl
rm
spinlock.h
1892
0644
edit
dl
rm
spinlock_types.h
504
0644
edit
dl
rm
stackprotector.h
705
0644
edit
dl
rm
string.h
233
0644
edit
dl
rm
switch_to.h
923
0644
edit
dl
rm
syscall.h
1563
0644
edit
dl
rm
syscalls.h
351
0644
edit
dl
rm
tcm.h
665
0644
edit
dl
rm
thread_info.h
2866
0644
edit
dl
rm
tlb.h
508
0644
edit
dl
rm
tlbflush.h
824
0644
edit
dl
rm
traps.h
796
0644
edit
dl
rm
uaccess.h
5271
0644
edit
dl
rm
unistd.h
106
0644
edit
dl
rm
uprobes.h
669
0644
edit
dl
rm
vdso.h
784
0644
edit
dl
rm
vmalloc.h
90
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/arch/csky/include/asm/uaccess.h
(5271B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_CSKY_UACCESS_H #define __ASM_CSKY_UACCESS_H #define user_addr_max() (current_thread_info()->addr_limit.seg) static inline int __access_ok(unsigned long addr, unsigned long size) { unsigned long limit = user_addr_max(); return (size <= limit) && (addr <= (limit - size)); } #define __access_ok __access_ok /* * __put_user_fn */ extern int __put_user_bad(void); #define __put_user_asm_b(x, ptr, err) \ do { \ int errcode; \ __asm__ __volatile__( \ "1: stb %1, (%2,0) \n" \ " br 3f \n" \ "2: mov %0, %3 \n" \ " br 3f \n" \ ".section __ex_table, \"a\" \n" \ ".align 2 \n" \ ".long 1b,2b \n" \ ".previous \n" \ "3: \n" \ : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \ : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \ : "memory"); \ } while (0) #define __put_user_asm_h(x, ptr, err) \ do { \ int errcode; \ __asm__ __volatile__( \ "1: sth %1, (%2,0) \n" \ " br 3f \n" \ "2: mov %0, %3 \n" \ " br 3f \n" \ ".section __ex_table, \"a\" \n" \ ".align 2 \n" \ ".long 1b,2b \n" \ ".previous \n" \ "3: \n" \ : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \ : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \ : "memory"); \ } while (0) #define __put_user_asm_w(x, ptr, err) \ do { \ int errcode; \ __asm__ __volatile__( \ "1: stw %1, (%2,0) \n" \ " br 3f \n" \ "2: mov %0, %3 \n" \ " br 3f \n" \ ".section __ex_table,\"a\" \n" \ ".align 2 \n" \ ".long 1b, 2b \n" \ ".previous \n" \ "3: \n" \ : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \ : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \ : "memory"); \ } while (0) #define __put_user_asm_64(x, ptr, err) \ do { \ int tmp; \ int errcode; \ \ __asm__ __volatile__( \ " ldw %3, (%1, 0) \n" \ "1: stw %3, (%2, 0) \n" \ " ldw %3, (%1, 4) \n" \ "2: stw %3, (%2, 4) \n" \ " br 4f \n" \ "3: mov %0, %4 \n" \ " br 4f \n" \ ".section __ex_table, \"a\" \n" \ ".align 2 \n" \ ".long 1b, 3b \n" \ ".long 2b, 3b \n" \ ".previous \n" \ "4: \n" \ : "=r"(err), "=r"(x), "=r"(ptr), \ "=r"(tmp), "=r"(errcode) \ : "0"(err), "1"(x), "2"(ptr), "3"(0), \ "4"(-EFAULT) \ : "memory"); \ } while (0) static inline int __put_user_fn(size_t size, void __user *ptr, void *x) { int retval = 0; u32 tmp; switch (size) { case 1: tmp = *(u8 *)x; __put_user_asm_b(tmp, ptr, retval); break; case 2: tmp = *(u16 *)x; __put_user_asm_h(tmp, ptr, retval); break; case 4: tmp = *(u32 *)x; __put_user_asm_w(tmp, ptr, retval); break; case 8: __put_user_asm_64(x, (u64 *)ptr, retval); break; } return retval; } #define __put_user_fn __put_user_fn /* * __get_user_fn */ extern int __get_user_bad(void); #define __get_user_asm_common(x, ptr, ins, err) \ do { \ int errcode; \ __asm__ __volatile__( \ "1: " ins " %1, (%4, 0) \n" \ " br 3f \n" \ "2: mov %0, %2 \n" \ " movi %1, 0 \n" \ " br 3f \n" \ ".section __ex_table,\"a\" \n" \ ".align 2 \n" \ ".long 1b, 2b \n" \ ".previous \n" \ "3: \n" \ : "=r"(err), "=r"(x), "=r"(errcode) \ : "0"(0), "r"(ptr), "2"(-EFAULT) \ : "memory"); \ } while (0) #define __get_user_asm_64(x, ptr, err) \ do { \ int tmp; \ int errcode; \ \ __asm__ __volatile__( \ "1: ldw %3, (%2, 0) \n" \ " stw %3, (%1, 0) \n" \ "2: ldw %3, (%2, 4) \n" \ " stw %3, (%1, 4) \n" \ " br 4f \n" \ "3: mov %0, %4 \n" \ " br 4f \n" \ ".section __ex_table, \"a\" \n" \ ".align 2 \n" \ ".long 1b, 3b \n" \ ".long 2b, 3b \n" \ ".previous \n" \ "4: \n" \ : "=r"(err), "=r"(x), "=r"(ptr), \ "=r"(tmp), "=r"(errcode) \ : "0"(err), "1"(x), "2"(ptr), "3"(0), \ "4"(-EFAULT) \ : "memory"); \ } while (0) static inline int __get_user_fn(size_t size, const void __user *ptr, void *x) { int retval; u32 tmp; switch (size) { case 1: __get_user_asm_common(tmp, ptr, "ldb", retval); *(u8 *)x = (u8)tmp; break; case 2: __get_user_asm_common(tmp, ptr, "ldh", retval); *(u16 *)x = (u16)tmp; break; case 4: __get_user_asm_common(tmp, ptr, "ldw", retval); *(u32 *)x = (u32)tmp; break; case 8: __get_user_asm_64(x, ptr, retval); break; } return retval; } #define __get_user_fn __get_user_fn unsigned long raw_copy_from_user(void *to, const void *from, unsigned long n); unsigned long raw_copy_to_user(void *to, const void *from, unsigned long n); unsigned long __clear_user(void __user *to, unsigned long n); #define __clear_user __clear_user #include <asm/segment.h> #include <asm-generic/uaccess.h> #endif /* __ASM_CSKY_UACCESS_H */
Save
cmd:
run