powerpc/memcpy: Add memcpy_mcsafe for pmem
The pmem infrastructure uses memcpy_mcsafe in the pmem layer so as to convert machine check exceptions into a return value on failure in case a machine check exception is encountered during the memcpy. The return value is the number of bytes remaining to be copied. This patch largely borrows from the copyuser_power7 logic and does not add the VMX optimizations, largely to keep the patch simple. If needed those optimizations can be folded in. Signed-off-by: Balbir Singh <bsingharora@gmail.com> [arbab@linux.ibm.com: Added symbol export] Co-developed-by: Santosh Sivaraj <santosh@fossix.org> Signed-off-by: Santosh Sivaraj <santosh@fossix.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190820081352.8641-7-santosh@fossix.org
This commit is contained in:

committed by
Michael Ellerman

parent
895e3dceeb
commit
4d4a273854
@@ -53,7 +53,9 @@ void *__memmove(void *to, const void *from, __kernel_size_t n);
|
||||
#ifndef CONFIG_KASAN
|
||||
#define __HAVE_ARCH_MEMSET32
|
||||
#define __HAVE_ARCH_MEMSET64
|
||||
#define __HAVE_ARCH_MEMCPY_MCSAFE
|
||||
|
||||
extern int memcpy_mcsafe(void *dst, const void *src, __kernel_size_t sz);
|
||||
extern void *__memset16(uint16_t *, uint16_t v, __kernel_size_t);
|
||||
extern void *__memset32(uint32_t *, uint32_t v, __kernel_size_t);
|
||||
extern void *__memset64(uint64_t *, uint64_t v, __kernel_size_t);
|
||||
|
Reference in New Issue
Block a user