[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] x86: move mem{cpy,set}.S to arch-specific library



commit 54ad9eb26a7e98d8ac80e8bbdea1c793934ee1ff
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Dec 17 09:03:29 2025 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Dec 17 09:03:29 2025 +0100

    x86: move mem{cpy,set}.S to arch-specific library
    
    If not these, what else are library functions.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/Makefile     |  2 --
 xen/arch/x86/lib/Makefile |  2 ++
 xen/arch/x86/lib/memcpy.S | 20 ++++++++++++++++++++
 xen/arch/x86/lib/memset.S | 30 ++++++++++++++++++++++++++++++
 xen/arch/x86/memcpy.S     | 20 --------------------
 xen/arch/x86/memset.S     | 30 ------------------------------
 6 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index dfb258d7ac..43117c88e5 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -48,8 +48,6 @@ obj-$(CONFIG_RETURN_THUNK) += indirect-thunk.o
 obj-$(CONFIG_PV) += ioport_emulate.o
 obj-y += irq.o
 obj-$(CONFIG_KEXEC) += machine_kexec.o
-obj-y += memcpy.o
-obj-y += memset.o
 obj-y += mm.o x86_64/mm.o
 obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += mpparse.o
diff --git a/xen/arch/x86/lib/Makefile b/xen/arch/x86/lib/Makefile
index 8fe2dfd885..a5169f5e19 100644
--- a/xen/arch/x86/lib/Makefile
+++ b/xen/arch/x86/lib/Makefile
@@ -1,3 +1,5 @@
 lib-y += copy-guest.o
 lib-y += copy-unsafe.o
 lib-y += generic-hweightl.o
+lib-y += memcpy.o
+lib-y += memset.o
diff --git a/xen/arch/x86/lib/memcpy.S b/xen/arch/x86/lib/memcpy.S
new file mode 100644
index 0000000000..aaee012126
--- /dev/null
+++ b/xen/arch/x86/lib/memcpy.S
@@ -0,0 +1,20 @@
+#include <asm/asm_defns.h>
+
+FUNC(memcpy)
+        mov     %rdx, %rcx
+        mov     %rdi, %rax
+        /*
+         * We need to be careful here: memcpy() is involved in alternatives
+         * patching, so the code doing the actual copying (i.e. past setting
+         * up registers) may not be subject to patching (unless further
+         * precautions were taken).
+         */
+        ALTERNATIVE "and $7, %edx; shr $3, %rcx", \
+                    STR(rep movsb; RET), X86_FEATURE_ERMS
+        rep movsq
+        or      %edx, %ecx
+        jz      1f
+        rep movsb
+1:
+        RET
+END(memcpy)
diff --git a/xen/arch/x86/lib/memset.S b/xen/arch/x86/lib/memset.S
new file mode 100644
index 0000000000..81ec6f6ba2
--- /dev/null
+++ b/xen/arch/x86/lib/memset.S
@@ -0,0 +1,30 @@
+#include <asm/asm_defns.h>
+
+.macro memset
+        and     $7, %edx
+        shr     $3, %rcx
+        movzbl  %sil, %esi
+        mov     $0x0101010101010101, %rax
+        imul    %rsi, %rax
+        mov     %rdi, %r8
+        rep stosq
+        or      %edx, %ecx
+        jz      0f
+        rep stosb
+0:
+        mov     %r8, %rax
+        RET
+.endm
+
+.macro memset_erms
+        mov     %esi, %eax
+        mov     %rdi, %r8
+        rep stosb
+        mov     %r8, %rax
+        RET
+.endm
+
+FUNC(memset)
+        mov     %rdx, %rcx
+        ALTERNATIVE memset, memset_erms, X86_FEATURE_ERMS
+END(memset)
diff --git a/xen/arch/x86/memcpy.S b/xen/arch/x86/memcpy.S
deleted file mode 100644
index aaee012126..0000000000
--- a/xen/arch/x86/memcpy.S
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <asm/asm_defns.h>
-
-FUNC(memcpy)
-        mov     %rdx, %rcx
-        mov     %rdi, %rax
-        /*
-         * We need to be careful here: memcpy() is involved in alternatives
-         * patching, so the code doing the actual copying (i.e. past setting
-         * up registers) may not be subject to patching (unless further
-         * precautions were taken).
-         */
-        ALTERNATIVE "and $7, %edx; shr $3, %rcx", \
-                    STR(rep movsb; RET), X86_FEATURE_ERMS
-        rep movsq
-        or      %edx, %ecx
-        jz      1f
-        rep movsb
-1:
-        RET
-END(memcpy)
diff --git a/xen/arch/x86/memset.S b/xen/arch/x86/memset.S
deleted file mode 100644
index 81ec6f6ba2..0000000000
--- a/xen/arch/x86/memset.S
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <asm/asm_defns.h>
-
-.macro memset
-        and     $7, %edx
-        shr     $3, %rcx
-        movzbl  %sil, %esi
-        mov     $0x0101010101010101, %rax
-        imul    %rsi, %rax
-        mov     %rdi, %r8
-        rep stosq
-        or      %edx, %ecx
-        jz      0f
-        rep stosb
-0:
-        mov     %r8, %rax
-        RET
-.endm
-
-.macro memset_erms
-        mov     %esi, %eax
-        mov     %rdi, %r8
-        rep stosb
-        mov     %r8, %rax
-        RET
-.endm
-
-FUNC(memset)
-        mov     %rdx, %rcx
-        ALTERNATIVE memset, memset_erms, X86_FEATURE_ERMS
-END(memset)
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.