1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * User memory access support for Hexagon 4 * 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 6 */ 7 8 #ifndef _ASM_UACCESS_H 9 #define _ASM_UACCESS_H 10 /* 11 * User space memory access functions 12 */ 13 #include <asm/sections.h> 14 15 /* 16 * When a kernel-mode page fault is taken, the faulting instruction 17 * address is checked against a table of exception_table_entries. 18 * Each entry is a tuple of the address of an instruction that may 19 * be authorized to fault, and the address at which execution should 20 * be resumed instead of the faulting instruction, so as to effect 21 * a workaround. 22 */ 23 24 /* Assembly somewhat optimized copy routines */ 25 unsigned long raw_copy_from_user(void *to, const void __user *from, 26 unsigned long n); 27 unsigned long raw_copy_to_user(void __user *to, const void *from, 28 unsigned long n); 29 #define INLINE_COPY_FROM_USER 30 #define INLINE_COPY_TO_USER 31 32 __kernel_size_t __clear_user_hexagon(void __user *dest, unsigned long count); 33 #define __clear_user(a, s) __clear_user_hexagon((a), (s)) 34 35 #include <asm-generic/uaccess.h> 36 37 38 #endif 39