Unverified Commit 11129e8e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Palmer Dabbelt
Browse files

riscv: use memcpy based uaccess for nommu again



This reverts commit adccfb1a.

Now that the generic uaccess by mempcy code handles unaligned addresses
the generic code can be used for all RISC-V CPUs.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
parent 3c57fa13
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ config RISCV
	select SYSCTL_EXCEPTION_TRACE
	select THREAD_INFO_IN_TASK
	select SET_FS
	select UACCESS_MEMCPY if !MMU

config ARCH_MMAP_RND_BITS_MIN
	default 18 if 64BIT
+18 −18
Original line number Diff line number Diff line
@@ -13,24 +13,6 @@
/*
 * User space memory access functions
 */

extern unsigned long __must_check __asm_copy_to_user(void __user *to,
	const void *from, unsigned long n);
extern unsigned long __must_check __asm_copy_from_user(void *to,
	const void __user *from, unsigned long n);

static inline unsigned long
raw_copy_from_user(void *to, const void __user *from, unsigned long n)
{
	return __asm_copy_from_user(to, from, n);
}

static inline unsigned long
raw_copy_to_user(void __user *to, const void *from, unsigned long n)
{
	return __asm_copy_to_user(to, from, n);
}

#ifdef CONFIG_MMU
#include <linux/errno.h>
#include <linux/compiler.h>
@@ -385,6 +367,24 @@ do { \
		-EFAULT;					\
})


unsigned long __must_check __asm_copy_to_user(void __user *to,
	const void *from, unsigned long n);
unsigned long __must_check __asm_copy_from_user(void *to,
	const void __user *from, unsigned long n);

static inline unsigned long
raw_copy_from_user(void *to, const void __user *from, unsigned long n)
{
	return __asm_copy_from_user(to, from, n);
}

static inline unsigned long
raw_copy_to_user(void __user *to, const void *from, unsigned long n)
{
	return __asm_copy_to_user(to, from, n);
}

extern long strncpy_from_user(char *dest, const char __user *src, long count);

extern long __must_check strlen_user(const char __user *str);
+1 −1
Original line number Diff line number Diff line
@@ -2,5 +2,5 @@
lib-y			+= delay.o
lib-y			+= memcpy.o
lib-y			+= memset.o
lib-y			+= uaccess.o
lib-$(CONFIG_MMU)	+= uaccess.o
lib-$(CONFIG_64BIT)	+= tishift.o