cpu/x86/16bit: rename _start -> _start16bit
In order to avoid collisions with other _start symbols while grepping and future ones be explicit about which _start this one is: the 16-bit one only used by the reset vector in the bootblock. Change-Id: I6d7580596c0e6602a87fb158633ce9d45910cec2 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13880 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
0fd068b3c3
commit
f8468d43e0
|
@ -29,10 +29,10 @@
|
|||
|
||||
#include <arch/rom_segs.h>
|
||||
.code16
|
||||
.globl _start
|
||||
.type _start, @function
|
||||
.globl _start16bit
|
||||
.type _start16bit, @function
|
||||
|
||||
_start:
|
||||
_start16bit:
|
||||
cli
|
||||
/* Save the BIST result */
|
||||
movl %eax, %ebp
|
||||
|
@ -80,12 +80,12 @@ _start:
|
|||
* The criteria for relocation have been relaxed to their
|
||||
* utmost, so that we can use the same code for both
|
||||
* our initial entry point and startup of the second cpu.
|
||||
* The code assumes when executing at _start that:
|
||||
* (((cs & 0xfff) == 0) and (ip == _start & 0xffff))
|
||||
* The code assumes when executing at _start16bit that:
|
||||
* (((cs & 0xfff) == 0) and (ip == _start16bit & 0xffff))
|
||||
* or
|
||||
* ((cs == anything) and (ip == 0)).
|
||||
*
|
||||
* The restrictions in reset16.inc mean that _start initially
|
||||
* The restrictions in reset16.inc mean that _start16bit initially
|
||||
* must be loaded at or above 0xffff0000 or below 0x100000.
|
||||
*
|
||||
* The linker scripts computes gdtptr16_offset by simply returning
|
||||
|
@ -136,6 +136,6 @@ nullidt:
|
|||
.long 0
|
||||
.word 0
|
||||
|
||||
.globl _estart
|
||||
_estart:
|
||||
.globl _estart16bit
|
||||
_estart16bit:
|
||||
.code32
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
.globl reset_vector
|
||||
reset_vector:
|
||||
.byte 0xe9
|
||||
.int _start - ( . + 2 )
|
||||
.int _start16bit - ( . + 2 )
|
||||
/* Note: The above jump is hand coded to work around bugs in binutils.
|
||||
* 5 byte are used for a 3 byte instruction. This works because x86
|
||||
* is little endian and allows us to use supported 32bit relocations
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
SECTIONS {
|
||||
/* Trigger an error if I have an unuseable start address */
|
||||
_bogus = ASSERT(_start >= 0xffff0000, "_start too low. Please report.");
|
||||
_bogus = ASSERT(_start16bit >= 0xffff0000, "_start16bit too low. Please report.");
|
||||
_ROMTOP = 0xfffffff0;
|
||||
. = _ROMTOP;
|
||||
.reset . : {
|
||||
|
|
Loading…
Reference in New Issue