Re: [Q] x86 - boot/header.S

Cyrill Gorcunov
2008-02-23T09:08:35Z

[Yinghai Lu - Sat, Feb 23, 2008 at 12:44:49AM -0800]
| On Sat, Feb 23, 2008 at 12:20 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
| > Hi Peter, Sam,
| >
| > could you take a look on x86/boot/header.S:280 please?
| >
| > # Zero the bss
| > movw $__bss_start, %di
| > movw $_end+3, %cx
| > xorl %eax, %eax
| > subw %di, %cx
| > shrw $2, %cx
| > rep; stosl
| >
| > I wonder why is $_end there instead of $__bss_stop?
| > Well, accroding to vmlinux_32.lsd both _end and __bss_stop
| > are the same BUT __bss_stop is more convenient methink.
| > Would it be usefull to change?
|
| we should have head32.c like head64.c
| and x86_32_start_kernel.
|
| Eric's patch long time ago...
|
| YH
|

Hi Yinghai,

thanks for reply BUT that is not the point (or maybe I miss something).

Look, we only have head64.c - there is no head32.c at all. Both
vmlinux_32/64.lds defines _end exactly the same as __bss_stop. So in
code which DO fillup bss section with zeros the prefered name is
__bss_stop. The only thing I'm trying to say that it would be clean
naming scheme and I think it would help for further review - instead
of searching all over x86 files to find _end definition __bss_stop
tell us WHAT we are zeroing from the code.

- Cyrill -