summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorMarshall Dawson <marshalldawson3rd@gmail.com>2019-11-01 17:30:05 -0600
committerPatrick Georgi <pgeorgi@google.com>2019-12-06 15:16:47 +0000
commit67910db907fb3d5feacdbfaa40952a88f673795a (patch)
treeb174ff649ea7c5d301191dd66d3789a9a055cfbf /src/cpu
parent4ba70a75758711b1665545f754cbe11235df5097 (diff)
arch|cpu/x86: Add Kconfig option for x86 reset vector
Prepare for an implementation supporting the reset vector in RAM and not the traditional 0xfffffff0. Add a Kconfig symbol that can be used in place of hardcoded values. Change-Id: I6a814f7179ee4251aeeccb2555221616e944e03d Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37485 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/intel/fit/fit.ld2
-rw-r--r--src/cpu/x86/16bit/reset16.ld12
2 files changed, 6 insertions, 8 deletions
diff --git a/src/cpu/intel/fit/fit.ld b/src/cpu/intel/fit/fit.ld
index 6e30ea168a..2e65186e40 100644
--- a/src/cpu/intel/fit/fit.ld
+++ b/src/cpu/intel/fit/fit.ld
@@ -12,7 +12,7 @@
*/
SECTIONS {
- . = 0xffffffc0;
+ . = CONFIG_X86_RESET_VECTOR - 0x30; /* 0xffffffc0 */
.fit_pointer (.): {
KEEP(*(.fit_pointer))
}
diff --git a/src/cpu/x86/16bit/reset16.ld b/src/cpu/x86/16bit/reset16.ld
index c57cc96cdd..ec01810e73 100644
--- a/src/cpu/x86/16bit/reset16.ld
+++ b/src/cpu/x86/16bit/reset16.ld
@@ -11,16 +11,14 @@
* GNU General Public License for more details.
*/
-/*
- * _ROMTOP : The top of the ROM used where we
- * need to put the reset vector.
- */
+/* _RESET_VECTOR: typically the top of the ROM */
SECTIONS {
/* Trigger an error if I have an unuseable start address */
- _bogus = ASSERT(_start16bit >= 0xffff0000, "_start16bit too low. Please report.");
- _ROMTOP = 0xfffffff0;
- . = _ROMTOP;
+ _TOO_LOW = CONFIG_X86_RESET_VECTOR - 0xfff0;
+ _bogus = ASSERT(_start16bit >= _TOO_LOW, "_start16bit too low. Please report.");
+
+ . = CONFIG_X86_RESET_VECTOR;
.reset . : {
*(.reset);
. = 15;