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:
Aaron Durbin 2016-03-02 14:47:37 -06:00
parent 0fd068b3c3
commit f8468d43e0
3 changed files with 10 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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 . : {