u-boot/arch/x86
Bin Meng dd4611dea4 x86: Ensure no instruction sets of MMX/SSE are generated in 64-bit build
With the '-march=core2' fix, it seems that we have some luck that
the 64-bit U-Boot boots again. However if we examine the disassembly
codes there are still SSE instructions elsewhere which means passing
cpu type to GCC is not enough to prevent it from generating these
instructions. A simple test case is doing a 'bootefi selftest' from
the U-Boot shell and it leads to a reset too.

The 'bootefi selftest' reset is even seen with the image created by
the relative older GCC 5.4.0, the one shipped by Ubuntu 16.04.

The reset actually originates from undefined instruction exception
caused by these SSE instructions. To keep U-Boot as a bootloader as
simple as possible, we don't want to handle such advanced SIMD stuff.
To make sure no MMX/SSE instruction sets are generated, tell GCC not
to do this. Note AVX is out of the question as CORE2 is old enough
to support AVX yet.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-10-22 17:51:45 +08:00
..
cpu x86: Update mtrr functions to allow leaving cache alone 2018-10-09 04:40:27 -06:00
dts x86: dts: edison: configure I2C#6 pins 2018-09-17 17:35:52 +08:00
include/asm x86: Update mtrr functions to allow leaving cache alone 2018-10-09 04:40:27 -06:00
lib x86/bootm: fix error handling in boot_prep_linux(...) 2018-10-22 17:51:45 +08:00
config.mk x86: Ensure no instruction sets of MMX/SSE are generated in 64-bit build 2018-10-22 17:51:45 +08:00
Kconfig x86: efi: Refactor the directory of EFI app and payload support 2018-06-17 21:16:04 +08:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00