x86/boot: Simplify BSS zeroing

There is no need to load a non-flat %es to zero the BSS.  Use sym_esi()
instead, which is easier to follow, faster (avoids two segment loads) and
doesn't require use of the stack.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2020-01-08 18:48:00 +00:00
1 parent 30e6fb5b90
commit c6c63b6dbf
1 file changed
+2 -6
+2 -6
View File
@@ -617,16 +617,12 @@ trampoline_setup:
jnz 1f
/* Initialize BSS (no nasty surprises!). */
mov $sym_offs(__bss_start),%edi
mov $sym_offs(__bss_end),%ecx
push %fs
pop %es
lea sym_esi(__bss_start), %edi
lea sym_esi(__bss_end), %ecx
sub %edi,%ecx
xor %eax,%eax
shr $2,%ecx
rep stosl
push %ds
pop %es
1:
/* Interrogate CPU extended features via CPUID. */
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.