diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2018-12-23 07:22:44 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-12-24 08:19:08 +0000 |
commit | 87efe24cce93bdd0076455263c1602e011892475 (patch) | |
tree | 19f0ec39166b76c14108731577edf96dfa2efcd6 | |
parent | 3534c1e42de7e534902c3c5bdce30eadb251d081 (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.S | 15 | ||||
-rw-r--r-- | src/soc/intel/quark/Kconfig | 1 | ||||
-rw-r--r-- | src/soc/intel/quark/bootblock/esram_init.S | 21 |
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 |