aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86/32bit
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-03-02 15:26:10 -0600
committerAaron Durbin <adurbin@chromium.org>2016-03-04 04:49:46 +0100
commit8198c678f7a7b1e3fbb44190903768397951e1f9 (patch)
tree02d7d5ba952fb78c3b91abc9b90c8c98c3296830 /src/cpu/x86/32bit
parent4330a9c8e52a00bf7b0b9ddd57717b7a39123ecf (diff)
arch/x86: always use _start as entry symbol for all stages
Instead of keeping track of all the combinations of entry points depending on the stage and other options just use _start. That way, there's no need to update the arch/header.ld for complicated cases as _start is always the entry point for a stage. Change-Id: I7795a5ee1caba92ab533bdb8c3ad80294901a48b Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13882 Tested-by: build bot (Jenkins) Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
Diffstat (limited to 'src/cpu/x86/32bit')
-rw-r--r--src/cpu/x86/32bit/entry32.inc12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/cpu/x86/32bit/entry32.inc b/src/cpu/x86/32bit/entry32.inc
index 9ef3bc1c6e..8c3900879a 100644
--- a/src/cpu/x86/32bit/entry32.inc
+++ b/src/cpu/x86/32bit/entry32.inc
@@ -2,6 +2,7 @@
#include <arch/rom_segs.h>
#include <cpu/x86/post_code.h>
+#include <rules.h>
.code32
@@ -44,10 +45,17 @@ gdt_end:
*
* NOTE aligned to 4 so that we are sure that the prefetch
* cache will be reloaded.
+ *
+ * In the bootblock there is already a ljmp to __protected_start and
+ * the reset vector jumps to symbol _start16bit in entry16.inc from
+ * the reset vectors's symbol which is _start. Therefore, don't
+ * expose the _start symbol for bootblock.
*/
.align 4
-.globl protected_start
-protected_start:
+#if !ENV_BOOTBLOCK
+.globl _start
+_start:
+#endif
lgdt %cs:gdtptr
ljmp $ROM_CODE_SEG, $__protected_start