Dear Maintainers,

  Could you help to give a hint?
  Thanks in advance.

-- 
Sincerely,
Cao jin

On 03/17/2018 06:01 PM, Cao jin wrote:
> Hi,
> 
>   I find two small questions which confuse me a little.
> 
> 1.
> # Check signature at end of setup
>        cmpl    $0x5a5aaa55, setup_sig
>        jne     setup_bad
> 
> setup_sig is defined in setup.ld, which points to the constant also
> defined in setup.ld, so I don't figure out in which case they don't
> equal and jump to setup_bad?
> 
> In my test, drop these 2 lines seems fine, system can boot without any
> obvious error.
> 
> 2.
> # Zero the bss
>       movw    $__bss_start, %di
>       movw    $_end+3, %cx
>       xorl    %eax, %eax
>       subw    %di, %cx
>       shrw    $2, %cx
>       rep; stosl
> 
> It is not a big deal, but I think replace "_end" with "__bss_end" make
> more sense, and "_end" is already aligned to word length. And, there is
> no other code use symbol "__bss_end". So I don't know is there any
> reason to use "_end" here?
> 
> In my test, replace the 2nd line with:
> 
>       movw    $_end, %cx
> 
> or:
> 
>       movw    $__bss_end+3, %cx
> 
> are both fine.
> 


Reply via email to