kumquat-buildroot/arch
Vincent Fazio 2bd0431baf 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 7fed07d3a4 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 f6cd56b9ce 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 <vfazio@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-01 23:16:02 +02:00
..
arch.mk arch: set ld's common-page-size explicitly 2022-08-23 23:51:48 +02:00
arch.mk.arc arch: set ld's common-page-size explicitly 2022-08-23 23:51:48 +02:00
arch.mk.riscv arch/riscv: enable RISC-V Toolchain with Vector Extension 2023-07-23 12:08:54 +02:00
arch.mk.xtensa arch/arch.mk.xtensa: relax check on overlay file to apply only to internal toolchains 2022-11-13 22:32:31 +01:00
Config.in arch/sparc: disable internal toolchain backend for sparc 2023-07-28 22:04:54 +02:00
Config.in.arc core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.arm arch/Config.in.arm: drop support for iwmmxt architecture variant 2022-09-25 14:06:08 +02:00
Config.in.m68k arch: rework MMU option handling and move to "Target architecture" menu 2022-07-27 11:38:07 +02:00
Config.in.microblaze core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.mips core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.nios2 core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.or1k core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.powerpc arch/Config.in.powerpc: change conditions to positive logic 2022-09-18 14:42:08 +02:00
Config.in.riscv arch/riscv: enable RISC-V Toolchain with Vector Extension 2023-07-23 12:08:54 +02:00
Config.in.s390x core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.sh arch/Config.in.sh: move BR2_ARCH_HAS_MMU_MANDATORY one level up 2022-04-24 10:45:17 +02:00
Config.in.sparc core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
Config.in.x86 arch/Config.in.x86: consolidate Geode CPU targets 2023-08-01 23:16:02 +02:00
Config.in.xtensa arch: rework MMU option handling and move to "Target architecture" menu 2022-07-27 11:38:07 +02:00