![Linus Torvalds](/assets/img/avatar_default.png)
Pull MIPS updates from Ralf Baechle: "This is an unusually large pull request for MIPS - in parts because lots of patches missed the 3.18 deadline but primarily because some folks opened the flood gates. - Retire the MIPS-specific phys_t with the generic phys_addr_t. - Improvments for the backtrace code used by oprofile. - Better backtraces on SMP systems. - Cleanups for the Octeon platform code. - Cleanups and fixes for the Loongson platform code. - Cleanups and fixes to the firmware library. - Switch ATH79 platform to use the firmware library. - Grand overhault to the SEAD3 and Malta interrupt code. - Move the GIC interrupt code to drivers/irqchip - Lots of GIC cleanups and updates to the GIC code to use modern IRQ infrastructures and features of the kernel. - OF documentation updates for the GIC bindings - Move GIC clocksource driver to drivers/clocksource - Merge GIC clocksource driver with clockevent driver. - Further updates to bring the GIC clocksource driver up to date. - R3000 TLB code cleanups - Improvments to the Loongson 3 platform code. - Convert pr_warning to pr_warn. - Merge a bunch of small lantiq and ralink fixes that have been staged/lingering inside the openwrt tree for a while. - Update archhelp for IP22/IP32 - Fix a number of issues for Loongson 1B. - New clocksource and clockevent driver for Loongson 1B. - Further work on clk handling for Loongson 1B. - Platform work for Broadcom BMIPS. - Error handling cleanups for TurboChannel. - Fixes and optimization to the microMIPS support. - Option to disable the FTLB. - Dump more relevant information on machine check exception - Change binfmt to allow arch to examine PT_*PROC headers - Support for new style FPU register model in O32 - VDSO randomization. - BCM47xx cleanups - BCM47xx reimplement the way the kernel accesses NVRAM information. - Random cleanups - Add support for ATH25 platforms - Remove pointless locking code in some PCI platforms. - Some improvments to EVA support - Minor Alchemy cleanup" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (185 commits) MIPS: Add MFHC0 and MTHC0 instructions to uasm. MIPS: Cosmetic cleanups of page table headers. MIPS: Add CP0 macros for extended EntryLo registers MIPS: Remove now unused definition of phys_t. MIPS: Replace use of phys_t with phys_addr_t. MIPS: Replace MIPS-specific 64BIT_PHYS_ADDR with generic PHYS_ADDR_T_64BIT PCMCIA: Alchemy Don't select 64BIT_PHYS_ADDR in Kconfig. MIPS: lib: memset: Clean up some MIPS{EL,EB} ifdefery MIPS: iomap: Use __mem_{read,write}{b,w,l} for MMIO MIPS: <asm/types.h> fix indentation. MAINTAINERS: Add entry for BMIPS multiplatform kernel MIPS: Enable VDSO randomization MIPS: Remove a temporary hack for debugging cache flushes in SMTC configuration MIPS: Remove declaration of obsolete arch_init_clk_ops() MIPS: atomic.h: Reformat to fit in 79 columns MIPS: Apply `.insn' to fixup labels throughout MIPS: Fix microMIPS LL/SC immediate offsets MIPS: Kconfig: Only allow 32-bit microMIPS builds MIPS: signal.c: Fix an invalid cast in ISA mode bit handling MIPS: mm: Only build one microassembler that is suitable ...
2748 lines
66 KiB
Plaintext
2748 lines
66 KiB
Plaintext
config MIPS
|
|
bool
|
|
default y
|
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
|
select HAVE_CONTEXT_TRACKING
|
|
select HAVE_GENERIC_DMA_COHERENT
|
|
select HAVE_IDE
|
|
select HAVE_OPROFILE
|
|
select HAVE_PERF_EVENTS
|
|
select PERF_USE_VMALLOC
|
|
select HAVE_ARCH_KGDB
|
|
select HAVE_ARCH_SECCOMP_FILTER
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_BPF_JIT if !CPU_MICROMIPS
|
|
select ARCH_HAVE_CUSTOM_GPIO_H
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_C_RECORDMCOUNT
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_KPROBES
|
|
select HAVE_KRETPROBES
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select ARCH_BINFMT_ELF_RANDOMIZE_PIE
|
|
select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
|
|
select RTC_LIB if !MACH_LOONGSON
|
|
select GENERIC_ATOMIC64 if !64BIT
|
|
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
|
select HAVE_DMA_ATTRS
|
|
select HAVE_DMA_CONTIGUOUS
|
|
select HAVE_DMA_API_DEBUG
|
|
select GENERIC_IRQ_PROBE
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_PCI_IOMAP
|
|
select HAVE_ARCH_JUMP_LABEL
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select IRQ_FORCED_THREADING
|
|
select HAVE_MEMBLOCK
|
|
select HAVE_MEMBLOCK_NODE_MAP
|
|
select ARCH_DISCARD_MEMBLOCK
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select BUILDTIME_EXTABLE_SORT
|
|
select GENERIC_CLOCKEVENTS
|
|
select GENERIC_CMOS_UPDATE
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
|
select VIRT_TO_BUS
|
|
select MODULES_USE_ELF_REL if MODULES
|
|
select MODULES_USE_ELF_RELA if MODULES && 64BIT
|
|
select CLONE_BACKWARDS
|
|
select HAVE_DEBUG_STACKOVERFLOW
|
|
select HAVE_CC_STACKPROTECTOR
|
|
select CPU_PM if CPU_IDLE
|
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
|
select ARCH_BINFMT_ELF_STATE
|
|
|
|
menu "Machine selection"
|
|
|
|
choice
|
|
prompt "System type"
|
|
default SGI_IP22
|
|
|
|
config MIPS_ALCHEMY
|
|
bool "Alchemy processor based machines"
|
|
select ARCH_PHYS_ADDR_T_64BIT
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select IRQ_CPU
|
|
select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_APM_EMULATION
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select SYS_SUPPORTS_ZBOOT
|
|
select COMMON_CLK
|
|
|
|
config AR7
|
|
bool "Texas Instruments AR7"
|
|
select BOOT_ELF32
|
|
select DMA_NONCOHERENT
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select IRQ_CPU
|
|
select NO_EXCEPT_FILL
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
select SYS_SUPPORTS_ZBOOT_UART16550
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select VLYNQ
|
|
select HAVE_CLK
|
|
help
|
|
Support for the Texas Instruments AR7 System-on-a-Chip
|
|
family: TNETD7100, 7200 and 7300.
|
|
|
|
config ATH25
|
|
bool "Atheros AR231x/AR531x SoC support"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select IRQ_DOMAIN
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_HAS_EARLY_PRINTK
|
|
help
|
|
Support for Atheros AR231x and Atheros AR531x based boards
|
|
|
|
config ATH79
|
|
bool "Atheros AR71XX/AR724X/AR913X based boards"
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select BOOT_RAW
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select HAVE_CLK
|
|
select CLKDEV_LOOKUP
|
|
select IRQ_CPU
|
|
select MIPS_MACHINE
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
help
|
|
Support for the Atheros AR71XX/AR724X/AR913X SoCs.
|
|
|
|
config BCM3384
|
|
bool "Broadcom BCM3384 based boards"
|
|
select BOOT_RAW
|
|
select NO_EXCEPT_FILL
|
|
select USE_OF
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select SYNC_R4K
|
|
select COMMON_CLK
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_HAS_CPU_BMIPS5000
|
|
select SWAP_IO_SPACE
|
|
select USB_EHCI_BIG_ENDIAN_DESC
|
|
select USB_EHCI_BIG_ENDIAN_MMIO
|
|
select USB_OHCI_BIG_ENDIAN_DESC
|
|
select USB_OHCI_BIG_ENDIAN_MMIO
|
|
help
|
|
Support for BCM3384 based boards. BCM3384/BCM33843 is a cable modem
|
|
chipset with a Linux application processor that is often used to
|
|
provide Samba services, a CUPS print server, and/or advanced routing
|
|
features.
|
|
|
|
config BCM47XX
|
|
bool "Broadcom BCM47XX based boards"
|
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
select BOOT_RAW
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select HW_HAS_PCI
|
|
select IRQ_CPU
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select NO_EXCEPT_FILL
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select USE_GENERIC_EARLY_PRINTK_8250
|
|
select GPIOLIB
|
|
select LEDS_GPIO_REGISTER
|
|
help
|
|
Support for BCM47XX based boards
|
|
|
|
config BCM63XX
|
|
bool "Broadcom BCM63XX based boards"
|
|
select BOOT_RAW
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select SYNC_R4K
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SWAP_IO_SPACE
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select HAVE_CLK
|
|
select MIPS_L1_CACHE_SHIFT_4
|
|
help
|
|
Support for BCM63XX based boards
|
|
|
|
config MIPS_COBALT
|
|
bool "Cobalt Server"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select CEVT_GT641XX
|
|
select DMA_NONCOHERENT
|
|
select HW_HAS_PCI
|
|
select I8253
|
|
select I8259
|
|
select IRQ_CPU
|
|
select IRQ_GT641XX
|
|
select PCI_GT64XXX_PCI0
|
|
select PCI
|
|
select SYS_HAS_CPU_NEVADA
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select USE_GENERIC_EARLY_PRINTK_8250
|
|
|
|
config MACH_DECSTATION
|
|
bool "DECstations"
|
|
select BOOT_ELF32
|
|
select CEVT_DS1287
|
|
select CEVT_R4K if CPU_R4X00
|
|
select CSRC_IOASIC
|
|
select CSRC_R4K if CPU_R4X00
|
|
select CPU_DADDI_WORKAROUNDS if 64BIT
|
|
select CPU_R4000_WORKAROUNDS if 64BIT
|
|
select CPU_R4400_WORKAROUNDS if 64BIT
|
|
select DMA_NONCOHERENT
|
|
select NO_IOPORT_MAP
|
|
select IRQ_CPU
|
|
select SYS_HAS_CPU_R3000
|
|
select SYS_HAS_CPU_R4X00
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_128HZ
|
|
select SYS_SUPPORTS_256HZ
|
|
select SYS_SUPPORTS_1024HZ
|
|
select MIPS_L1_CACHE_SHIFT_4
|
|
help
|
|
This enables support for DEC's MIPS based workstations. For details
|
|
see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
|
|
DECstation porting pages on <http://decstation.unix-ag.org/>.
|
|
|
|
If you have one of the following DECstation Models you definitely
|
|
want to choose R4xx0 for the CPU Type:
|
|
|
|
DECstation 5000/50
|
|
DECstation 5000/150
|
|
DECstation 5000/260
|
|
DECsystem 5900/260
|
|
|
|
otherwise choose R3000.
|
|
|
|
config MACH_JAZZ
|
|
bool "Jazz family of machines"
|
|
select FW_ARC
|
|
select FW_ARC32
|
|
select ARCH_MAY_HAVE_PC_FDC
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
|
|
select GENERIC_ISA_DMA
|
|
select HAVE_PCSPKR_PLATFORM
|
|
select IRQ_CPU
|
|
select I8253
|
|
select I8259
|
|
select ISA
|
|
select SYS_HAS_CPU_R4X00
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_100HZ
|
|
help
|
|
This a family of machines based on the MIPS R4030 chipset which was
|
|
used by several vendors to build RISC/os and Windows NT workstations.
|
|
Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
|
|
Olivetti M700-10 workstations.
|
|
|
|
config MACH_JZ4740
|
|
bool "Ingenic JZ4740 based machines"
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_ZBOOT_UART16550
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select HAVE_CLK
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config LANTIQ
|
|
bool "Lantiq based platforms"
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_MIPS16
|
|
select SYS_SUPPORTS_MULTITHREADING
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select SWAP_IO_SPACE
|
|
select BOOT_RAW
|
|
select HAVE_MACH_CLKDEV
|
|
select CLKDEV_LOOKUP
|
|
select USE_OF
|
|
select PINCTRL
|
|
select PINCTRL_LANTIQ
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select RESET_CONTROLLER
|
|
|
|
config LASAT
|
|
bool "LASAT Networks platforms"
|
|
select CEVT_R4K
|
|
select CRC32
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select HW_HAS_PCI
|
|
select IRQ_CPU
|
|
select PCI_GT64XXX_PCI0
|
|
select MIPS_NILE4
|
|
select R5000_CPU_SCACHE
|
|
select SYS_HAS_CPU_R5000
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config MACH_LOONGSON
|
|
bool "Loongson family of machines"
|
|
select SYS_SUPPORTS_ZBOOT
|
|
help
|
|
This enables the support of Loongson family of machines.
|
|
|
|
Loongson is a family of general-purpose MIPS-compatible CPUs.
|
|
developed at Institute of Computing Technology (ICT),
|
|
Chinese Academy of Sciences (CAS) in the People's Republic
|
|
of China. The chief architect is Professor Weiwu Hu.
|
|
|
|
config MACH_LOONGSON1
|
|
bool "Loongson 1 family of machines"
|
|
select SYS_SUPPORTS_ZBOOT
|
|
help
|
|
This enables support for the Loongson 1 based machines.
|
|
|
|
Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
|
|
the ICT (Institute of Computing Technology) and the Chinese Academy
|
|
of Sciences.
|
|
|
|
config MIPS_MALTA
|
|
bool "MIPS Malta board"
|
|
select ARCH_MAY_HAVE_PC_FDC
|
|
select BOOT_ELF32
|
|
select BOOT_RAW
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select CLKSRC_MIPS_GIC
|
|
select DMA_MAYBE_COHERENT
|
|
select GENERIC_ISA_DMA
|
|
select HAVE_PCSPKR_PLATFORM
|
|
select IRQ_CPU
|
|
select MIPS_GIC
|
|
select HW_HAS_PCI
|
|
select I8253
|
|
select I8259
|
|
select MIPS_BONITO64
|
|
select MIPS_CPU_SCACHE
|
|
select MIPS_L1_CACHE_SHIFT_6
|
|
select PCI_GT64XXX_PCI0
|
|
select MIPS_MSC
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_HAS_CPU_MIPS32_R3_5
|
|
select SYS_HAS_CPU_MIPS64_R1
|
|
select SYS_HAS_CPU_MIPS64_R2
|
|
select SYS_HAS_CPU_NEVADA
|
|
select SYS_HAS_CPU_RM7000
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_MICROMIPS
|
|
select SYS_SUPPORTS_MIPS_CMP
|
|
select SYS_SUPPORTS_MIPS_CPS
|
|
select SYS_SUPPORTS_MIPS16
|
|
select SYS_SUPPORTS_MULTITHREADING
|
|
select SYS_SUPPORTS_SMARTMIPS
|
|
select SYS_SUPPORTS_ZBOOT
|
|
help
|
|
This enables support for the MIPS Technologies Malta evaluation
|
|
board.
|
|
|
|
config MIPS_SEAD3
|
|
bool "MIPS SEAD3 board"
|
|
select BOOT_ELF32
|
|
select BOOT_RAW
|
|
select BUILTIN_DTB
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select CLKSRC_MIPS_GIC
|
|
select CPU_MIPSR2_IRQ_VI
|
|
select CPU_MIPSR2_IRQ_EI
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select MIPS_GIC
|
|
select LIBFDT
|
|
select MIPS_MSC
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_HAS_CPU_MIPS64_R1
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_SMARTMIPS
|
|
select SYS_SUPPORTS_MICROMIPS
|
|
select SYS_SUPPORTS_MIPS16
|
|
select USB_EHCI_BIG_ENDIAN_DESC
|
|
select USB_EHCI_BIG_ENDIAN_MMIO
|
|
select USE_OF
|
|
help
|
|
This enables support for the MIPS Technologies SEAD3 evaluation
|
|
board.
|
|
|
|
config NEC_MARKEINS
|
|
bool "NEC EMMA2RH Mark-eins board"
|
|
select SOC_EMMA2RH
|
|
select HW_HAS_PCI
|
|
help
|
|
This enables support for the NEC Electronics Mark-eins boards.
|
|
|
|
config MACH_VR41XX
|
|
bool "NEC VR4100 series based machines"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select SYS_HAS_CPU_VR41XX
|
|
select SYS_SUPPORTS_MIPS16
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
|
|
config NXP_STB220
|
|
bool "NXP STB220 board"
|
|
select SOC_PNX833X
|
|
help
|
|
Support for NXP Semiconductors STB220 Development Board.
|
|
|
|
config NXP_STB225
|
|
bool "NXP 225 board"
|
|
select SOC_PNX833X
|
|
select SOC_PNX8335
|
|
help
|
|
Support for NXP Semiconductors STB225 Development Board.
|
|
|
|
config PMC_MSP
|
|
bool "PMC-Sierra MSP chipsets"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select SWAP_IO_SPACE
|
|
select NO_EXCEPT_FILL
|
|
select BOOT_RAW
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
select IRQ_CPU
|
|
select SERIAL_8250
|
|
select SERIAL_8250_CONSOLE
|
|
select USB_EHCI_BIG_ENDIAN_MMIO
|
|
select USB_EHCI_BIG_ENDIAN_DESC
|
|
help
|
|
This adds support for the PMC-Sierra family of Multi-Service
|
|
Processor System-On-A-Chips. These parts include a number
|
|
of integrated peripherals, interfaces and DSPs in addition to
|
|
a variety of MIPS cores.
|
|
|
|
config RALINK
|
|
bool "Ralink based machines"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select BOOT_RAW
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select USE_OF
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select HAVE_MACH_CLKDEV
|
|
select CLKDEV_LOOKUP
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select RESET_CONTROLLER
|
|
|
|
config SGI_IP22
|
|
bool "SGI IP22 (Indy/Indigo2)"
|
|
select FW_ARC
|
|
select FW_ARC32
|
|
select BOOT_ELF32
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DEFAULT_SGI_PARTITION
|
|
select DMA_NONCOHERENT
|
|
select HW_HAS_EISA
|
|
select I8253
|
|
select I8259
|
|
select IP22_CPU_SCACHE
|
|
select IRQ_CPU
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select SGI_HAS_I8042
|
|
select SGI_HAS_INDYDOG
|
|
select SGI_HAS_HAL2
|
|
select SGI_HAS_SEEQ
|
|
select SGI_HAS_WD93
|
|
select SGI_HAS_ZILOG
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_R4X00
|
|
select SYS_HAS_CPU_R5000
|
|
#
|
|
# Disable EARLY_PRINTK for now since it leads to overwritten prom
|
|
# memory during early boot on some machines.
|
|
#
|
|
# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
|
|
# for a more details discussion
|
|
#
|
|
# select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select MIPS_L1_CACHE_SHIFT_7
|
|
help
|
|
This are the SGI Indy, Challenge S and Indigo2, as well as certain
|
|
OEM variants like the Tandem CMN B006S. To compile a Linux kernel
|
|
that runs on these, say Y here.
|
|
|
|
config SGI_IP27
|
|
bool "SGI IP27 (Origin200/2000)"
|
|
select FW_ARC
|
|
select FW_ARC64
|
|
select BOOT_ELF64
|
|
select DEFAULT_SGI_PARTITION
|
|
select DMA_COHERENT
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select HW_HAS_PCI
|
|
select NR_CPUS_DEFAULT_64
|
|
select SYS_HAS_CPU_R10000
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_SMP
|
|
select MIPS_L1_CACHE_SHIFT_7
|
|
help
|
|
This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
|
|
workstations. To compile a Linux kernel that runs on these, say Y
|
|
here.
|
|
|
|
config SGI_IP28
|
|
bool "SGI IP28 (Indigo2 R10k)"
|
|
select FW_ARC
|
|
select FW_ARC64
|
|
select BOOT_ELF64
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DEFAULT_SGI_PARTITION
|
|
select DMA_NONCOHERENT
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select IRQ_CPU
|
|
select HW_HAS_EISA
|
|
select I8253
|
|
select I8259
|
|
select SGI_HAS_I8042
|
|
select SGI_HAS_INDYDOG
|
|
select SGI_HAS_HAL2
|
|
select SGI_HAS_SEEQ
|
|
select SGI_HAS_WD93
|
|
select SGI_HAS_ZILOG
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_R10000
|
|
#
|
|
# Disable EARLY_PRINTK for now since it leads to overwritten prom
|
|
# memory during early boot on some machines.
|
|
#
|
|
# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
|
|
# for a more details discussion
|
|
#
|
|
# select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select MIPS_L1_CACHE_SHIFT_7
|
|
help
|
|
This is the SGI Indigo2 with R10000 processor. To compile a Linux
|
|
kernel that runs on these, say Y here.
|
|
|
|
config SGI_IP32
|
|
bool "SGI IP32 (O2)"
|
|
select FW_ARC
|
|
select FW_ARC32
|
|
select BOOT_ELF32
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select HW_HAS_PCI
|
|
select IRQ_CPU
|
|
select R5000_CPU_SCACHE
|
|
select RM7000_CPU_SCACHE
|
|
select SYS_HAS_CPU_R5000
|
|
select SYS_HAS_CPU_R10000 if BROKEN
|
|
select SYS_HAS_CPU_RM7000
|
|
select SYS_HAS_CPU_NEVADA
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
help
|
|
If you want this kernel to run on SGI O2 workstation, say Y here.
|
|
|
|
config SIBYTE_CRHINE
|
|
bool "Sibyte BCM91120C-CRhine"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select SIBYTE_BCM1120
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_CARMEL
|
|
bool "Sibyte BCM91120x-Carmel"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select SIBYTE_BCM1120
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_CRHONE
|
|
bool "Sibyte BCM91125C-CRhone"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select SIBYTE_BCM1125
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_RHONE
|
|
bool "Sibyte BCM91125E-Rhone"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select SIBYTE_BCM1125H
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_SWARM
|
|
bool "Sibyte BCM91250A-SWARM"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select HAVE_PATA_PLATFORM
|
|
select SIBYTE_SB1250
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select ZONE_DMA32 if 64BIT
|
|
|
|
config SIBYTE_LITTLESUR
|
|
bool "Sibyte BCM91250C2-LittleSur"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select HAVE_PATA_PLATFORM
|
|
select SIBYTE_SB1250
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_SENTOSA
|
|
bool "Sibyte BCM91250E-Sentosa"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select SIBYTE_SB1250
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
config SIBYTE_BIGSUR
|
|
bool "Sibyte BCM91480B-BigSur"
|
|
select BOOT_ELF32
|
|
select DMA_COHERENT
|
|
select NR_CPUS_DEFAULT_4
|
|
select SIBYTE_BCM1x80
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_SB1
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select ZONE_DMA32 if 64BIT
|
|
|
|
config SNI_RM
|
|
bool "SNI RM200/300/400"
|
|
select FW_ARC if CPU_LITTLE_ENDIAN
|
|
select FW_ARC32 if CPU_LITTLE_ENDIAN
|
|
select FW_SNIPROM if CPU_BIG_ENDIAN
|
|
select ARCH_MAY_HAVE_PC_FDC
|
|
select BOOT_ELF32
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
|
|
select DMA_NONCOHERENT
|
|
select GENERIC_ISA_DMA
|
|
select HAVE_PCSPKR_PLATFORM
|
|
select HW_HAS_EISA
|
|
select HW_HAS_PCI
|
|
select IRQ_CPU
|
|
select I8253
|
|
select I8259
|
|
select ISA
|
|
select SWAP_IO_SPACE if CPU_BIG_ENDIAN
|
|
select SYS_HAS_CPU_R4X00
|
|
select SYS_HAS_CPU_R5000
|
|
select SYS_HAS_CPU_R10000
|
|
select R5000_CPU_SCACHE
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
help
|
|
The SNI RM200/300/400 are MIPS-based machines manufactured by
|
|
Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
|
|
Technology and now in turn merged with Fujitsu. Say Y here to
|
|
support this machine type.
|
|
|
|
config MACH_TX39XX
|
|
bool "Toshiba TX39 series based machines"
|
|
|
|
config MACH_TX49XX
|
|
bool "Toshiba TX49 series based machines"
|
|
|
|
config MIKROTIK_RB532
|
|
bool "Mikrotik RB532 boards"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select HW_HAS_PCI
|
|
select IRQ_CPU
|
|
select SYS_HAS_CPU_MIPS32_R1
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SWAP_IO_SPACE
|
|
select BOOT_RAW
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select MIPS_L1_CACHE_SHIFT_4
|
|
help
|
|
Support the Mikrotik(tm) RouterBoard 532 series,
|
|
based on the IDT RC32434 SoC.
|
|
|
|
config CAVIUM_OCTEON_SOC
|
|
bool "Cavium Networks Octeon SoC based boards"
|
|
select CEVT_R4K
|
|
select ARCH_PHYS_ADDR_T_64BIT
|
|
select DMA_COHERENT
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select EDAC_SUPPORT
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_HAS_CPU_CAVIUM_OCTEON
|
|
select SWAP_IO_SPACE
|
|
select HW_HAS_PCI
|
|
select ZONE_DMA32
|
|
select HOLES_IN_ZONE
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select LIBFDT
|
|
select USE_OF
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_SMP
|
|
select NR_CPUS_DEFAULT_16
|
|
select BUILTIN_DTB
|
|
help
|
|
This option supports all of the Octeon reference boards from Cavium
|
|
Networks. It builds a kernel that dynamically determines the Octeon
|
|
CPU type and supports all known board reference implementations.
|
|
Some of the supported boards are:
|
|
EBT3000
|
|
EBH3000
|
|
EBH3100
|
|
Thunder
|
|
Kodama
|
|
Hikari
|
|
Say Y here for most Octeon reference boards.
|
|
|
|
config NLM_XLR_BOARD
|
|
bool "Netlogic XLR/XLS based systems"
|
|
select BOOT_ELF32
|
|
select NLM_COMMON
|
|
select SYS_HAS_CPU_XLR
|
|
select SYS_SUPPORTS_SMP
|
|
select HW_HAS_PCI
|
|
select SWAP_IO_SPACE
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select ARCH_PHYS_ADDR_T_64BIT
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select DMA_COHERENT
|
|
select NR_CPUS_DEFAULT_32
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select IRQ_CPU
|
|
select ZONE_DMA32 if 64BIT
|
|
select SYNC_R4K
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_ZBOOT
|
|
select SYS_SUPPORTS_ZBOOT_UART16550
|
|
help
|
|
Support for systems based on Netlogic XLR and XLS processors.
|
|
Say Y here if you have a XLR or XLS based board.
|
|
|
|
config NLM_XLP_BOARD
|
|
bool "Netlogic XLP based systems"
|
|
select BOOT_ELF32
|
|
select NLM_COMMON
|
|
select SYS_HAS_CPU_XLP
|
|
select SYS_SUPPORTS_SMP
|
|
select HW_HAS_PCI
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select ARCH_PHYS_ADDR_T_64BIT
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select DMA_COHERENT
|
|
select NR_CPUS_DEFAULT_32
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select IRQ_CPU
|
|
select ZONE_DMA32 if 64BIT
|
|
select SYNC_R4K
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select USE_OF
|
|
select SYS_SUPPORTS_ZBOOT
|
|
select SYS_SUPPORTS_ZBOOT_UART16550
|
|
help
|
|
This board is based on Netlogic XLP Processor.
|
|
Say Y here if you have a XLP based board.
|
|
|
|
config MIPS_PARAVIRT
|
|
bool "Para-Virtualized guest system"
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_COHERENT
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_SMP
|
|
select NR_CPUS_DEFAULT_4
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_HAS_CPU_MIPS64_R2
|
|
select SYS_HAS_CPU_CAVIUM_OCTEON
|
|
select HW_HAS_PCI
|
|
select SWAP_IO_SPACE
|
|
help
|
|
This option supports guest running under ????
|
|
|
|
endchoice
|
|
|
|
source "arch/mips/alchemy/Kconfig"
|
|
source "arch/mips/ath25/Kconfig"
|
|
source "arch/mips/ath79/Kconfig"
|
|
source "arch/mips/bcm47xx/Kconfig"
|
|
source "arch/mips/bcm63xx/Kconfig"
|
|
source "arch/mips/jazz/Kconfig"
|
|
source "arch/mips/jz4740/Kconfig"
|
|
source "arch/mips/lantiq/Kconfig"
|
|
source "arch/mips/lasat/Kconfig"
|
|
source "arch/mips/pmcs-msp71xx/Kconfig"
|
|
source "arch/mips/ralink/Kconfig"
|
|
source "arch/mips/sgi-ip27/Kconfig"
|
|
source "arch/mips/sibyte/Kconfig"
|
|
source "arch/mips/txx9/Kconfig"
|
|
source "arch/mips/vr41xx/Kconfig"
|
|
source "arch/mips/cavium-octeon/Kconfig"
|
|
source "arch/mips/loongson/Kconfig"
|
|
source "arch/mips/loongson1/Kconfig"
|
|
source "arch/mips/netlogic/Kconfig"
|
|
source "arch/mips/paravirt/Kconfig"
|
|
|
|
endmenu
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config SCHED_OMIT_FRAME_POINTER
|
|
bool
|
|
default y
|
|
|
|
#
|
|
# Select some configuration options automatically based on user selections.
|
|
#
|
|
config FW_ARC
|
|
bool
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
bool
|
|
|
|
config BOOT_RAW
|
|
bool
|
|
|
|
config CEVT_BCM1480
|
|
bool
|
|
|
|
config CEVT_DS1287
|
|
bool
|
|
|
|
config CEVT_GT641XX
|
|
bool
|
|
|
|
config CEVT_R4K
|
|
bool
|
|
|
|
config CEVT_SB1250
|
|
bool
|
|
|
|
config CEVT_TXX9
|
|
bool
|
|
|
|
config CSRC_BCM1480
|
|
bool
|
|
|
|
config CSRC_IOASIC
|
|
bool
|
|
|
|
config CSRC_R4K
|
|
bool
|
|
|
|
config CSRC_SB1250
|
|
bool
|
|
|
|
config GPIO_TXX9
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
bool
|
|
|
|
config FW_CFE
|
|
bool
|
|
|
|
config ARCH_DMA_ADDR_T_64BIT
|
|
def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
|
|
|
|
config DMA_MAYBE_COHERENT
|
|
select DMA_NONCOHERENT
|
|
bool
|
|
|
|
config DMA_COHERENT
|
|
bool
|
|
|
|
config DMA_NONCOHERENT
|
|
bool
|
|
select NEED_DMA_MAP_STATE
|
|
|
|
config NEED_DMA_MAP_STATE
|
|
bool
|
|
|
|
config SYS_HAS_EARLY_PRINTK
|
|
bool
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Support for hot-pluggable CPUs"
|
|
depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
|
|
help
|
|
Say Y here to allow turning CPUs off and on. CPUs can be
|
|
controlled through /sys/devices/system/cpu.
|
|
(Note: power management support will enable this option
|
|
automatically on SMP systems. )
|
|
Say N if you want to disable CPU hotplug.
|
|
|
|
config SYS_SUPPORTS_HOTPLUG_CPU
|
|
bool
|
|
|
|
config I8259
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config MIPS_BONITO64
|
|
bool
|
|
|
|
config MIPS_MSC
|
|
bool
|
|
|
|
config MIPS_NILE4
|
|
bool
|
|
|
|
config SYNC_R4K
|
|
bool
|
|
|
|
config MIPS_MACHINE
|
|
def_bool n
|
|
|
|
config NO_IOPORT_MAP
|
|
def_bool n
|
|
|
|
config GENERIC_ISA_DMA
|
|
bool
|
|
select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
|
|
select ISA_DMA_API
|
|
|
|
config GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
bool
|
|
select GENERIC_ISA_DMA
|
|
|
|
config ISA_DMA_API
|
|
bool
|
|
|
|
config HOLES_IN_ZONE
|
|
bool
|
|
|
|
#
|
|
# Endianness selection. Sufficiently obscure so many users don't know what to
|
|
# answer,so we try hard to limit the available choices. Also the use of a
|
|
# choice statement should be more obvious to the user.
|
|
#
|
|
choice
|
|
prompt "Endianness selection"
|
|
help
|
|
Some MIPS machines can be configured for either little or big endian
|
|
byte order. These modes require different kernels and a different
|
|
Linux distribution. In general there is one preferred byteorder for a
|
|
particular system but some systems are just as commonly used in the
|
|
one or the other endianness.
|
|
|
|
config CPU_BIG_ENDIAN
|
|
bool "Big endian"
|
|
depends on SYS_SUPPORTS_BIG_ENDIAN
|
|
|
|
config CPU_LITTLE_ENDIAN
|
|
bool "Little endian"
|
|
depends on SYS_SUPPORTS_LITTLE_ENDIAN
|
|
|
|
endchoice
|
|
|
|
config EXPORT_UASM
|
|
bool
|
|
|
|
config SYS_SUPPORTS_APM_EMULATION
|
|
bool
|
|
|
|
config SYS_SUPPORTS_BIG_ENDIAN
|
|
bool
|
|
|
|
config SYS_SUPPORTS_LITTLE_ENDIAN
|
|
bool
|
|
|
|
config SYS_SUPPORTS_HUGETLBFS
|
|
bool
|
|
depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
|
|
default y
|
|
|
|
config MIPS_HUGE_TLB_SUPPORT
|
|
def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
|
|
|
|
config IRQ_CPU
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config IRQ_CPU_RM7K
|
|
bool
|
|
|
|
config IRQ_MSP_SLP
|
|
bool
|
|
|
|
config IRQ_MSP_CIC
|
|
bool
|
|
|
|
config IRQ_TXX9
|
|
bool
|
|
|
|
config IRQ_GT641XX
|
|
bool
|
|
|
|
config PCI_GT64XXX_PCI0
|
|
bool
|
|
|
|
config NO_EXCEPT_FILL
|
|
bool
|
|
|
|
config SOC_EMMA2RH
|
|
bool
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select SWAP_IO_SPACE
|
|
select SYS_HAS_CPU_R5500
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
|
|
config SOC_PNX833X
|
|
bool
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select IRQ_CPU
|
|
select DMA_NONCOHERENT
|
|
select SYS_HAS_CPU_MIPS32_R2
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_BIG_ENDIAN
|
|
select SYS_SUPPORTS_MIPS16
|
|
select CPU_MIPSR2_IRQ_VI
|
|
|
|
config SOC_PNX8335
|
|
bool
|
|
select SOC_PNX833X
|
|
|
|
config SWAP_IO_SPACE
|
|
bool
|
|
|
|
config SGI_HAS_INDYDOG
|
|
bool
|
|
|
|
config SGI_HAS_HAL2
|
|
bool
|
|
|
|
config SGI_HAS_SEEQ
|
|
bool
|
|
|
|
config SGI_HAS_WD93
|
|
bool
|
|
|
|
config SGI_HAS_ZILOG
|
|
bool
|
|
|
|
config SGI_HAS_I8042
|
|
bool
|
|
|
|
config DEFAULT_SGI_PARTITION
|
|
bool
|
|
|
|
config FW_ARC32
|
|
bool
|
|
|
|
config FW_SNIPROM
|
|
bool
|
|
|
|
config BOOT_ELF32
|
|
bool
|
|
|
|
config MIPS_L1_CACHE_SHIFT_4
|
|
bool
|
|
|
|
config MIPS_L1_CACHE_SHIFT_5
|
|
bool
|
|
|
|
config MIPS_L1_CACHE_SHIFT_6
|
|
bool
|
|
|
|
config MIPS_L1_CACHE_SHIFT_7
|
|
bool
|
|
|
|
config MIPS_L1_CACHE_SHIFT
|
|
int
|
|
default "4" if MIPS_L1_CACHE_SHIFT_4
|
|
default "5" if MIPS_L1_CACHE_SHIFT_5
|
|
default "6" if MIPS_L1_CACHE_SHIFT_6
|
|
default "7" if MIPS_L1_CACHE_SHIFT_7
|
|
default "5"
|
|
|
|
config HAVE_STD_PC_SERIAL_PORT
|
|
bool
|
|
|
|
config ARC_CONSOLE
|
|
bool "ARC console support"
|
|
depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
|
|
|
|
config ARC_MEMORY
|
|
bool
|
|
depends on MACH_JAZZ || SNI_RM || SGI_IP32
|
|
default y
|
|
|
|
config ARC_PROMLIB
|
|
bool
|
|
depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
|
|
default y
|
|
|
|
config FW_ARC64
|
|
bool
|
|
|
|
config BOOT_ELF64
|
|
bool
|
|
|
|
menu "CPU selection"
|
|
|
|
choice
|
|
prompt "CPU type"
|
|
default CPU_R4X00
|
|
|
|
config CPU_LOONGSON3
|
|
bool "Loongson 3 CPU"
|
|
depends on SYS_HAS_CPU_LOONGSON3
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
select WEAK_ORDERING
|
|
select WEAK_REORDERING_BEYOND_LLSC
|
|
help
|
|
The Loongson 3 processor implements the MIPS64R2 instruction
|
|
set with many extensions.
|
|
|
|
config CPU_LOONGSON2E
|
|
bool "Loongson 2E"
|
|
depends on SYS_HAS_CPU_LOONGSON2E
|
|
select CPU_LOONGSON2
|
|
help
|
|
The Loongson 2E processor implements the MIPS III instruction set
|
|
with many extensions.
|
|
|
|
It has an internal FPGA northbridge, which is compatible to
|
|
bonito64.
|
|
|
|
config CPU_LOONGSON2F
|
|
bool "Loongson 2F"
|
|
depends on SYS_HAS_CPU_LOONGSON2F
|
|
select CPU_LOONGSON2
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
help
|
|
The Loongson 2F processor implements the MIPS III instruction set
|
|
with many extensions.
|
|
|
|
Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
|
|
have a similar programming interface with FPGA northbridge used in
|
|
Loongson2E.
|
|
|
|
config CPU_LOONGSON1B
|
|
bool "Loongson 1B"
|
|
depends on SYS_HAS_CPU_LOONGSON1B
|
|
select CPU_LOONGSON1
|
|
help
|
|
The Loongson 1B is a 32-bit SoC, which implements the MIPS32
|
|
release 2 instruction set.
|
|
|
|
config CPU_MIPS32_R1
|
|
bool "MIPS32 Release 1"
|
|
depends on SYS_HAS_CPU_MIPS32_R1
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
help
|
|
Choose this option to build a kernel for release 1 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.
|
|
Release 2 of the MIPS32 architecture is available since several
|
|
years so chances are you even have a MIPS32 Release 2 processor
|
|
in which case you should choose CPU_MIPS32_R2 instead for better
|
|
performance.
|
|
|
|
config CPU_MIPS32_R2
|
|
bool "MIPS32 Release 2"
|
|
depends on SYS_HAS_CPU_MIPS32_R2
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_MSA
|
|
select HAVE_KVM
|
|
help
|
|
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_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
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_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
select CPU_SUPPORTS_MSA
|
|
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_KERNEL
|
|
|
|
config 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_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_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
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_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
|
|
config CPU_R5000
|
|
bool "R5000"
|
|
depends on SYS_HAS_CPU_R5000
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
help
|
|
MIPS Technologies R5000-series processors other than the Nevada.
|
|
|
|
config CPU_R5432
|
|
bool "R5432"
|
|
depends on SYS_HAS_CPU_R5432
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
|
|
config CPU_R5500
|
|
bool "R5500"
|
|
depends on SYS_HAS_CPU_R5500
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
help
|
|
NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
|
|
instruction set.
|
|
|
|
config CPU_R6000
|
|
bool "R6000"
|
|
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_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
help
|
|
QED / PMC-Sierra RM52xx-series ("Nevada") processors.
|
|
|
|
config CPU_R8000
|
|
bool "R8000"
|
|
depends on SYS_HAS_CPU_R8000
|
|
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_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
help
|
|
MIPS Technologies R10000-series processors.
|
|
|
|
config CPU_RM7000
|
|
bool "RM7000"
|
|
depends on SYS_HAS_CPU_RM7000
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
|
|
config CPU_SB1
|
|
bool "SB1"
|
|
depends on SYS_HAS_CPU_SB1
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
select WEAK_ORDERING
|
|
|
|
config CPU_CAVIUM_OCTEON
|
|
bool "Cavium Octeon processor"
|
|
depends on SYS_HAS_CPU_CAVIUM_OCTEON
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select WEAK_ORDERING
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
select USB_EHCI_BIG_ENDIAN_MMIO
|
|
select MIPS_L1_CACHE_SHIFT_7
|
|
help
|
|
The Cavium Octeon processor is a highly integrated chip containing
|
|
many ethernet hardware widgets for networking tasks. The processor
|
|
can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
|
|
Full details can be found at http://www.caviumnetworks.com.
|
|
|
|
config CPU_BMIPS
|
|
bool "Broadcom BMIPS"
|
|
depends on SYS_HAS_CPU_BMIPS
|
|
select CPU_MIPS32
|
|
select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
|
|
select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
|
|
select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
|
|
select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select DMA_NONCOHERENT
|
|
select IRQ_CPU
|
|
select SWAP_IO_SPACE
|
|
select WEAK_ORDERING
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_HAS_PREFETCH
|
|
help
|
|
Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
|
|
|
|
config CPU_XLR
|
|
bool "Netlogic XLR SoC"
|
|
depends on SYS_HAS_CPU_XLR
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
select WEAK_ORDERING
|
|
select WEAK_REORDERING_BEYOND_LLSC
|
|
help
|
|
Netlogic Microsystems XLR/XLS processors.
|
|
|
|
config CPU_XLP
|
|
bool "Netlogic XLP SoC"
|
|
depends on SYS_HAS_CPU_XLP
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select WEAK_ORDERING
|
|
select WEAK_REORDERING_BEYOND_LLSC
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_MIPSR2
|
|
help
|
|
Netlogic Microsystems XLP processors.
|
|
endchoice
|
|
|
|
config CPU_MIPS32_3_5_FEATURES
|
|
bool "MIPS32 Release 3.5 Features"
|
|
depends on SYS_HAS_CPU_MIPS32_R3_5
|
|
depends on CPU_MIPS32_R2
|
|
help
|
|
Choose this option to build a kernel for release 2 or later of the
|
|
MIPS32 architecture including features from the 3.5 release such as
|
|
support for Enhanced Virtual Addressing (EVA).
|
|
|
|
config CPU_MIPS32_3_5_EVA
|
|
bool "Enhanced Virtual Addressing (EVA)"
|
|
depends on CPU_MIPS32_3_5_FEATURES
|
|
select EVA
|
|
default y
|
|
help
|
|
Choose this option if you want to enable the Enhanced Virtual
|
|
Addressing (EVA) on your MIPS32 core (such as proAptiv).
|
|
One of its primary benefits is an increase in the maximum size
|
|
of lowmem (up to 3GB). If unsure, say 'N' here.
|
|
|
|
if CPU_LOONGSON2F
|
|
config CPU_NOP_WORKAROUNDS
|
|
bool
|
|
|
|
config CPU_JUMP_WORKAROUNDS
|
|
bool
|
|
|
|
config CPU_LOONGSON2F_WORKAROUNDS
|
|
bool "Loongson 2F Workarounds"
|
|
default y
|
|
select CPU_NOP_WORKAROUNDS
|
|
select CPU_JUMP_WORKAROUNDS
|
|
help
|
|
Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
|
|
require workarounds. Without workarounds the system may hang
|
|
unexpectedly. For more information please refer to the gas
|
|
-mfix-loongson2f-nop and -mfix-loongson2f-jump options.
|
|
|
|
Loongson 2F03 and later have fixed these issues and no workarounds
|
|
are needed. The workarounds have no significant side effect on them
|
|
but may decrease the performance of the system so this option should
|
|
be disabled unless the kernel is intended to be run on 2F01 or 2F02
|
|
systems.
|
|
|
|
If unsure, please say Y.
|
|
endif # CPU_LOONGSON2F
|
|
|
|
config SYS_SUPPORTS_ZBOOT
|
|
bool
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_LZ4
|
|
select HAVE_KERNEL_LZMA
|
|
select HAVE_KERNEL_LZO
|
|
select HAVE_KERNEL_XZ
|
|
|
|
config SYS_SUPPORTS_ZBOOT_UART16550
|
|
bool
|
|
select SYS_SUPPORTS_ZBOOT
|
|
|
|
config CPU_LOONGSON2
|
|
bool
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_HUGEPAGES
|
|
|
|
config CPU_LOONGSON1
|
|
bool
|
|
select CPU_MIPS32
|
|
select CPU_MIPSR2
|
|
select CPU_HAS_PREFETCH
|
|
select CPU_SUPPORTS_32BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_CPUFREQ
|
|
|
|
config CPU_BMIPS32_3300
|
|
select SMP_UP if SMP
|
|
bool
|
|
|
|
config CPU_BMIPS4350
|
|
bool
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
|
|
config CPU_BMIPS4380
|
|
bool
|
|
select MIPS_L1_CACHE_SHIFT_6
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
|
|
config CPU_BMIPS5000
|
|
bool
|
|
select MIPS_CPU_SCACHE
|
|
select MIPS_L1_CACHE_SHIFT_7
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
|
|
config SYS_HAS_CPU_LOONGSON3
|
|
bool
|
|
select CPU_SUPPORTS_CPUFREQ
|
|
|
|
config SYS_HAS_CPU_LOONGSON2E
|
|
bool
|
|
|
|
config SYS_HAS_CPU_LOONGSON2F
|
|
bool
|
|
select CPU_SUPPORTS_CPUFREQ
|
|
select CPU_SUPPORTS_ADDRWINCFG if 64BIT
|
|
select CPU_SUPPORTS_UNCACHED_ACCELERATED
|
|
|
|
config SYS_HAS_CPU_LOONGSON1B
|
|
bool
|
|
|
|
config SYS_HAS_CPU_MIPS32_R1
|
|
bool
|
|
|
|
config SYS_HAS_CPU_MIPS32_R2
|
|
bool
|
|
|
|
config SYS_HAS_CPU_MIPS32_R3_5
|
|
bool
|
|
|
|
config SYS_HAS_CPU_MIPS64_R1
|
|
bool
|
|
|
|
config SYS_HAS_CPU_MIPS64_R2
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R3000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_TX39XX
|
|
bool
|
|
|
|
config SYS_HAS_CPU_VR41XX
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R4300
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R4X00
|
|
bool
|
|
|
|
config SYS_HAS_CPU_TX49XX
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R5000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R5432
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R5500
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R6000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_NEVADA
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R8000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_R10000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_RM7000
|
|
bool
|
|
|
|
config SYS_HAS_CPU_SB1
|
|
bool
|
|
|
|
config SYS_HAS_CPU_CAVIUM_OCTEON
|
|
bool
|
|
|
|
config SYS_HAS_CPU_BMIPS
|
|
bool
|
|
|
|
config SYS_HAS_CPU_BMIPS32_3300
|
|
bool
|
|
select SYS_HAS_CPU_BMIPS
|
|
|
|
config SYS_HAS_CPU_BMIPS4350
|
|
bool
|
|
select SYS_HAS_CPU_BMIPS
|
|
|
|
config SYS_HAS_CPU_BMIPS4380
|
|
bool
|
|
select SYS_HAS_CPU_BMIPS
|
|
|
|
config SYS_HAS_CPU_BMIPS5000
|
|
bool
|
|
select SYS_HAS_CPU_BMIPS
|
|
|
|
config SYS_HAS_CPU_XLR
|
|
bool
|
|
|
|
config SYS_HAS_CPU_XLP
|
|
bool
|
|
|
|
config MIPS_MALTA_PM
|
|
depends on MIPS_MALTA
|
|
depends on PCI
|
|
bool
|
|
default y
|
|
|
|
#
|
|
# 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
|
|
bool
|
|
endmenu
|
|
|
|
#
|
|
# These two indicate any level of the MIPS32 and MIPS64 architecture
|
|
#
|
|
config CPU_MIPS32
|
|
bool
|
|
default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
|
|
|
|
config 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_R1
|
|
|
|
config CPU_MIPSR2
|
|
bool
|
|
default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
|
|
|
|
config EVA
|
|
bool
|
|
|
|
config SYS_SUPPORTS_32BIT_KERNEL
|
|
bool
|
|
config SYS_SUPPORTS_64BIT_KERNEL
|
|
bool
|
|
config CPU_SUPPORTS_32BIT_KERNEL
|
|
bool
|
|
config CPU_SUPPORTS_64BIT_KERNEL
|
|
bool
|
|
config CPU_SUPPORTS_CPUFREQ
|
|
bool
|
|
config CPU_SUPPORTS_ADDRWINCFG
|
|
bool
|
|
config CPU_SUPPORTS_HUGEPAGES
|
|
bool
|
|
config CPU_SUPPORTS_UNCACHED_ACCELERATED
|
|
bool
|
|
config MIPS_PGD_C0_CONTEXT
|
|
bool
|
|
default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
|
|
|
|
#
|
|
# Set to y for ptrace access to watch registers.
|
|
#
|
|
config HARDWARE_WATCHPOINTS
|
|
bool
|
|
default y if CPU_MIPSR1 || CPU_MIPSR2
|
|
|
|
menu "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.
|
|
|
|
endchoice
|
|
|
|
config KVM_GUEST
|
|
bool "KVM Guest Kernel"
|
|
depends on BROKEN_ON_SMP
|
|
help
|
|
Select this option if building a guest kernel for KVM (Trap & Emulate) mode
|
|
|
|
config KVM_GUEST_TIMER_FREQ
|
|
int "Count/Compare Timer Frequency (MHz)"
|
|
depends on KVM_GUEST
|
|
default 100
|
|
help
|
|
Set this to non-zero if building a guest kernel for KVM to skip RTC
|
|
emulation when determining guest CPU Frequency. Instead, the guest's
|
|
timer frequency is specified directly.
|
|
|
|
choice
|
|
prompt "Kernel page size"
|
|
default PAGE_SIZE_4KB
|
|
|
|
config PAGE_SIZE_4KB
|
|
bool "4kB"
|
|
depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
|
|
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 CPU_R8000 || CPU_CAVIUM_OCTEON
|
|
help
|
|
Using 8kB page size will result in higher performance kernel at
|
|
the price of higher memory consumption. This option is available
|
|
only on R8000 and cnMIPS processors. Note that you will need a
|
|
suitable Linux distribution to support this.
|
|
|
|
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_32KB
|
|
bool "32kB"
|
|
depends on CPU_CAVIUM_OCTEON
|
|
help
|
|
Using 32kB page size will result in higher performance kernel at
|
|
the price of higher memory consumption. This option is available
|
|
only on cnMIPS cores. Note that you will need a suitable Linux
|
|
distribution to support this.
|
|
|
|
config PAGE_SIZE_64KB
|
|
bool "64kB"
|
|
depends on !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.
|
|
|
|
endchoice
|
|
|
|
config FORCE_MAX_ZONEORDER
|
|
int "Maximum zone order"
|
|
range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
|
|
default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
|
|
range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
|
|
default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
|
|
range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
|
|
default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
|
|
range 11 64
|
|
default "11"
|
|
help
|
|
The kernel memory allocator divides physically contiguous memory
|
|
blocks into "zones", where each zone is a power of two number of
|
|
pages. This option selects the largest power of two that the kernel
|
|
keeps in the memory allocator. If you need to allocate very large
|
|
blocks of physically contiguous memory, then you may need to
|
|
increase this value.
|
|
|
|
This config option is actually maximum order plus one. For example,
|
|
a value of 11 means that the largest free memory block is 2^10 pages.
|
|
|
|
The page size is not necessarily 4KB. Keep this in mind
|
|
when choosing a value for this option.
|
|
|
|
config BOARD_SCACHE
|
|
bool
|
|
|
|
config IP22_CPU_SCACHE
|
|
bool
|
|
select BOARD_SCACHE
|
|
|
|
#
|
|
# Support for a MIPS32 / MIPS64 style S-caches
|
|
#
|
|
config MIPS_CPU_SCACHE
|
|
bool
|
|
select BOARD_SCACHE
|
|
|
|
config R5000_CPU_SCACHE
|
|
bool
|
|
select BOARD_SCACHE
|
|
|
|
config RM7000_CPU_SCACHE
|
|
bool
|
|
select BOARD_SCACHE
|
|
|
|
config 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
|
|
bool
|
|
|
|
config CPU_GENERIC_DUMP_TLB
|
|
bool
|
|
default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
|
|
|
|
config CPU_R4K_FPU
|
|
bool
|
|
default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
|
|
|
|
config CPU_R4K_CACHE_TLB
|
|
bool
|
|
default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
|
|
|
|
config MIPS_MT_SMP
|
|
bool "MIPS MT SMP support (1 TC on each available VPE)"
|
|
depends on SYS_SUPPORTS_MULTITHREADING
|
|
select CPU_MIPSR2_IRQ_VI
|
|
select CPU_MIPSR2_IRQ_EI
|
|
select SYNC_R4K
|
|
select MIPS_GIC_IPI
|
|
select MIPS_MT
|
|
select SMP
|
|
select SMP_UP
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_SCHED_SMT
|
|
select MIPS_PERF_SHARED_TC_COUNTERS
|
|
help
|
|
This is a kernel model which is known as SMVP. This is supported
|
|
on cores with the MT ASE and uses the available VPEs to implement
|
|
virtual processors which supports SMP. This is equivalent to the
|
|
Intel Hyperthreading feature. For further information go to
|
|
<http://www.imgtec.com/mips/mips-multithreading.asp>.
|
|
|
|
config MIPS_MT
|
|
bool
|
|
|
|
config SCHED_SMT
|
|
bool "SMT (multithreading) scheduler support"
|
|
depends on SYS_SUPPORTS_SCHED_SMT
|
|
default n
|
|
help
|
|
SMT scheduler support improves the CPU scheduler's decision making
|
|
when dealing with MIPS MT enabled cores at a cost of slightly
|
|
increased overhead in some places. If unsure say N here.
|
|
|
|
config SYS_SUPPORTS_SCHED_SMT
|
|
bool
|
|
|
|
config SYS_SUPPORTS_MULTITHREADING
|
|
bool
|
|
|
|
config MIPS_MT_FPAFF
|
|
bool "Dynamic FPU affinity for FP-intensive threads"
|
|
default y
|
|
depends on MIPS_MT_SMP
|
|
|
|
config MIPS_VPE_LOADER
|
|
bool "VPE loader support."
|
|
depends on SYS_SUPPORTS_MULTITHREADING && MODULES
|
|
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_VPE_LOADER_CMP
|
|
bool
|
|
default "y"
|
|
depends on MIPS_VPE_LOADER && MIPS_CMP
|
|
|
|
config MIPS_VPE_LOADER_MT
|
|
bool
|
|
default "y"
|
|
depends on MIPS_VPE_LOADER && !MIPS_CMP
|
|
|
|
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.
|
|
|
|
config MIPS_VPE_APSP_API
|
|
bool "Enable support for AP/SP API (RTLX)"
|
|
depends on MIPS_VPE_LOADER
|
|
help
|
|
|
|
config MIPS_VPE_APSP_API_CMP
|
|
bool
|
|
default "y"
|
|
depends on MIPS_VPE_APSP_API && MIPS_CMP
|
|
|
|
config MIPS_VPE_APSP_API_MT
|
|
bool
|
|
default "y"
|
|
depends on MIPS_VPE_APSP_API && !MIPS_CMP
|
|
|
|
config MIPS_CMP
|
|
bool "MIPS CMP framework support (DEPRECATED)"
|
|
depends on SYS_SUPPORTS_MIPS_CMP
|
|
select MIPS_GIC_IPI
|
|
select SMP
|
|
select SYNC_R4K
|
|
select SYS_SUPPORTS_SMP
|
|
select WEAK_ORDERING
|
|
default n
|
|
help
|
|
Select this if you are using a bootloader which implements the "CMP
|
|
framework" protocol (ie. YAMON) and want your kernel to make use of
|
|
its ability to start secondary CPUs.
|
|
|
|
Unless you have a specific need, you should use CONFIG_MIPS_CPS
|
|
instead of this.
|
|
|
|
config MIPS_CPS
|
|
bool "MIPS Coherent Processing System support"
|
|
depends on SYS_SUPPORTS_MIPS_CPS
|
|
select MIPS_CM
|
|
select MIPS_CPC
|
|
select MIPS_CPS_PM if HOTPLUG_CPU
|
|
select MIPS_GIC_IPI
|
|
select SMP
|
|
select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
select SYS_SUPPORTS_SMP
|
|
select WEAK_ORDERING
|
|
help
|
|
Select this if you wish to run an SMP kernel across multiple cores
|
|
within a MIPS Coherent Processing System. When this option is
|
|
enabled the kernel will probe for other cores and boot them with
|
|
no external assistance. It is safe to enable this when hardware
|
|
support is unavailable.
|
|
|
|
config MIPS_CPS_PM
|
|
depends on MIPS_CPS
|
|
select MIPS_CPC
|
|
bool
|
|
|
|
config MIPS_GIC_IPI
|
|
bool
|
|
|
|
config MIPS_CM
|
|
bool
|
|
|
|
config MIPS_CPC
|
|
bool
|
|
|
|
config SB1_PASS_1_WORKAROUNDS
|
|
bool
|
|
depends on CPU_SB1_PASS_1
|
|
default y
|
|
|
|
config SB1_PASS_2_WORKAROUNDS
|
|
bool
|
|
depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
|
|
default y
|
|
|
|
config SB1_PASS_2_1_WORKAROUNDS
|
|
bool
|
|
depends on CPU_SB1 && CPU_SB1_PASS_2
|
|
default y
|
|
|
|
|
|
config ARCH_PHYS_ADDR_T_64BIT
|
|
bool
|
|
|
|
choice
|
|
prompt "SmartMIPS or microMIPS ASE support"
|
|
|
|
config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
|
|
bool "None"
|
|
help
|
|
Select this if you want neither microMIPS nor SmartMIPS support
|
|
|
|
config CPU_HAS_SMARTMIPS
|
|
depends on SYS_SUPPORTS_SMARTMIPS
|
|
bool "SmartMIPS"
|
|
help
|
|
SmartMIPS is a extension of the MIPS32 architecture aimed at
|
|
increased security at both hardware and software level for
|
|
smartcards. Enabling this option will allow proper use of the
|
|
SmartMIPS instructions by Linux applications. However a kernel with
|
|
this option will not work on a MIPS core without SmartMIPS core. If
|
|
you don't know you probably don't have SmartMIPS and should say N
|
|
here.
|
|
|
|
config CPU_MICROMIPS
|
|
depends on 32BIT && SYS_SUPPORTS_MICROMIPS
|
|
bool "microMIPS"
|
|
help
|
|
When this option is enabled the kernel will be built using the
|
|
microMIPS ISA
|
|
|
|
endchoice
|
|
|
|
config CPU_HAS_MSA
|
|
bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
|
|
depends on CPU_SUPPORTS_MSA
|
|
depends on 64BIT || MIPS_O32_FP64_SUPPORT
|
|
help
|
|
MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
|
|
and a set of SIMD instructions to operate on them. When this option
|
|
is enabled the kernel will support allocating & switching MSA
|
|
vector register contexts. If you know that your kernel will only be
|
|
running on CPUs which do not support MSA or that your userland will
|
|
not be making use of it then you may wish to say N here to reduce
|
|
the size & complexity of your kernel.
|
|
|
|
If unsure, say Y.
|
|
|
|
config CPU_HAS_WB
|
|
bool
|
|
|
|
config XKS01
|
|
bool
|
|
|
|
#
|
|
# Vectored interrupt mode is an R2 feature
|
|
#
|
|
config CPU_MIPSR2_IRQ_VI
|
|
bool
|
|
|
|
#
|
|
# Extended interrupt mode is an R2 feature
|
|
#
|
|
config CPU_MIPSR2_IRQ_EI
|
|
bool
|
|
|
|
config CPU_HAS_SYNC
|
|
bool
|
|
depends on !CPU_R3000
|
|
default y
|
|
|
|
#
|
|
# CPU non-features
|
|
#
|
|
config CPU_DADDI_WORKAROUNDS
|
|
bool
|
|
|
|
config CPU_R4000_WORKAROUNDS
|
|
bool
|
|
select CPU_R4400_WORKAROUNDS
|
|
|
|
config CPU_R4400_WORKAROUNDS
|
|
bool
|
|
|
|
#
|
|
# - Highmem only makes sense for the 32-bit kernel.
|
|
# - The current highmem code will only work properly on physically indexed
|
|
# caches such as R3000, SB1, R7000 or those that look like they're virtually
|
|
# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
|
|
# moment we protect the user and offer the highmem option only on machines
|
|
# where it's known to be safe. This will not offer highmem on a few systems
|
|
# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
|
|
# indexed CPUs but we're playing safe.
|
|
# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
|
|
# know they might have memory configurations that could make use of highmem
|
|
# support.
|
|
#
|
|
config HIGHMEM
|
|
bool "High Memory Support"
|
|
depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
|
|
|
|
config CPU_SUPPORTS_HIGHMEM
|
|
bool
|
|
|
|
config SYS_SUPPORTS_HIGHMEM
|
|
bool
|
|
|
|
config SYS_SUPPORTS_SMARTMIPS
|
|
bool
|
|
|
|
config SYS_SUPPORTS_MICROMIPS
|
|
bool
|
|
|
|
config SYS_SUPPORTS_MIPS16
|
|
bool
|
|
help
|
|
This option must be set if a kernel might be executed on a MIPS16-
|
|
enabled CPU even if MIPS16 is not actually being used. In other
|
|
words, it makes the kernel MIPS16-tolerant.
|
|
|
|
config CPU_SUPPORTS_MSA
|
|
bool
|
|
|
|
config ARCH_FLATMEM_ENABLE
|
|
def_bool y
|
|
depends on !NUMA && !CPU_LOONGSON2
|
|
|
|
config ARCH_DISCONTIGMEM_ENABLE
|
|
bool
|
|
default y if SGI_IP27
|
|
help
|
|
Say Y to support efficient handling of discontiguous physical memory,
|
|
for architectures which are either NUMA (Non-Uniform Memory Access)
|
|
or have huge holes in the physical address space for other reasons.
|
|
See <file:Documentation/vm/numa> for more.
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
bool
|
|
select SPARSEMEM_STATIC
|
|
|
|
config NUMA
|
|
bool "NUMA Support"
|
|
depends on SYS_SUPPORTS_NUMA
|
|
help
|
|
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
|
|
Access). This option improves performance on systems with more
|
|
than two nodes; on two node systems it is generally better to
|
|
leave it disabled; on single node systems disable this option
|
|
disabled.
|
|
|
|
config SYS_SUPPORTS_NUMA
|
|
bool
|
|
|
|
config NODES_SHIFT
|
|
int
|
|
default "6"
|
|
depends on NEED_MULTIPLE_NODES
|
|
|
|
config HW_PERF_EVENTS
|
|
bool "Enable hardware performance counter support for perf events"
|
|
depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
|
|
default y
|
|
help
|
|
Enable hardware performance counter support for perf events. If
|
|
disabled, perf events will use software events only.
|
|
|
|
source "mm/Kconfig"
|
|
|
|
config SMP
|
|
bool "Multi-Processing support"
|
|
depends on SYS_SUPPORTS_SMP
|
|
help
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
uniprocessor machines. On a uniprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below.
|
|
|
|
See also the SMP-HOWTO available at
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config SMP_UP
|
|
bool
|
|
|
|
config SYS_SUPPORTS_MIPS_CMP
|
|
bool
|
|
|
|
config SYS_SUPPORTS_MIPS_CPS
|
|
bool
|
|
|
|
config SYS_SUPPORTS_SMP
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_4
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_8
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_16
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_32
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_64
|
|
bool
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-256)"
|
|
range 2 256
|
|
depends on SMP
|
|
default "4" if NR_CPUS_DEFAULT_4
|
|
default "8" if NR_CPUS_DEFAULT_8
|
|
default "16" if NR_CPUS_DEFAULT_16
|
|
default "32" if NR_CPUS_DEFAULT_32
|
|
default "64" if NR_CPUS_DEFAULT_64
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 32 for 32-bit
|
|
kernel and 64 for 64-bit kernels; the minimum value which makes
|
|
sense is 1 for Qemu (useful only for kernel debugging purposes)
|
|
and 2 for all others.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image. For best
|
|
performance should round up your number of processors to the next
|
|
power of two.
|
|
|
|
config MIPS_PERF_SHARED_TC_COUNTERS
|
|
bool
|
|
|
|
#
|
|
# Timer Interrupt Frequency Configuration
|
|
#
|
|
|
|
choice
|
|
prompt "Timer frequency"
|
|
default HZ_250
|
|
help
|
|
Allows the configuration of the timer frequency.
|
|
|
|
config HZ_48
|
|
bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_100
|
|
bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_128
|
|
bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_250
|
|
bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_256
|
|
bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_1000
|
|
bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
config HZ_1024
|
|
bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
|
|
|
|
endchoice
|
|
|
|
config SYS_SUPPORTS_48HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_100HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_128HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_250HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_256HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_1000HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_1024HZ
|
|
bool
|
|
|
|
config SYS_SUPPORTS_ARBIT_HZ
|
|
bool
|
|
default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
|
|
!SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
|
|
!SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
|
|
!SYS_SUPPORTS_1024HZ
|
|
|
|
config HZ
|
|
int
|
|
default 48 if HZ_48
|
|
default 100 if HZ_100
|
|
default 128 if HZ_128
|
|
default 250 if HZ_250
|
|
default 256 if HZ_256
|
|
default 1000 if HZ_1000
|
|
default 1024 if HZ_1024
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config KEXEC
|
|
bool "Kexec system call"
|
|
help
|
|
kexec is a system call that implements the ability to shutdown your
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
but it is independent of the system firmware. And like a reboot
|
|
you can start any kernel with it, not just Linux.
|
|
|
|
The name comes from the similarity to the exec system call.
|
|
|
|
It is an ongoing process to be certain the hardware in a machine
|
|
is properly shutdown, so do not be surprised if this code does not
|
|
initially work for you. As of this writing the exact hardware
|
|
interface is strongly in flux, so no good recommendation can be
|
|
made.
|
|
|
|
config CRASH_DUMP
|
|
bool "Kernel crash dumps"
|
|
help
|
|
Generate crash dump after being started by kexec.
|
|
This should be normally only set in special crash dump kernels
|
|
which are loaded in the main kernel with kexec-tools into
|
|
a specially reserved region and then later executed after
|
|
a crash by kdump/kexec. The crash dump kernel must be compiled
|
|
to a memory address not used by the main kernel or firmware using
|
|
PHYSICAL_START.
|
|
|
|
config PHYSICAL_START
|
|
hex "Physical address where the kernel is loaded"
|
|
default "0xffffffff84000000" if 64BIT
|
|
default "0x84000000" if 32BIT
|
|
depends on CRASH_DUMP
|
|
help
|
|
This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
|
|
If you plan to use kernel for capturing the crash dump change
|
|
this value to start of the reserved region (the "X" value as
|
|
specified in the "crashkernel=YM@XM" command line boot parameter
|
|
passed to the panic-ed kernel).
|
|
|
|
config SECCOMP
|
|
bool "Enable seccomp to safely compute untrusted bytecode"
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
This kernel feature is useful for number crunching applications
|
|
that may need to compute untrusted bytecode during their
|
|
execution. By using pipes or other transports made available to
|
|
the process as file descriptors supporting the read/write
|
|
syscalls, it's possible to isolate those applications in
|
|
their own address space using seccomp. Once seccomp is
|
|
enabled via /proc/<pid>/seccomp, it cannot be disabled
|
|
and the task is only allowed to execute a few safe syscalls
|
|
defined by each seccomp mode.
|
|
|
|
If unsure, say Y. Only embedded should say N here.
|
|
|
|
config MIPS_O32_FP64_SUPPORT
|
|
bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
|
|
depends on 32BIT || MIPS32_O32
|
|
help
|
|
When this is enabled, the kernel will support use of 64-bit floating
|
|
point registers with binaries using the O32 ABI along with the
|
|
EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
|
|
32-bit MIPS systems this support is at the cost of increasing the
|
|
size and complexity of the compiled FPU emulator. Thus if you are
|
|
running a MIPS32 system and know that none of your userland binaries
|
|
will require 64-bit floating point, you may wish to reduce the size
|
|
of your kernel & potentially improve FP emulation performance by
|
|
saying N here.
|
|
|
|
Although binutils currently supports use of this flag the details
|
|
concerning its effect upon the O32 ABI in userland are still being
|
|
worked on. In order to avoid userland becoming dependant upon current
|
|
behaviour before the details have been finalised, this option should
|
|
be considered experimental and only enabled by those working upon
|
|
said details.
|
|
|
|
If unsure, say N.
|
|
|
|
config USE_OF
|
|
bool
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
select IRQ_DOMAIN
|
|
|
|
config BUILTIN_DTB
|
|
bool
|
|
|
|
endmenu
|
|
|
|
config LOCKDEP_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
|
|
|
|
config HW_HAS_EISA
|
|
bool
|
|
config HW_HAS_PCI
|
|
bool
|
|
|
|
config PCI
|
|
bool "Support for PCI controller"
|
|
depends on HW_HAS_PCI
|
|
select PCI_DOMAINS
|
|
select NO_GENERIC_PCI_IOPORT_MAP
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
|
|
say Y, otherwise N.
|
|
|
|
config HT_PCI
|
|
bool "Support for HT-linked PCI"
|
|
default y
|
|
depends on CPU_LOONGSON3
|
|
select PCI
|
|
select PCI_DOMAINS
|
|
help
|
|
Loongson family machines use Hyper-Transport bus for inter-core
|
|
connection and device connection. The PCI bus is a subordinate
|
|
linked at HT. Choose Y for Loongson-3 based machines.
|
|
|
|
config PCI_DOMAINS
|
|
bool
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pci/pcie/Kconfig"
|
|
|
|
#
|
|
# ISA support is now enabled via select. Too many systems still have the one
|
|
# or other ISA chip on the board that users don't know about so don't expect
|
|
# users to choose the right thing ...
|
|
#
|
|
config ISA
|
|
bool
|
|
|
|
config EISA
|
|
bool "EISA support"
|
|
depends on HW_HAS_EISA
|
|
select ISA
|
|
select GENERIC_ISA_DMA
|
|
---help---
|
|
The Extended Industry Standard Architecture (EISA) bus was
|
|
developed as an open alternative to the IBM MicroChannel bus.
|
|
|
|
The EISA bus provided some of the features of the IBM MicroChannel
|
|
bus while maintaining backward compatibility with cards made for
|
|
the older ISA bus. The EISA bus saw limited use between 1988 and
|
|
1995 when it was made obsolete by the PCI bus.
|
|
|
|
Say Y here if you are building a kernel for an EISA-based machine.
|
|
|
|
Otherwise, say N.
|
|
|
|
source "drivers/eisa/Kconfig"
|
|
|
|
config TC
|
|
bool "TURBOchannel support"
|
|
depends on MACH_DECSTATION
|
|
help
|
|
TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
|
|
processors. TURBOchannel programming specifications are available
|
|
at:
|
|
<ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
|
|
and:
|
|
<http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
|
|
Linux driver support status is documented at:
|
|
<http://www.linux-mips.org/wiki/DECstation>
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config I8253
|
|
bool
|
|
select CLKSRC_I8253
|
|
select CLKEVT_I8253
|
|
select MIPS_EXTERNAL_TIMER
|
|
|
|
config ZONE_DMA
|
|
bool
|
|
|
|
config ZONE_DMA32
|
|
bool
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
config RAPIDIO
|
|
tristate "RapidIO support"
|
|
depends on PCI
|
|
default n
|
|
help
|
|
If you say Y here, the kernel will include drivers and
|
|
infrastructure code to support RapidIO interconnect devices.
|
|
|
|
source "drivers/rapidio/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
config TRAD_SIGNALS
|
|
bool
|
|
|
|
config MIPS32_COMPAT
|
|
bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
|
|
depends on 64BIT
|
|
help
|
|
Select this option if you want Linux/MIPS 32-bit binary
|
|
compatibility. Since all software available for Linux/MIPS is
|
|
currently 32-bit you should say Y here.
|
|
|
|
config COMPAT
|
|
bool
|
|
depends on MIPS32_COMPAT
|
|
select ARCH_WANT_OLD_COMPAT_IPC
|
|
default y
|
|
|
|
config SYSVIPC_COMPAT
|
|
bool
|
|
depends on COMPAT && SYSVIPC
|
|
default y
|
|
|
|
config MIPS32_O32
|
|
bool "Kernel support for o32 binaries"
|
|
depends on MIPS32_COMPAT
|
|
help
|
|
Select this option if you want to run o32 binaries. These are pure
|
|
32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
|
|
existing binaries are in this format.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MIPS32_N32
|
|
bool "Kernel support for n32 binaries"
|
|
depends on MIPS32_COMPAT
|
|
help
|
|
Select this option if you want to run n32 binaries. These are
|
|
64-bit binaries using 32-bit quantities for addressing and certain
|
|
data that would normally be 64-bit. They are used in special
|
|
cases.
|
|
|
|
If unsure, say N.
|
|
|
|
config BINFMT_ELF32
|
|
bool
|
|
default y if MIPS32_O32 || MIPS32_N32
|
|
|
|
endmenu
|
|
|
|
menu "Power management options"
|
|
|
|
config ARCH_HIBERNATION_POSSIBLE
|
|
def_bool y
|
|
depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool y
|
|
depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
|
|
|
|
source "kernel/power/Kconfig"
|
|
|
|
endmenu
|
|
|
|
config MIPS_EXTERNAL_TIMER
|
|
bool
|
|
|
|
menu "CPU Power Management"
|
|
|
|
if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
|
|
source "drivers/cpufreq/Kconfig"
|
|
endif
|
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "drivers/firmware/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/mips/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
source "arch/mips/kvm/Kconfig"
|