powerpc/memcpy: Add memcpy_mcsafe for pmem
authorBalbir Singh <bsingharora@gmail.com>
Tue, 20 Aug 2019 08:13:51 +0000 (13:43 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 21 Aug 2019 12:23:48 +0000 (22:23 +1000)
commit4d4a273854c9eac1a1b163830658dc825e183ad5
tree18b6a919f5cb50880c8b81d96bfd9f6fb881e59d
parent895e3dceeb97855dc9990136cbb80a842fe581aa
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
arch/powerpc/include/asm/string.h
arch/powerpc/lib/Makefile
arch/powerpc/lib/memcpy_mcsafe_64.S [new file with mode: 0644]