[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac02a918-0c7a-2376-569d-c53a87bc1a42@cn.fujitsu.com>
Date: Sat, 17 Mar 2018 18:01:27 +0800
From: Cao jin <caoj.fnst@...fujitsu.com>
To: <x86@...nel.org>, <linux-kernel@...r.kernel.org>
CC: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>
Subject: questions about header.S
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.
--
Sincerely,
Cao jin
Powered by blists - more mailing lists