According to objdump output of setup, function memset is not used in setup code. Currently, all usage of memset in setup come from macro definition of string.h.
Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> --- Compiled and booted under x86_64; compiled under i386. Questions: now there is 2 definition of memcpy, one lies in copy.S, another lies in string.h which is mapped to gcc builtin function. Do we still need 2 definition? Could we move the content of copy.S to boot/string.c? At first glance, the usage of string.{c.h} of setup is kind of confusing, they are also used in compressed/ and purgatory/ arch/x86/boot/copy.S | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/arch/x86/boot/copy.S b/arch/x86/boot/copy.S index 15d9f74b0008..5157d08b0ff2 100644 --- a/arch/x86/boot/copy.S +++ b/arch/x86/boot/copy.S @@ -33,21 +33,6 @@ GLOBAL(memcpy) retl ENDPROC(memcpy) -GLOBAL(memset) - pushw %di - movw %ax, %di - movzbl %dl, %eax - imull $0x01010101,%eax - pushw %cx - shrw $2, %cx - rep; stosl - popw %cx - andw $3, %cx - rep; stosb - popw %di - retl -ENDPROC(memset) - GLOBAL(copy_from_fs) pushw %ds pushw %fs -- 2.17.0