All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.