diff --git a/sys/boot/pc98/btx/lib/btxcsu.s b/sys/boot/pc98/btx/lib/btxcsu.s index f08ae754f826..6a006596295f 100644 --- a/sys/boot/pc98/btx/lib/btxcsu.s +++ b/sys/boot/pc98/btx/lib/btxcsu.s @@ -30,7 +30,15 @@ # # Client entry point. # -_start: movl %eax,__base # Set base address +_start: cld + pushl %eax + movl $_edata,%edi + movl $_end,%ecx + subl %edi, %ecx + xorb %al, %al + rep + stosb + popl __base movl %esp,%eax # Set addl $ARGADJ,%eax # argument movl %eax,__args # pointer