diff options
author | Shuai Xue <xueshuai@linux.alibaba.com> | 2022-08-19 18:52:09 +0800 |
---|---|---|
committer | Shuai Xue <xueshuai@linux.alibaba.com> | 2022-08-25 09:03:49 +0800 |
commit | b7b70cc62fb9737eff82fc191b6a0391b3f93b94 (patch) | |
tree | 494903e67c1308adcc8a9ff57be5f2b9480bcf4e | |
parent | cb5e1bc7b56a54682765f8a8fac0e69a77231ca2 (diff) | |
download | ras-tools-b7b70cc62fb9737eff82fc191b6a0391b3f93b94.tar.gz |
einj_mem_uc: implement memcpy in assembly on Arm64
There is only X86 assembly version of memcpy, add Arm64 version for
memcpy case.
Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
-rw-r--r-- | do_memcpy.S | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/do_memcpy.S b/do_memcpy.S index e3dcf70..059e597 100644 --- a/do_memcpy.S +++ b/do_memcpy.S @@ -11,8 +11,20 @@ do_memcpy: .size do_memcpy, .-do_memcpy #elif __aarch64__ +dst .req x0 +src .req x1 +count .req x2 +tmp .req w3 + + .globl do_memcpy do_memcpy: + cbz count, .Lexit + ldrb tmp, [src], #0x1 + strb tmp, [dst], #0x1 + sub count, count, #0x1 + b.ge do_memcpy +.Lexit: ret #endif |