Messages in this thread | | | Date | Sun, 06 Jan 2019 23:59:10 -0800 | Subject | Re: [PATCH] x86/boot: drop memset from copy.S | From | hpa@zytor ... |
| |
On January 6, 2019 11:40:56 PM PST, Cao jin <caoj.fnst@cn.fujitsu.com> wrote: >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.fnst@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
This is dependent on both gcc version and flags. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
| |