|
@@ -8,6 +8,8 @@
|
|
|
*
|
|
|
* ----------------------------------------------------------------------- */
|
|
|
|
|
|
+#include <linux/linkage.h>
|
|
|
+
|
|
|
/*
|
|
|
* Memory copy routines
|
|
|
*/
|
|
@@ -15,9 +17,7 @@
|
|
|
.code16gcc
|
|
|
.text
|
|
|
|
|
|
- .globl memcpy
|
|
|
- .type memcpy, @function
|
|
|
-memcpy:
|
|
|
+GLOBAL(memcpy)
|
|
|
pushw %si
|
|
|
pushw %di
|
|
|
movw %ax, %di
|
|
@@ -31,11 +31,9 @@ memcpy:
|
|
|
popw %di
|
|
|
popw %si
|
|
|
ret
|
|
|
- .size memcpy, .-memcpy
|
|
|
+ENDPROC(memcpy)
|
|
|
|
|
|
- .globl memset
|
|
|
- .type memset, @function
|
|
|
-memset:
|
|
|
+GLOBAL(memset)
|
|
|
pushw %di
|
|
|
movw %ax, %di
|
|
|
movzbl %dl, %eax
|
|
@@ -48,52 +46,42 @@ memset:
|
|
|
rep; stosb
|
|
|
popw %di
|
|
|
ret
|
|
|
- .size memset, .-memset
|
|
|
+ENDPROC(memset)
|
|
|
|
|
|
- .globl copy_from_fs
|
|
|
- .type copy_from_fs, @function
|
|
|
-copy_from_fs:
|
|
|
+GLOBAL(copy_from_fs)
|
|
|
pushw %ds
|
|
|
pushw %fs
|
|
|
popw %ds
|
|
|
call memcpy
|
|
|
popw %ds
|
|
|
ret
|
|
|
- .size copy_from_fs, .-copy_from_fs
|
|
|
+ENDPROC(copy_from_fs)
|
|
|
|
|
|
- .globl copy_to_fs
|
|
|
- .type copy_to_fs, @function
|
|
|
-copy_to_fs:
|
|
|
+GLOBAL(copy_to_fs)
|
|
|
pushw %es
|
|
|
pushw %fs
|
|
|
popw %es
|
|
|
call memcpy
|
|
|
popw %es
|
|
|
ret
|
|
|
- .size copy_to_fs, .-copy_to_fs
|
|
|
+ENDPROC(copy_to_fs)
|
|
|
|
|
|
#if 0 /* Not currently used, but can be enabled as needed */
|
|
|
-
|
|
|
- .globl copy_from_gs
|
|
|
- .type copy_from_gs, @function
|
|
|
-copy_from_gs:
|
|
|
+GLOBAL(copy_from_gs)
|
|
|
pushw %ds
|
|
|
pushw %gs
|
|
|
popw %ds
|
|
|
call memcpy
|
|
|
popw %ds
|
|
|
ret
|
|
|
- .size copy_from_gs, .-copy_from_gs
|
|
|
- .globl copy_to_gs
|
|
|
+ENDPROC(copy_from_gs)
|
|
|
|
|
|
- .type copy_to_gs, @function
|
|
|
-copy_to_gs:
|
|
|
+GLOBAL(copy_to_gs)
|
|
|
pushw %es
|
|
|
pushw %gs
|
|
|
popw %es
|
|
|
call memcpy
|
|
|
popw %es
|
|
|
ret
|
|
|
- .size copy_to_gs, .-copy_to_gs
|
|
|
-
|
|
|
+ENDPROC(copy_to_gs)
|
|
|
#endif
|