📄 kconfig
字号:
Choose this option to build a kernel for release 2 or later of the MIPS32 architecture. Most modern embedded systems with a 32-bit MIPS processor are based on a MIPS32 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.config CPU_MIPS64_R1 bool "MIPS64 Release 1" depends on SYS_HAS_CPU_MIPS64_R1 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help Choose this option to build a kernel for release 1 or later of the MIPS64 architecture. Many modern embedded systems with a 64-bit MIPS processor are based on a MIPS64 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. Release 2 of the MIPS64 architecture is available since several years so chances are you even have a MIPS64 Release 2 processor in which case you should choose CPU_MIPS64_R2 instead for better performance.config CPU_MIPS64_R2 bool "MIPS64 Release 2" depends on SYS_HAS_CPU_MIPS64_R2 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help Choose this option to build a kernel for release 2 or later of the MIPS64 architecture. Many modern embedded systems with a 64-bit MIPS processor are based on a MIPS64 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.config CPU_R3000 bool "R3000" depends on SYS_HAS_CPU_R3000 select CPU_HAS_WB select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help Please make sure to pick the right CPU type. Linux/MIPS is not designed to be generic, i.e. Kernels compiled for R3000 CPUs will *not* work on R4000 machines and vice versa. However, since most of the supported machines have an R4000 (or similar) CPU, R4x00 might be a safe bet. If the resulting kernel does not work, try to recompile with R3000.config CPU_TX39XX bool "R39XX" depends on SYS_HAS_CPU_TX39XX select CPU_SUPPORTS_32BIT_KERNELconfig CPU_VR41XX bool "R41xx" depends on SYS_HAS_CPU_VR41XX select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help The options selects support for the NEC VR4100 series of processors. Only choose this option if you have one of these processors as a kernel built with this option will not run on any other type of processor or vice versa.config CPU_R4300 bool "R4300" depends on SYS_HAS_CPU_R4300 select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R4300-series processors.config CPU_R4X00 bool "R4x00" depends on SYS_HAS_CPU_R4X00 select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R4000-series processors other than 4300, including the R4000, R4400, R4600, and 4700.config CPU_TX49XX bool "R49XX" depends on SYS_HAS_CPU_TX49XX select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNELconfig CPU_R5000 bool "R5000" depends on SYS_HAS_CPU_R5000 select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R5000-series processors other than the Nevada.config CPU_R5432 bool "R5432" depends on SYS_HAS_CPU_R5432 select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNELconfig CPU_R6000 bool "R6000" depends on EXPERIMENTAL select CPU_HAS_LLSC depends on SYS_HAS_CPU_R6000 select CPU_SUPPORTS_32BIT_KERNEL help MIPS Technologies R6000 and R6000A series processors. Note these processors are extremely rare and the support for them is incomplete.config CPU_NEVADA bool "RM52xx" depends on SYS_HAS_CPU_NEVADA select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help QED / PMC-Sierra RM52xx-series ("Nevada") processors.config CPU_R8000 bool "R8000" depends on EXPERIMENTAL depends on SYS_HAS_CPU_R8000 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R8000 processors. Note these processors are uncommon and the support for them is incomplete.config CPU_R10000 bool "R10000" depends on SYS_HAS_CPU_R10000 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help MIPS Technologies R10000-series processors.config CPU_RM7000 bool "RM7000" depends on SYS_HAS_CPU_RM7000 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEMconfig CPU_RM9000 bool "RM9000" depends on SYS_HAS_CPU_RM9000 select CPU_HAS_LLSC select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select WEAK_ORDERINGconfig CPU_SB1 bool "SB1" depends on SYS_HAS_CPU_SB1 select CPU_HAS_LLSC select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select WEAK_ORDERINGendchoiceconfig SYS_HAS_CPU_LOONGSON2 boolconfig SYS_HAS_CPU_MIPS32_R1 boolconfig SYS_HAS_CPU_MIPS32_R2 boolconfig SYS_HAS_CPU_MIPS64_R1 boolconfig SYS_HAS_CPU_MIPS64_R2 boolconfig SYS_HAS_CPU_R3000 boolconfig SYS_HAS_CPU_TX39XX boolconfig SYS_HAS_CPU_VR41XX boolconfig SYS_HAS_CPU_R4300 boolconfig SYS_HAS_CPU_R4X00 boolconfig SYS_HAS_CPU_TX49XX boolconfig SYS_HAS_CPU_R5000 boolconfig SYS_HAS_CPU_R5432 boolconfig SYS_HAS_CPU_R6000 boolconfig SYS_HAS_CPU_NEVADA boolconfig SYS_HAS_CPU_R8000 boolconfig SYS_HAS_CPU_R10000 boolconfig SYS_HAS_CPU_RM7000 boolconfig SYS_HAS_CPU_RM9000 boolconfig SYS_HAS_CPU_SB1 bool## CPU may reorder R->R, R->W, W->R, W->W# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC#config WEAK_ORDERING bool## CPU may reorder reads and writes beyond LL/SC# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC#config WEAK_REORDERING_BEYOND_LLSC boolendmenu## These two indicate any level of the MIPS32 and MIPS64 architecture#config CPU_MIPS32 bool default y if CPU_MIPS32_R1 || CPU_MIPS32_R2config CPU_MIPS64 bool default y if CPU_MIPS64_R1 || CPU_MIPS64_R2## These two indicate the revision of the architecture, either Release 1 or Release 2#config CPU_MIPSR1 bool default y if CPU_MIPS32_R1 || CPU_MIPS64_R1config CPU_MIPSR2 bool default y if CPU_MIPS32_R2 || CPU_MIPS64_R2config SYS_SUPPORTS_32BIT_KERNEL boolconfig SYS_SUPPORTS_64BIT_KERNEL boolconfig CPU_SUPPORTS_32BIT_KERNEL boolconfig CPU_SUPPORTS_64BIT_KERNEL boolmenu "Kernel type"choice prompt "Kernel code model" help You should only select this option if you have a workload that actually benefits from 64-bit processing or if your machine has large memory. You will only be presented a single option in this menu if your system does not support both 32-bit and 64-bit kernels.config 32BIT bool "32-bit kernel" depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL select TRAD_SIGNALS help Select this option if you want to build a 32-bit kernel.config 64BIT bool "64-bit kernel" depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL help Select this option if you want to build a 64-bit kernel.endchoicechoice prompt "Kernel page size" default PAGE_SIZE_4KBconfig PAGE_SIZE_4KB bool "4kB" help This option select the standard 4kB Linux page size. On some R3000-family processors this is the only available page size. Using 4kB page size will minimize memory consumption and is therefore recommended for low memory systems.config PAGE_SIZE_8KB bool "8kB" depends on EXPERIMENTAL && CPU_R8000 help Using 8kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available only on the R8000 processor. Not that at the time of this writing this option is still high experimental; there are also issues with compatibility of user applications.config PAGE_SIZE_16KB bool "16kB" depends on !CPU_R3000 && !CPU_TX39XX help Using 16kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available on all non-R3000 family processors. Note that you will need a suitable Linux distribution to support this.config PAGE_SIZE_64KB bool "64kB" depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX help Using 64kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available on all non-R3000 family processor. Not that at the time of this writing this option is still high experimental.endchoiceconfig BOARD_SCACHE boolconfig IP22_CPU_SCACHE bool select BOARD_SCACHE## Support for a MIPS32 / MIPS64 style S-caches#config MIPS_CPU_SCACHE bool select BOARD_SCACHEconfig R5000_CPU_SCACHE bool select BOARD_SCACHEconfig RM7000_CPU_SCACHE bool select BOARD_SCACHEconfig SIBYTE_DMA_PAGEOPS bool "Use DMA to clear/copy pages" depends on CPU_SB1 help Instead of using the CPU to zero and copy pages, use a Data Mover channel. These DMA channels are otherwise unused by the standard SiByte Linux port. Seems to give a small performance benefit.config CPU_HAS_PREFETCH boolchoice prompt "MIPS MT options"config MIPS_MT_DISABLED bool "Disable multithreading support." help Use this option if your workload can't take advantage of MIPS hardware multithreading support. On systems that don't have the option of an MT-enabled processor this option will be the only option in this menu.config MIPS_MT_SMP bool "Use 1 TC on each available VPE for SMP" depends on SYS_SUPPORTS_MULTITHREADING select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT select NR_CPUS_DEFAULT_2 select SMP select SYS_SUPPORTS_SMP help This is a kernel model which is also known a VSMP or lately has been marketesed into SMVP.config MIPS_MT_SMTC bool "SMTC: Use all TCs on all VPEs for SMP" depends on CPU_MIPS32_R2 #depends on CPU_MIPS64_R2 # once there is hardware ... depends on SYS_SUPPORTS_MULTITHREADING select GENERIC_CLOCKEVENTS_BROADCAST select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT select NR_CPUS_DEFAULT_8 select SMP select SYS_SUPPORTS_SMP help This is a kernel model which is known a SMTC or lately has been marketesed into SMVP.endchoiceconfig MIPS_MT boolconfig SYS_SUPPORTS_MULTITHREADING boolconfig MIPS_MT_FPAFF bool "Dynamic FPU affinity for FP-intensive threads" default y depends on MIPS_MT_SMP || MIPS_MT_SMTCconfig MIPS_VPE_LOADER bool "VPE loader support." depends on SYS_SUPPORTS_MULTITHREADING select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT help Includes a loader for loading an elf relocatable object onto another VPE and running it.config MIPS_MT_SMTC_INSTANT_REPLAY bool "Low-latency Dispatch of Deferred SMTC IPIs" depends on MIPS_MT_SMTC && !PREEMPT default y help SMTC pseudo-interrupts between TCs are deferred and queued if the target TC is interrupt-inhibited (IXMT). In the first SMTC prototypes, these queued IPIs were serviced on return to user mode, or on entry into the kernel idle loop. The INSTANT_REPLAY option dispatches them as part of local_irq_restore() processing, which adds runtime overhead (hence the option to turn it off), but ensures that IPIs are handled promptly even under heavy I/O interrupt load.config MIPS_MT_SMTC_IM_BACKSTOP bool "Use per-TC register bits as backstop for inhibited IM bits" depends on MIPS_MT_SMTC default y help To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. Disable it only if you know what you are doing.config MIPS_MT_SMTC_IRQAFF bool "Support IRQ affinity API" depends on MIPS_MT_SMTC default n help Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) for SMTC Linux kernel. Requires platform support, of which an example can be found in the MIPS kernel i8259 and Malta platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to interrupt dispatch, and should be used only if you know what you are doing.config MIPS_VPE_LOADER_TOM bool "Load VPE program into memory hidden from linux" depends on MIPS_VPE_LOADER default y help The loader can use memory that is present but has been hidden from Linux using the kernel command line option "mem=xxMB". It's up to you to ensure the amount you put in the option and the space your program requires is less or equal to the amount physically present.# this should possibly be in drivers/char, but it is rather cpu related. Hmmmconfig MIPS_VPE_APSP_API bool "Enable support for AP/SP API (RTLX)" depends on MIPS_VPE_LOADER helpconfig MIPS_APSP_KSPD bool "Enable KSPD" depends on MIPS_VPE_APSP_API default y help KSPD is a kernel daemon that accepts syscall requests from the SP side, actions them and returns the results. It also handles the "exit" syscall notifying other kernel modules the SP program is exiting. You probably want to say yes here.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -