* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.