u-boot-brain/arch/x86/cpu
Bin Meng 4a5a7fcac2 x86: braswell: Fix unexpected crash during Linux kernel boot
It was observed that when booting Linux kernel on Intel Cherry Hill
board, unexpected crash happens quite randomly. Sometimes kernel
just oops, while sometimes kernel throws MCE errors and hangs:

  mce: [Hardware Error]: Machine check events logged
  mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank 4: c400000000010151
  mce: [Hardware Error]: TSC 0 ADDR 130f3f2c0
  mce: [Hardware Error]: PROCESSOR 0:406c3 TIME 1508160686 SOCKET 0 APIC 0 microcode 363

This looks like a hardware error per mcelog. After debugging, it
seems turning off turbo mode on the processor does not expose this
behavior, although U-Boot runs OK with turbo mode on. Suspect it is
related to an errata of Braswell processor.

To fix this, remove the Braswell cpu driver which does the turbo
mode configuration, and switch to use the generic cpu-x86 driver.
Also there is a configuration option in the FSP that turns on the
turbo mode and that has been turned off too.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-27 15:13:47 +08:00
..
baytrail x86: baytrail: fsp: Move Azalia update codes to board 2017-10-19 11:37:51 +08:00
braswell x86: braswell: Fix unexpected crash during Linux kernel boot 2017-10-27 15:13:47 +08:00
broadwell env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
coreboot env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
efi x86: kconfig: Select ARCH_MISC_INIT in the platform Kconfig 2017-08-01 20:17:02 +08:00
i386 x86: Force 32-bit jumps in interrupt handlers 2017-02-21 14:53:29 +08:00
intel_common dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
ivybridge x86: ivybridge: remove unused variables 2017-09-16 14:57:44 +08:00
qemu env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
quark env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
queensbay env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
tangier x86: tangier: Enable ACPI support for Intel Tangier 2017-10-07 15:07:59 +08:00
x86_64 board_f: x86: Use checkcpu() for CPU init 2017-04-05 13:55:09 -04:00
call32.S x86: Add a way to call 32-bit code from 64-bit mode 2015-08-05 08:44:07 -06:00
config.mk x86: Update compile/link flags to support 64-bit U-Boot 2017-02-07 13:14:54 +08:00
cpu_x86.c x86: Drop leading spaces in cpu_x86_get_desc() 2017-04-18 15:51:21 +08:00
cpu.c x86: acpi: Fix Windows S3 resume failure 2017-05-17 17:11:46 +08:00
ioapic.c x86: Add a function to set the IOAPIC ID 2016-03-17 10:27:27 +08:00
irq.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
lapic.c x86: Remove SMP limitation in lapic_setup() 2016-05-23 15:27:41 +08:00
Makefile x86: Add Intel Braswell SoC support 2017-09-16 14:57:44 +08:00
mp_init.c x86: Intel MID platforms has no microcode update 2017-02-21 15:10:56 +08:00
mtrr.c x86: Test mtrr support flag before accessing mtrr msr 2015-01-23 17:24:55 -07:00
pci.c x86: pci: Drop legacy PCI APIs 2016-02-05 12:47:23 +08:00
resetvec.S Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sipi_vector.S x86: Add comments to the SIPI vector 2016-03-17 10:27:23 +08:00
start16.S x86: fsp: Load GDT before calling FspInitEntry 2015-07-14 18:03:15 -06:00
start64.S x86: Add 64-bit start-up code 2017-02-06 11:38:46 +08:00
start.S x86: make LOAD_FROM_32_BIT visible for platforms 2017-02-07 13:36:50 +08:00
turbo.c x86: Convert CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED to Kconfig 2017-08-24 11:00:47 +08:00
u-boot-64.lds x86: Add a link script for 64-bit x86 2017-02-06 11:38:46 +08:00
u-boot-spl.lds x86: Add a link script for SPL 2017-02-06 11:38:46 +08:00
u-boot.lds x86: Use X86_16BIT_INIT instead of X86_RESET_VECTOR 2017-02-06 11:38:46 +08:00
wakeup.S x86: acpi: Add wake up assembly stub 2017-05-17 17:11:46 +08:00