mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 06:50:08 +00:00
[PATCH] x86_64: Patch to make the head.S-must-be-first-in-vmlinux order explicit
This patch puts the code from head.S in a special .bootstrap.text section. I'm working on a patch to reorder the functions in the kernel (I'll post that later), but for x86-64 at least the kernel bootstrap requires that the head.S functions are on the very first page/pages of the kernel text. This is understandable since the bootstrap is complex enough already and not a problem at all, it just means they aren't allowed to be reordered. This patch puts these special functions into a separate section to document this, and to guarantee this in the light of possibly reordering the rest later. (So this patch doesn't fix a bug per se, but makes things more robust by making the order of these functions explicit) Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
5f44a66980
commit
eaeae0cc98
@ -26,6 +26,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
.section .bootstrap.text
|
||||||
.code32
|
.code32
|
||||||
.globl startup_32
|
.globl startup_32
|
||||||
/* %bx: 1 if coming from smp trampoline on secondary cpu */
|
/* %bx: 1 if coming from smp trampoline on secondary cpu */
|
||||||
|
@ -20,6 +20,7 @@ SECTIONS
|
|||||||
phys_startup_64 = startup_64 - LOAD_OFFSET;
|
phys_startup_64 = startup_64 - LOAD_OFFSET;
|
||||||
_text = .; /* Text and read-only data */
|
_text = .; /* Text and read-only data */
|
||||||
.text : AT(ADDR(.text) - LOAD_OFFSET) {
|
.text : AT(ADDR(.text) - LOAD_OFFSET) {
|
||||||
|
*(.bootstrap.text)
|
||||||
*(.text)
|
*(.text)
|
||||||
SCHED_TEXT
|
SCHED_TEXT
|
||||||
LOCK_TEXT
|
LOCK_TEXT
|
||||||
|
Loading…
Reference in New Issue
Block a user