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>
|
#include <arch/rom_segs.h>
|
||||||
.code16
|
.code16
|
||||||
.globl _start
|
.globl _start16bit
|
||||||
.type _start, @function
|
.type _start16bit, @function
|
||||||
|
|
||||||
_start:
|
_start16bit:
|
||||||
cli
|
cli
|
||||||
/* Save the BIST result */
|
/* Save the BIST result */
|
||||||
movl %eax, %ebp
|
movl %eax, %ebp
|
||||||
|
@ -80,12 +80,12 @@ _start:
|
||||||
* The criteria for relocation have been relaxed to their
|
* The criteria for relocation have been relaxed to their
|
||||||
* utmost, so that we can use the same code for both
|
* utmost, so that we can use the same code for both
|
||||||
* our initial entry point and startup of the second cpu.
|
* our initial entry point and startup of the second cpu.
|
||||||
* The code assumes when executing at _start that:
|
* The code assumes when executing at _start16bit that:
|
||||||
* (((cs & 0xfff) == 0) and (ip == _start & 0xffff))
|
* (((cs & 0xfff) == 0) and (ip == _start16bit & 0xffff))
|
||||||
* or
|
* or
|
||||||
* ((cs == anything) and (ip == 0)).
|
* ((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.
|
* must be loaded at or above 0xffff0000 or below 0x100000.
|
||||||
*
|
*
|
||||||
* The linker scripts computes gdtptr16_offset by simply returning
|
* The linker scripts computes gdtptr16_offset by simply returning
|
||||||
|
@ -136,6 +136,6 @@ nullidt:
|
||||||
.long 0
|
.long 0
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
.globl _estart
|
.globl _estart16bit
|
||||||
_estart:
|
_estart16bit:
|
||||||
.code32
|
.code32
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
.globl reset_vector
|
.globl reset_vector
|
||||||
reset_vector:
|
reset_vector:
|
||||||
.byte 0xe9
|
.byte 0xe9
|
||||||
.int _start - ( . + 2 )
|
.int _start16bit - ( . + 2 )
|
||||||
/* Note: The above jump is hand coded to work around bugs in binutils.
|
/* 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
|
* 5 byte are used for a 3 byte instruction. This works because x86
|
||||||
* is little endian and allows us to use supported 32bit relocations
|
* is little endian and allows us to use supported 32bit relocations
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
/* Trigger an error if I have an unuseable start address */
|
/* 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 = 0xfffffff0;
|
||||||
. = _ROMTOP;
|
. = _ROMTOP;
|
||||||
.reset . : {
|
.reset . : {
|
||||||
|
|
Loading…
Reference in New Issue