Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek Kconfig.cpu   Sprache: unbekannt

 
Untersuchungsergebnis.cpu Download desUnknown {[0] [0] [0]}zum Wurzelverzeichnis wechseln

# SPDX-License-Identifier: GPL-2.0
# Put here option for CPU selection and depending optimization
choice
 prompt "x86-32 Processor family"
 depends on X86_32
 default M686
 help
   This is the processor type of your CPU. This information is
   used for optimizing purposes. In order to compile a kernel
   that can run on all supported x86 CPU types (albeit not
   optimally fast), you can specify "486" here.

   Note that the 386 is no longer supported, this includes
   AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI 486DLC/DLC2,
   UMC 486SX-S and the NexGen Nx586.

   The kernel will not necessarily run on earlier architectures than
   the one you have chosen, e.g. a Pentium optimized kernel will run on
   a PPro, but not necessarily on a i486.

   Here are the settings recommended for greatest speed:
   - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
     SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
   - "586" for generic Pentium CPUs lacking the TSC
     (time stamp counter) register.
   - "Pentium-Classic" for the Intel Pentium.
   - "Pentium-MMX" for the Intel Pentium MMX.
   - "Pentium-Pro" for the Intel Pentium Pro.
   - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
   - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
   - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
   - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
   - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
   - "Crusoe" for the Transmeta Crusoe series.
   - "Efficeon" for the Transmeta Efficeon series.
   - "Winchip-C6" for original IDT Winchip.
   - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
   - "AMD Elan" for the 32-bit AMD Elan embedded CPU.
   - "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
   - "Geode GX/LX" For AMD Geode GX and LX processors.
   - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
   - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above).
   - "VIA C7" for VIA C7.
   - "Intel Atom" for the Atom-microarchitecture CPUs.

   See each option's help text for additional details. If you don't know
   what to do, choose "Pentium-Pro".

config M486SX
 bool "486SX"
 depends on X86_32
 help
   Select this for an 486-class CPU without an FPU such as
   AMD/Cyrix/IBM/Intel SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5S.

config M486
 bool "486DX"
 depends on X86_32
 help
   Select this for an 486-class CPU such as AMD/Cyrix/IBM/Intel
   486DX/DX2/DX4 and UMC U5D.

config M586
 bool "586/K5/5x86/6x86/6x86MX"
 depends on X86_32
 help
   Select this for an 586 or 686 series processor such as the AMD K5,
   the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
   assume the RDTSC (Read Time Stamp Counter) instruction.

config M586TSC
 bool "Pentium-Classic"
 depends on X86_32
 help
   Select this for a Pentium Classic processor with the RDTSC (Read
   Time Stamp Counter) instruction for benchmarking.

config M586MMX
 bool "Pentium-MMX"
 depends on X86_32
 help
   Select this for a Pentium with the MMX graphics/multimedia
   extended instructions.

config M686
 bool "Pentium-Pro"
 depends on X86_32
 help
   Select this for Intel Pentium Pro chips.  This enables the use of
   Pentium Pro extended instructions, and disables the init-time guard
   against the f00f bug found in earlier Pentiums.

config MPENTIUMII
 bool "Pentium-II/Celeron(pre-Coppermine)"
 depends on X86_32
 help
   Select this for Intel chips based on the Pentium-II and
   pre-Coppermine Celeron core.  This option enables an unaligned
   copy optimization, compiles the kernel with optimization flags
   tailored for the chip, and applies any applicable Pentium Pro
   optimizations.

config MPENTIUMIII
 bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
 depends on X86_32
 help
   Select this for Intel chips based on the Pentium-III and
   Celeron-Coppermine core.  This option enables use of some
   extended prefetch instructions in addition to the Pentium II
   extensions.

config MPENTIUMM
 bool "Pentium M/Pentium Dual Core/Core Solo/Core Duo"
 depends on X86_32
 help
   Select this for Intel Pentium M (not Pentium-4 M)
   "Merom" Core Solo/Duo notebook chips

config MPENTIUM4
 bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon"
 depends on X86_32
 help
   Select this for Intel Pentium 4 chips.  This includes the
   Pentium 4, Pentium D, P4-based Celeron and Xeon, and
   Pentium-4 M (not Pentium M) chips.  This option enables compile
   flags optimized for the chip, uses the correct cache line size, and
   applies any applicable optimizations.

   CPUIDs: F[0-6][1-A] (in /proc/cpuinfo show = cpu family : 15 )

   Select this for:
     Pentiums (Pentium 4, Pentium D, Celeron, Celeron D) corename:
  -Willamette
  -Northwood
  -Mobile Pentium 4
  -Mobile Pentium 4 M
  -Extreme Edition (Gallatin)
     Xeons (Intel Xeon, Xeon MP, Xeon LV, Xeon MV) corename:
  -Foster
  -Prestonia
  -Gallatin

config MK6
 bool "K6/K6-II/K6-III"
 depends on X86_32
 help
   Select this for an AMD K6-family processor.  Enables use of
   some extended instructions, and passes appropriate optimization
   flags to GCC.

config MK7
 bool "Athlon/Duron/K7"
 depends on X86_32
 help
   Select this for an AMD Athlon K7-family processor.  Enables use of
   some extended instructions, and passes appropriate optimization
   flags to GCC.

config MCRUSOE
 bool "Crusoe"
 depends on X86_32
 help
   Select this for a Transmeta Crusoe processor.  Treats the processor
   like a 586 with TSC, and sets some GCC optimization flags (like a
   Pentium Pro with no alignment requirements).

config MEFFICEON
 bool "Efficeon"
 depends on X86_32
 help
   Select this for a Transmeta Efficeon processor.

config MWINCHIPC6
 bool "Winchip-C6"
 depends on X86_32
 help
   Select this for an IDT Winchip C6 chip.  Linux and GCC
   treat this chip as a 586TSC with some extended instructions
   and alignment requirements.

config MWINCHIP3D
 bool "Winchip-2/Winchip-2A/Winchip-3"
 depends on X86_32
 help
   Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
   treat this chip as a 586TSC with some extended instructions
   and alignment requirements.  Also enable out of order memory
   stores for this CPU, which can increase performance of some
   operations.

config MELAN
 bool "AMD Elan"
 depends on X86_32
 help
   Select this for an AMD Elan processor.

   Do not use this option for K6/Athlon/Opteron processors!

config MGEODEGX1
 bool "GeodeGX1"
 depends on X86_32
 help
   Select this for a Geode GX1 (Cyrix MediaGX) chip.

config MGEODE_LX
 bool "Geode GX/LX"
 depends on X86_32
 help
   Select this for AMD Geode GX and LX processors.

config MCYRIXIII
 bool "CyrixIII/VIA-C3"
 depends on X86_32
 help
   Select this for a Cyrix III or C3 chip.  Presently Linux and GCC
   treat this chip as a generic 586. Whilst the CPU is 686 class,
   it lacks the cmov extension which gcc assumes is present when
   generating 686 code.
   Note that Nehemiah (Model 9) and above will not boot with this
   kernel due to them lacking the 3DNow! instructions used in earlier
   incarnations of the CPU.

config MVIAC3_2
 bool "VIA C3-2 (Nehemiah)"
 depends on X86_32
 help
   Select this for a VIA C3 "Nehemiah". Selecting this enables usage
   of SSE and tells gcc to treat the CPU as a 686.
   Note, this kernel will not boot on older (pre model 9) C3s.

config MVIAC7
 bool "VIA C7"
 depends on X86_32
 help
   Select this for a VIA C7.  Selecting this uses the correct cache
   shift and tells gcc to treat the CPU as a 686.

config MATOM
 bool "Intel Atom"
 help
   Select this for the Intel Atom platform. Intel Atom CPUs have an
   in-order pipelining architecture and thus can benefit from
   accordingly optimized code. Use a recent GCC with specific Atom
   support in order to fully benefit from selecting this option.

endchoice

config CC_HAS_MARCH_NATIVE
 # This flag might not be available in cross-compilers:
 def_bool $(cc-option, -march=native)
 # LLVM 18 has an easily triggered internal compiler error in core
 # networking code with '-march=native' on certain systems:
 # https://github.com/llvm/llvm-project/issues/72026
 # LLVM 19 introduces an optimization that resolves some high stack
 # usage warnings that only appear wth '-march=native'.
 depends on CC_IS_GCC || CLANG_VERSION >= 190100

config X86_NATIVE_CPU
 bool "Build and optimize for local/native CPU"
 depends on X86_64
 depends on CC_HAS_MARCH_NATIVE
 help
   Optimize for the current CPU used to compile the kernel.
   Use this option if you intend to build the kernel for your
   local machine.

   Note that such a kernel might not work optimally on a
   different x86 machine.

   If unsure, say N.

config X86_GENERIC
 bool "Generic x86 support"
 depends on X86_32
 help
   Instead of just including optimizations for the selected
   x86 variant (e.g. PII, Crusoe or Athlon), include some more
   generic optimizations as well. This will make the kernel
   perform better on x86 CPUs other than that selected.

   This is really intended for distributors who need more
   generic optimizations.

#
# Define implied options from the CPU selection here
config X86_INTERNODE_CACHE_SHIFT
 int
 default "12" if X86_VSMP
 default X86_L1_CACHE_SHIFT

config X86_L1_CACHE_SHIFT
 int
 default "7" if MPENTIUM4
 default "6" if MK7 || MPENTIUMM || MATOM || MVIAC7 || X86_GENERIC || X86_64
 default "4" if MELAN || M486SX || M486 || MGEODEGX1
 default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX

config X86_F00F_BUG
 def_bool y
 depends on M586MMX || M586TSC || M586 || M486SX || M486

config X86_INVD_BUG
 def_bool y
 depends on M486SX || M486

config X86_ALIGNMENT_16
 def_bool y
 depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486SX || M486 || MVIAC3_2 || MGEODEGX1

config X86_INTEL_USERCOPY
 def_bool y
 depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK7 || MEFFICEON

config X86_USE_PPRO_CHECKSUM
 def_bool y
 depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MATOM

config X86_TSC
 def_bool y
 depends on (MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MATOM) || X86_64

config X86_HAVE_PAE
 def_bool y
 depends on MCRUSOE || MEFFICEON || MCYRIXIII || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC7 || MATOM || X86_64

config X86_CX8
 def_bool y
 depends on X86_HAVE_PAE || M586TSC || M586MMX || MK6 || MK7 || MGEODEGX1 || MGEODE_LX

# this should be set for all -march=.. options where the compiler
# generates cmov.
config X86_CMOV
 def_bool y
 depends on (MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || MATOM || MGEODE_LX || X86_64)

config X86_MINIMUM_CPU_FAMILY
 int
 default "64" if X86_64
 default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MK7)
 default "5" if X86_32 && X86_CX8
 default "4"

config X86_DEBUGCTLMSR
 def_bool y
 depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486SX || M486) && !UML

config IA32_FEAT_CTL
 def_bool y
 depends on CPU_SUP_INTEL || CPU_SUP_CENTAUR || CPU_SUP_ZHAOXIN

config X86_VMX_FEATURE_NAMES
 def_bool y
 depends on IA32_FEAT_CTL

menuconfig PROCESSOR_SELECT
 bool "Supported processor vendors" if EXPERT
 help
   This lets you choose what x86 vendor support code your kernel
   will include.

config BROADCAST_TLB_FLUSH
 def_bool y
 depends on CPU_SUP_AMD && 64BIT

config CPU_SUP_INTEL
 default y
 bool "Support Intel processors" if PROCESSOR_SELECT
 help
   This enables detection, tunings and quirks for Intel processors

   You need this enabled if you want your kernel to run on an
   Intel CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on an Intel
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_CYRIX_32
 default y
 bool "Support Cyrix processors" if PROCESSOR_SELECT
 depends on M486SX || M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT)
 help
   This enables detection, tunings and quirks for Cyrix processors

   You need this enabled if you want your kernel to run on a
   Cyrix CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on a Cyrix
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_AMD
 default y
 bool "Support AMD processors" if PROCESSOR_SELECT
 help
   This enables detection, tunings and quirks for AMD processors

   You need this enabled if you want your kernel to run on an
   AMD CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on an AMD
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_HYGON
 default y
 bool "Support Hygon processors" if PROCESSOR_SELECT
 select CPU_SUP_AMD
 help
   This enables detection, tunings and quirks for Hygon processors

   You need this enabled if you want your kernel to run on an
   Hygon CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on an Hygon
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_CENTAUR
 default y
 bool "Support Centaur processors" if PROCESSOR_SELECT
 help
   This enables detection, tunings and quirks for Centaur processors

   You need this enabled if you want your kernel to run on a
   Centaur CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on a Centaur
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_TRANSMETA_32
 default y
 bool "Support Transmeta processors" if PROCESSOR_SELECT
 depends on !64BIT
 help
   This enables detection, tunings and quirks for Transmeta processors

   You need this enabled if you want your kernel to run on a
   Transmeta CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on a Transmeta
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_UMC_32
 default y
 bool "Support UMC processors" if PROCESSOR_SELECT
 depends on M486SX || M486 || (EXPERT && !64BIT)
 help
   This enables detection, tunings and quirks for UMC processors

   You need this enabled if you want your kernel to run on a
   UMC CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on a UMC
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_ZHAOXIN
 default y
 bool "Support Zhaoxin processors" if PROCESSOR_SELECT
 help
   This enables detection, tunings and quirks for Zhaoxin processors

   You need this enabled if you want your kernel to run on a
   Zhaoxin CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller. Disabling it on a Zhaoxin
   CPU might render the kernel unbootable.

   If unsure, say N.

config CPU_SUP_VORTEX_32
 default y
 bool "Support Vortex processors" if PROCESSOR_SELECT
 depends on X86_32
 help
   This enables detection, tunings and quirks for Vortex processors

   You need this enabled if you want your kernel to run on a
   Vortex CPU. Disabling this option on other types of CPUs
   makes the kernel a tiny bit smaller.

   If unsure, say N.

[ 0.64Quellennavigators  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge