[U-Boot] [PATCH 02/12] x86: Ensure no instruction sets of MMX/SSE are generated in 64-bit build

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Oct 13 15:49:35 UTC 2018


On 10/13/2018 05:06 PM, Bin Meng wrote:
> 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 at gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>


More information about the U-Boot mailing list