[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b47b8ad8-4015-9437-d6b6-6e2d17ea117b@cn.fujitsu.com>
Date: Wed, 21 Mar 2018 17:23:28 +0800
From: Cao jin <caoj.fnst@...fujitsu.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>
CC: <x86@...nel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: questions about header.S
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.
>
Powered by blists - more mailing lists