From 2bd0431bafc981ea6237b3abdd18ea22fb825f5f Mon Sep 17 00:00:00 2001 From: Vincent Fazio Date: Tue, 1 Aug 2023 12:10:12 -0500 Subject: [PATCH] arch/Config.in.x86: consolidate Geode CPU targets Since its introduction in 7d8a59b40, the BR2_x86_geode CPU target has pointed to GCC -march=geode which targets AMD Geode processors [0]. This arch tuning enables MMX and 3DNow! extensions in GCC but these are not currently reflected in the selected flags by BR2_x86_geode. This is likely due to the confusing naming and history of "Geode". The AMD Geode can trace its origins back to the Cyrix MediaGXm [1] and then to the NSC Geode GXm/GXLV/GX1/GX2 [2]. All of these processors have MMX instruction support listed in their datasheets. The NSC GX2 was the first in the series to enable 3DNow!. When 7fed07d3a4a introduced BR2_X86_CPU_HAS_MMX, Geode was skipped presumably because it wasn't clear that the target is AMD Geode and because the Wikipedia documentation for Geode is incomplete [2] with regards to supported instructions as they all support MMX. When f6cd56b9ce3 introduced BR2_X86_CPU_HAS_3DNOW, Geode was skipped presumably for similar reasons. Note: the in-tree olpc_xo1_defconfig uses BR2_x86_geode which is fine as this hardware uses the AMD Geode [3]. Make it more clear that the target is AMD Geode by renaming the Kconfig menu option and add both MMX and 3DNow! flags to BR2_x86_geode. This also means that BR2_x86_geode_mmx is no longer needed, and can be removed. No legacy handling is needed since BR2_x86_geode_mmx has never been part of any release. [0]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/i386/geode.md;;hb=HEAD [1]: https://en.wikipedia.org/wiki/MediaGX#MediaGXm [2]: https://en.wikipedia.org/wiki/Geode_%28processor%29 [3]: https://wiki.laptop.org/go/Hardware_specification Signed-off-by: Vincent Fazio Signed-off-by: Thomas Petazzoni --- arch/Config.in.x86 | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 86e148dee6..49823fe885 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -705,22 +705,10 @@ config BR2_x86_zen4 select BR2_X86_CPU_HAS_AVX512 select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 config BR2_x86_geode - bool "geode (no mmx)" - depends on !BR2_x86_64 - help - For several variant of geode which have not MMX support. - See https://en.wikipedia.org/wiki/Geode_%28processor%29 to - determine if your particular Geode processor supports MMX or - not. -config BR2_x86_geode_mmx - bool "geode (with mmx)" + bool "AMD Geode" depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX - help - For several variant of geode which have MMX support. - See https://en.wikipedia.org/wiki/Geode_%28processor%29 to - determine if your particular Geode processor supports MMX or - not. + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_c3 bool "Via/Cyrix C3 (Samuel/Ezra cores)" depends on !BR2_x86_64