* [Buildroot] [PATCH 1/1] arch/Config.in.x86: consolidate AMD Geode CPU targets
@ 2023-07-31 22:47 Vincent Fazio
2023-08-01 17:10 ` [Buildroot] [PATCH v2 1/1] arch/Config.in.x86: consolidate " Vincent Fazio
0 siblings, 1 reply; 3+ messages in thread
From: Vincent Fazio @ 2023-07-31 22:47 UTC (permalink / raw)
To: buildroot; +Cc: Vincent Fazio
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 were
never 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 GX2 was the
first in the series to enable 3DNow!.
When 7fed07d3a4a introduced BR2_X86_CPU_HAS_MMX, the Geode was skipped
presumably because Wikipedia documentation is incomplete [2] with regards
to supported instructions and wasn't aware the target was AMD Geode.
When f6cd56b9ce3 introduced BR2_X86_CPU_HAS_3DNOW, Geode was skipped
presumably for similar reasons.
The in-tree olpc_xo1_defconfig uses BR2_x86_geode as this hardware uses
the AMD Geode [3].
Clarify in the menu label that this is the AMD Geode and add both MMX
and 3DNow! flags.
[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>
---
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
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2 1/1] arch/Config.in.x86: consolidate Geode CPU targets
2023-07-31 22:47 [Buildroot] [PATCH 1/1] arch/Config.in.x86: consolidate AMD Geode CPU targets Vincent Fazio
@ 2023-08-01 17:10 ` Vincent Fazio
2023-08-01 21:18 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 3+ messages in thread
From: Vincent Fazio @ 2023-08-01 17:10 UTC (permalink / raw)
To: buildroot; +Cc: Vincent Fazio
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.
[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>
---
Changes v1 -> v2:
- Reword the commit message
---
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
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2 1/1] arch/Config.in.x86: consolidate Geode CPU targets
2023-08-01 17:10 ` [Buildroot] [PATCH v2 1/1] arch/Config.in.x86: consolidate " Vincent Fazio
@ 2023-08-01 21:18 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-01 21:18 UTC (permalink / raw)
To: Vincent Fazio; +Cc: buildroot
On Tue, 1 Aug 2023 12:10:12 -0500
Vincent Fazio <vfazio@gmail.com> wrote:
> 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.
>
> [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>
> ---
> Changes v1 -> v2:
> - Reword the commit message
> ---
> arch/Config.in.x86 | 16 ++--------------
> 1 file changed, 2 insertions(+), 14 deletions(-)
I have further extended the commit log to explain that
BR2_x86_geode_mmx is removed, and that we don't need legacy handling
for this removal, as this option has never been part of a released
version of Buildroot.
Applied with this tweak. Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-08-01 21:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-31 22:47 [Buildroot] [PATCH 1/1] arch/Config.in.x86: consolidate AMD Geode CPU targets Vincent Fazio
2023-08-01 17:10 ` [Buildroot] [PATCH v2 1/1] arch/Config.in.x86: consolidate " Vincent Fazio
2023-08-01 21:18 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox