summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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