summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2018-12-23 07:22:44 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-12-24 08:19:08 +0000
commit87efe24cce93bdd0076455263c1602e011892475 (patch)
tree19f0ec39166b76c14108731577edf96dfa2efcd6
parent3534c1e42de7e534902c3c5bdce30eadb251d081 (diff)
soc/intel/quark: Drop BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP
This was empty stub call doing nothing, to avoid targeting non-existing MMX registers. Change-Id: I78b83e6724159ea1eb0f8a0cf9d5b7ddfc9877b7 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/30390 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
-rw-r--r--src/arch/x86/bootblock_crt0.S15
-rw-r--r--src/soc/intel/quark/Kconfig1
-rw-r--r--src/soc/intel/quark/bootblock/esram_init.S21
3 files changed, 6 insertions, 31 deletions
diff --git a/src/arch/x86/bootblock_crt0.S b/src/arch/x86/bootblock_crt0.S
index 1b160f483b..4eb36b2ce1 100644
--- a/src/arch/x86/bootblock_crt0.S
+++ b/src/arch/x86/bootblock_crt0.S
@@ -44,23 +44,14 @@ debug_spinloop:
bootblock_protected_mode_entry:
+#if !IS_ENABLED(CONFIG_USE_MARCH_586)
+ /* MMX registers required here */
+
/* BIST result in eax */
movl %eax, %ebx
/* Get an early timestamp */
rdtsc
-
-#if IS_ENABLED(CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP)
- lea 1f, %ebp
-
- /* eax: Low 32-bits of timestamp
- * ebx: BIST result
- * ebp: return address
- * edx: High 32-bits of timestamp
- */
- jmp bootblock_save_bist_and_timestamp
-1:
-#else
movd %ebx, %mm0
movd %eax, %mm1
movd %edx, %mm2
diff --git a/src/soc/intel/quark/Kconfig b/src/soc/intel/quark/Kconfig
index adf545d411..beed8cd6d3 100644
--- a/src/soc/intel/quark/Kconfig
+++ b/src/soc/intel/quark/Kconfig
@@ -26,7 +26,6 @@ config CPU_SPECIFIC_OPTIONS
select ARCH_RAMSTAGE_X86_32
select ARCH_ROMSTAGE_X86_32
select ARCH_VERSTAGE_X86_32
- select BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP
select C_ENVIRONMENT_BOOTBLOCK
select HAVE_MONOTONIC_TIMER
select NO_MMCONF_SUPPORT
diff --git a/src/soc/intel/quark/bootblock/esram_init.S b/src/soc/intel/quark/bootblock/esram_init.S
index f173f5c10b..67d223817d 100644
--- a/src/soc/intel/quark/bootblock/esram_init.S
+++ b/src/soc/intel/quark/bootblock/esram_init.S
@@ -99,28 +99,13 @@
.equ CFGNONSTICKY_W1_OFFSET, (0x52)
.equ FORCE_WARM_RESET, (0x00000001)
- .global bootblock_save_bist_and_timestamp
-
-bootblock_save_bist_and_timestamp:
-
- /* eax: Low 32-bits of timestamp
- * ebx: BIST result
- * ebp: return address
- * edx: High 32-bits of timestamp
- */
-
- /* No values to save since Quark does not generate a BIST value
- * and the timestamp is not saved since future expansion in
- * bootblock_crt0.S could use ebp and edi. This code prevents
- * the use of the MMx registers by the default implementation.
- */
- jmp *%ebp
-
.global bootblock_pre_c_entry
bootblock_pre_c_entry:
- /* Get the timestamp since value from bootblock_crt0.S was discarded */
+ /* Get the timestamp since code in bootblock_crt0.S requires
+ * MMX register support.
+ */
rdtsc
movl %eax, %ebp
movl %edx, %edi