mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
In the x86 architecture we have various complicated hardware emulation facilities on x86-32 to support ancient 32-bit CPUs that very very few people are using with modern kernels. This compatibility glue is sometimes even causing problems that people spend time to resolve, which time could be spent on other things. As Linus recently remarked: > I really get the feeling that it's time to leave i486 support behind. > There's zero real reason for anybody to waste one second of > development effort on this kind of issue. Implement the first step and remove M486/M486SX/ELAN support: CONFIG_M486SX CONFIG_M486 CONFIG_MELAN [ There's no recent M486=y kernel package for any mainstream x86 32-bit distribution available that I've been able to find, so actual users should not be impacted, and any legacy users can keep using older kernels. ] Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> Cc: Ahmed S. Darwish <darwi@linutronix.de> Cc: Ard Biesheuvel <ardb@kernel.org> Cc: Arnd Bergmann <arnd@kernel.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: John Ogness <john.ogness@linutronix.de> Link: https://patch.msgid.link/20251214084710.3606385-2-mingo@kernel.org
43 lines
1.9 KiB
Plaintext
43 lines
1.9 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# CPU tuning section - shared with UML.
|
|
# Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML.
|
|
|
|
tune = $(call cc-option,-mtune=$(1),$(2))
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
align := -falign-functions=0 $(call cc-option,-falign-jumps=0) $(call cc-option,-falign-loops=0)
|
|
else
|
|
align := -falign-functions=0 -falign-jumps=0 -falign-loops=0
|
|
endif
|
|
|
|
cflags-$(CONFIG_M586) += -march=i586
|
|
cflags-$(CONFIG_M586TSC) += -march=i586
|
|
cflags-$(CONFIG_M586MMX) += -march=pentium-mmx
|
|
cflags-$(CONFIG_M686) += -march=i686
|
|
cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call tune,pentium2)
|
|
cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call tune,pentium3)
|
|
cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call tune,pentium3)
|
|
cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call tune,pentium4)
|
|
cflags-$(CONFIG_MK6) += -march=k6
|
|
# Please note, that patches that add -march=athlon-xp and friends are pointless.
|
|
# They make zero difference whatsosever to performance at this time.
|
|
cflags-$(CONFIG_MK7) += -march=athlon
|
|
cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)
|
|
cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call tune,pentium3) $(align)
|
|
cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586)
|
|
cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586)
|
|
cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)
|
|
cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
|
|
cflags-$(CONFIG_MVIAC7) += -march=i686
|
|
cflags-$(CONFIG_MATOM) += -march=atom
|
|
|
|
# AMD Elan support
|
|
cflags-$(CONFIG_MELAN) += -march=i486
|
|
|
|
# Geode GX1 support
|
|
cflags-$(CONFIG_MGEODEGX1) += -march=pentium-mmx
|
|
cflags-$(CONFIG_MGEODE_LX) += $(call cc-option,-march=geode,-march=pentium-mmx)
|
|
# add at the end to overwrite eventual tuning options from earlier
|
|
# cpu entries
|
|
cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call tune,i686))
|