12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218 |
- # SPDX-License-Identifier: GPL-2.0
- config MIPS
- bool
- default y
- select ARCH_BINFMT_ELF_STATE
- select ARCH_CLOCKSOURCE_DATA
- select ARCH_DISCARD_MEMBLOCK
- select ARCH_HAS_ELF_RANDOMIZE
- select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
- select ARCH_SUPPORTS_UPROBES
- select ARCH_USE_BUILTIN_BSWAP
- select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
- select ARCH_USE_QUEUED_RWLOCKS
- select ARCH_USE_QUEUED_SPINLOCKS
- select ARCH_WANT_IPC_PARSE_VERSION
- select BUILDTIME_EXTABLE_SORT
- select CLONE_BACKWARDS
- select CPU_PM if CPU_IDLE
- select DMA_DIRECT_OPS
- select GENERIC_ATOMIC64 if !64BIT
- select GENERIC_CLOCKEVENTS
- select GENERIC_CMOS_UPDATE
- select GENERIC_CPU_AUTOPROBE
- select GENERIC_IRQ_PROBE
- select GENERIC_IRQ_SHOW
- select GENERIC_LIB_ASHLDI3
- select GENERIC_LIB_ASHRDI3
- select GENERIC_LIB_CMPDI2
- select GENERIC_LIB_LSHRDI3
- select GENERIC_LIB_UCMPDI2
- select GENERIC_PCI_IOMAP
- select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
- select GENERIC_SMP_IDLE_THREAD
- select GENERIC_TIME_VSYSCALL
- select HANDLE_DOMAIN_IRQ
- select HAVE_ARCH_COMPILER_H
- select HAVE_ARCH_JUMP_LABEL
- select HAVE_ARCH_KGDB
- select HAVE_ARCH_MMAP_RND_BITS if MMU
- select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
- select HAVE_ARCH_SECCOMP_FILTER
- select HAVE_ARCH_TRACEHOOK
- select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
- select HAVE_CBPF_JIT if (!64BIT && !CPU_MICROMIPS)
- select HAVE_EBPF_JIT if (64BIT && !CPU_MICROMIPS)
- select HAVE_CONTEXT_TRACKING
- select HAVE_COPY_THREAD_TLS
- select HAVE_C_RECORDMCOUNT
- select HAVE_DEBUG_KMEMLEAK
- select HAVE_DEBUG_STACKOVERFLOW
- select HAVE_DMA_CONTIGUOUS
- select HAVE_DYNAMIC_FTRACE
- select HAVE_EXIT_THREAD
- select HAVE_FTRACE_MCOUNT_RECORD
- select HAVE_FUNCTION_GRAPH_TRACER
- select HAVE_FUNCTION_TRACER
- select HAVE_GENERIC_DMA_COHERENT
- select HAVE_IDE
- select HAVE_IRQ_EXIT_ON_IRQ_STACK
- select HAVE_IRQ_TIME_ACCOUNTING
- select HAVE_KPROBES
- select HAVE_KRETPROBES
- select HAVE_MEMBLOCK
- select HAVE_MEMBLOCK_NODE_MAP
- select HAVE_MOD_ARCH_SPECIFIC
- select HAVE_NMI
- select HAVE_OPROFILE
- select HAVE_PERF_EVENTS
- select HAVE_REGS_AND_STACK_ACCESS_API
- select HAVE_RSEQ
- select HAVE_STACKPROTECTOR
- select HAVE_SYSCALL_TRACEPOINTS
- select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
- select IRQ_FORCED_THREADING
- select MODULES_USE_ELF_RELA if MODULES && 64BIT
- select MODULES_USE_ELF_REL if MODULES
- select PERF_USE_VMALLOC
- select RTC_LIB if !MACH_LOONGSON64
- select SYSCTL_EXCEPTION_TRACE
- select VIRT_TO_BUS
- menu "Machine selection"
- choice
- prompt "System type"
- default MIPS_GENERIC
- config MIPS_GENERIC
- bool "Generic board-agnostic MIPS kernel"
- select BOOT_RAW
- select BUILTIN_DTB
- select CEVT_R4K
- select CLKSRC_MIPS_GIC
- select COMMON_CLK
- select CPU_MIPSR2_IRQ_VI
- select CPU_MIPSR2_IRQ_EI
- select CSRC_R4K
- select DMA_PERDEV_COHERENT
- select HW_HAS_PCI
- select IRQ_MIPS_CPU
- select LIBFDT
- select MIPS_AUTO_PFN_OFFSET
- select MIPS_CPU_SCACHE
- select MIPS_GIC
- select MIPS_L1_CACHE_SHIFT_7
- select NO_EXCEPT_FILL
- select PCI_DRIVERS_GENERIC
- select PINCTRL
- select SMP_UP if SMP
- select SWAP_IO_SPACE
- select SYS_HAS_CPU_MIPS32_R1
- select SYS_HAS_CPU_MIPS32_R2
- select SYS_HAS_CPU_MIPS32_R6
- select SYS_HAS_CPU_MIPS64_R1
- select SYS_HAS_CPU_MIPS64_R2
- select SYS_HAS_CPU_MIPS64_R6
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_HIGHMEM
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_MICROMIPS
- select SYS_SUPPORTS_MIPS_CPS
- select SYS_SUPPORTS_MIPS16
- select SYS_SUPPORTS_MULTITHREADING
- select SYS_SUPPORTS_RELOCATABLE
- select SYS_SUPPORTS_SMARTMIPS
- select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
- select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
- select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select USB_UHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
- select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select USE_OF
- help
- Select this to build a kernel which aims to support multiple boards,
- generally using a flattened device tree passed from the bootloader
- using the boot protocol defined in the UHI (Unified Hosting
- Interface) specification.
- config MIPS_ALCHEMY
- bool "Alchemy processor based machines"
- select PHYS_ADDR_T_64BIT
- select CEVT_R4K
- select CSRC_R4K
- select IRQ_MIPS_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 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_MIPS_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 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_MIPS_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_HAS_RESET_CONTROLLER
- select BOOT_RAW
- select CEVT_R4K
- select CSRC_R4K
- select DMA_NONCOHERENT
- select GPIOLIB
- select PINCTRL
- select HAVE_CLK
- select COMMON_CLK
- select CLKDEV_LOOKUP
- select IRQ_MIPS_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
- select SYS_SUPPORTS_ZBOOT_UART_PROM
- select USE_OF
- select USB_EHCI_ROOT_HUB_TT if USB_EHCI_HCD_PLATFORM
- help
- Support for the Atheros AR71XX/AR724X/AR913X SoCs.
- config BMIPS_GENERIC
- bool "Broadcom Generic BMIPS kernel"
- select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
- select ARCH_HAS_PHYS_TO_DMA
- select BOOT_RAW
- select NO_EXCEPT_FILL
- select USE_OF
- select CEVT_R4K
- select CSRC_R4K
- select SYNC_R4K
- select COMMON_CLK
- select BCM6345_L1_IRQ
- select BCM7038_L1_IRQ
- select BCM7120_L2_IRQ
- select BRCMSTB_L2_IRQ
- select IRQ_MIPS_CPU
- select DMA_NONCOHERENT
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_HIGHMEM
- select SYS_HAS_CPU_BMIPS32_3300
- select SYS_HAS_CPU_BMIPS4350
- select SYS_HAS_CPU_BMIPS4380
- select SYS_HAS_CPU_BMIPS5000
- select SWAP_IO_SPACE
- select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
- select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
- select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select HARDIRQS_SW_RESEND
- help
- Build a generic DT-based kernel image that boots on select
- BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
- box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
- must be set appropriately for your board.
- config BCM47XX
- bool "Broadcom BCM47XX based boards"
- select BOOT_RAW
- select CEVT_R4K
- select CSRC_R4K
- select DMA_NONCOHERENT
- select HW_HAS_PCI
- select IRQ_MIPS_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_SUPPORTS_ZBOOT
- select SYS_HAS_EARLY_PRINTK
- select USE_GENERIC_EARLY_PRINTK_8250
- select GPIOLIB
- select LEDS_GPIO_REGISTER
- select BCM47XX_NVRAM
- select BCM47XX_SPROM
- select BCM47XX_SSB if !BCM47XX_BCMA
- 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_MIPS_CPU
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_HAS_EARLY_PRINTK
- select SWAP_IO_SPACE
- select GPIOLIB
- select HAVE_CLK
- select MIPS_L1_CACHE_SHIFT_4
- select CLKDEV_LOOKUP
- 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_MIPS_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_MIPS_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 ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- 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_MIPS_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_INGENIC
- bool "Ingenic SoC based machines"
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_ZBOOT_UART16550
- select DMA_NONCOHERENT
- select IRQ_MIPS_CPU
- select PINCTRL
- select GPIOLIB
- select COMMON_CLK
- select GENERIC_IRQ_CHIP
- select BUILTIN_DTB
- select USE_OF
- select LIBFDT
- config LANTIQ
- bool "Lantiq based platforms"
- select DMA_NONCOHERENT
- select IRQ_MIPS_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_SUPPORTS_VPE_LOADER
- select SYS_HAS_EARLY_PRINTK
- select GPIOLIB
- select SWAP_IO_SPACE
- select BOOT_RAW
- 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_MIPS_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_LOONGSON32
- bool "Loongson-1 family of machines"
- select SYS_SUPPORTS_ZBOOT
- help
- This enables support for the Loongson-1 family of machines.
- Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by
- the Institute of Computing Technology (ICT), Chinese Academy of
- Sciences (CAS).
- config MACH_LOONGSON64
- bool "Loongson-2/3 family of machines"
- select SYS_SUPPORTS_ZBOOT
- help
- This enables the support of Loongson-2/3 family of machines.
- Loongson-2 is a family of single-core CPUs and Loongson-3 is a
- family of multi-core CPUs. They are both 64-bit general-purpose
- MIPS-compatible CPUs. Loongson-2/3 are developed by the 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_PISTACHIO
- bool "IMG Pistachio SoC based boards"
- select BOOT_ELF32
- select BOOT_RAW
- select CEVT_R4K
- select CLKSRC_MIPS_GIC
- select COMMON_CLK
- select CSRC_R4K
- select DMA_NONCOHERENT
- select GPIOLIB
- select IRQ_MIPS_CPU
- select LIBFDT
- select MFD_SYSCON
- select MIPS_CPU_SCACHE
- select MIPS_GIC
- select PINCTRL
- select REGULATOR
- select SYS_HAS_CPU_MIPS32_R2
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_MIPS_CPS
- select SYS_SUPPORTS_MULTITHREADING
- select SYS_SUPPORTS_RELOCATABLE
- select SYS_SUPPORTS_ZBOOT
- select SYS_HAS_EARLY_PRINTK
- select USE_GENERIC_EARLY_PRINTK_8250
- select USE_OF
- help
- This enables support for the IMG Pistachio SoC platform.
- config MIPS_MALTA
- bool "MIPS Malta board"
- select ARCH_MAY_HAVE_PC_FDC
- select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- select BOOT_ELF32
- select BOOT_RAW
- select BUILTIN_DTB
- select CEVT_R4K
- select CSRC_R4K
- select CLKSRC_MIPS_GIC
- select COMMON_CLK
- select DMA_MAYBE_COHERENT
- select GENERIC_ISA_DMA
- select HAVE_PCSPKR_PLATFORM
- select IRQ_MIPS_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 SMP_UP if SMP
- 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_MIPS32_R5
- select SYS_HAS_CPU_MIPS32_R6
- select SYS_HAS_CPU_MIPS64_R1
- select SYS_HAS_CPU_MIPS64_R2
- select SYS_HAS_CPU_MIPS64_R6
- 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_HIGHMEM
- 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_VPE_LOADER
- select SYS_SUPPORTS_ZBOOT
- select SYS_SUPPORTS_RELOCATABLE
- select USE_OF
- select LIBFDT
- select ZONE_DMA32 if 64BIT
- select BUILTIN_DTB
- select LIBFDT
- help
- This enables support for the MIPS Technologies Malta evaluation
- board.
- config MACH_PIC32
- bool "Microchip PIC32 Family"
- help
- This enables support for the Microchip PIC32 family of platforms.
- Microchip PIC32 is a family of general-purpose 32 bit MIPS core
- microcontrollers.
- 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 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_MIPS_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_MIPS_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 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 ARCH_MIGHT_HAVE_PC_SERIO
- 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_MIPS_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 ARCH_HAS_PHYS_TO_DMA
- select FW_ARC
- select FW_ARC64
- select BOOT_ELF64
- select DEFAULT_SGI_PARTITION
- 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 ARCH_MIGHT_HAVE_PC_SERIO
- select BOOT_ELF64
- select CEVT_R4K
- select CSRC_R4K
- select DEFAULT_SGI_PARTITION
- select DMA_NONCOHERENT
- select GENERIC_ISA_DMA_SUPPORT_BROKEN
- select IRQ_MIPS_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 ARCH_HAS_PHYS_TO_DMA
- select FW_ARC
- select FW_ARC32
- select BOOT_ELF32
- select CEVT_R4K
- select CSRC_R4K
- select DMA_NONCOHERENT
- select HW_HAS_PCI
- select IRQ_MIPS_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 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 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 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 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 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
- select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
- config SIBYTE_LITTLESUR
- bool "Sibyte BCM91250C2-LittleSur"
- select BOOT_ELF32
- 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_SENTOSA
- bool "Sibyte BCM91250E-Sentosa"
- select BOOT_ELF32
- select SIBYTE_SB1250
- select SWAP_IO_SPACE
- select SYS_HAS_CPU_SB1
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
- config SIBYTE_BIGSUR
- bool "Sibyte BCM91480B-BigSur"
- select BOOT_ELF32
- 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
- select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
- 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 ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- 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_MIPS_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_MIPS_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 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_HAS_PHYS_TO_DMA
- select HAS_RAPIDIO
- select PHYS_ADDR_T_64BIT
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select EDAC_SUPPORT
- select EDAC_ATOMIC_SCRUB
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
- select SYS_HAS_EARLY_PRINTK
- select SYS_HAS_CPU_CAVIUM_OCTEON
- select HW_HAS_PCI
- select ZONE_DMA32
- select HOLES_IN_ZONE
- select GPIOLIB
- select LIBFDT
- select USE_OF
- select ARCH_SPARSEMEM_ENABLE
- select SYS_SUPPORTS_SMP
- select NR_CPUS_DEFAULT_64
- select MIPS_NR_CPU_NR_MAP_1024
- select BUILTIN_DTB
- select MTD_COMPLEX_MAPPINGS
- select SWIOTLB
- select SYS_SUPPORTS_RELOCATABLE
- 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 PHYS_ADDR_T_64BIT
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_HIGHMEM
- select NR_CPUS_DEFAULT_32
- select CEVT_R4K
- select CSRC_R4K
- select IRQ_MIPS_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 PHYS_ADDR_T_64BIT
- select GPIOLIB
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_HIGHMEM
- select NR_CPUS_DEFAULT_32
- select CEVT_R4K
- select CSRC_R4K
- select IRQ_MIPS_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 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/bmips/Kconfig"
- source "arch/mips/generic/Kconfig"
- source "arch/mips/jazz/Kconfig"
- source "arch/mips/jz4740/Kconfig"
- source "arch/mips/lantiq/Kconfig"
- source "arch/mips/lasat/Kconfig"
- source "arch/mips/pic32/Kconfig"
- source "arch/mips/pistachio/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/loongson32/Kconfig"
- source "arch/mips/loongson64/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 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 MIPS_CLOCK_VSYSCALL
- def_bool CSRC_R4K || CLKSRC_MIPS_GIC
- config GPIO_TXX9
- select GPIOLIB
- bool
- config FW_CFE
- bool
- config ARCH_SUPPORTS_UPROBES
- bool
- config DMA_MAYBE_COHERENT
- select DMA_NONCOHERENT
- bool
- config DMA_PERDEV_COHERENT
- bool
- select DMA_MAYBE_COHERENT
- config DMA_NONCOHERENT
- bool
- select ARCH_HAS_SYNC_DMA_FOR_DEVICE
- select ARCH_HAS_SYNC_DMA_FOR_CPU
- select NEED_DMA_MAP_STATE
- select DMA_NONCOHERENT_MMAP
- select DMA_NONCOHERENT_CACHE_SYNC
- select DMA_NONCOHERENT_OPS
- config SYS_HAS_EARLY_PRINTK
- bool
- config SYS_SUPPORTS_HOTPLUG_CPU
- bool
- 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_CSUM
- bool
- 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
- config SYS_SUPPORTS_RELOCATABLE
- bool
- help
- Selected if the platform supports relocating the kernel.
- The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
- to allow access to command line and entropy sources.
- config MIPS_CBPF_JIT
- def_bool y
- depends on BPF_JIT && HAVE_CBPF_JIT
- config MIPS_EBPF_JIT
- def_bool y
- depends on BPF_JIT && HAVE_EBPF_JIT
- #
- # 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_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_MIPS_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_MIPS_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 MIPS_SPRAM
- bool
- 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 "7" if MIPS_L1_CACHE_SHIFT_7
- default "6" if MIPS_L1_CACHE_SHIFT_6
- default "5" if MIPS_L1_CACHE_SHIFT_5
- default "4" if MIPS_L1_CACHE_SHIFT_4
- 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 ARCH_HAS_PHYS_TO_DMA
- select CPU_SUPPORTS_64BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_HUGEPAGES
- select WEAK_ORDERING
- select WEAK_REORDERING_BEYOND_LLSC
- select MIPS_PGD_C0_CONTEXT
- select MIPS_L1_CACHE_SHIFT_6
- select GPIOLIB
- select SWIOTLB
- help
- The Loongson 3 processor implements the MIPS64R2 instruction
- set with many extensions.
- config LOONGSON3_ENHANCEMENT
- bool "New Loongson 3 CPU Enhancements"
- default n
- select CPU_MIPSR2
- select CPU_HAS_PREFETCH
- depends on CPU_LOONGSON3
- help
- New Loongson 3 CPU (since Loongson-3A R2, as opposed to Loongson-3A
- R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as
- FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPv2 ASE, User
- Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer),
- Fast TLB refill support, etc.
- This option enable those enhancements which are not probed at run
- time. If you want a generic kernel to run on all Loongson 3 machines,
- please say 'N' here. If you want a high-performance kernel to run on
- new Loongson 3 machines only, please say 'Y' here.
- config CPU_LOONGSON3_WORKAROUNDS
- bool "Old Loongson 3 LLSC Workarounds"
- default y if SMP
- depends on CPU_LOONGSON3
- help
- Loongson 3 processors have the llsc issues which require workarounds.
- Without workarounds the system may hang unexpectedly.
- Newer Loongson 3 will fix 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 old systems.
- If unsure, please say Y.
- 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 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
- select LEDS_GPIO_REGISTER
- help
- The Loongson 1B is a 32-bit SoC, which implements the MIPS32
- Release 1 instruction set and part of the MIPS32 Release 2
- instruction set.
- config CPU_LOONGSON1C
- bool "Loongson 1C"
- depends on SYS_HAS_CPU_LOONGSON1C
- select CPU_LOONGSON1
- select LEDS_GPIO_REGISTER
- help
- The Loongson 1C is a 32-bit SoC, which implements the MIPS32
- Release 1 instruction set and part of 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_MIPS32_R6
- bool "MIPS32 Release 6"
- depends on SYS_HAS_CPU_MIPS32_R6
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_MSA
- select GENERIC_CSUM
- select HAVE_KVM
- select MIPS_O32_FP64_SUPPORT
- help
- Choose this option to build a kernel for release 6 or later of the
- MIPS32 architecture. New MIPS processors, starting with the Warrior
- family, are based on a MIPS32r6 processor. If you own an older
- processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
- 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
- select HAVE_KVM
- 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_MIPS64_R6
- bool "MIPS64 Release 6"
- depends on SYS_HAS_CPU_MIPS64_R6
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_64BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_MSA
- select GENERIC_CSUM
- select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
- select HAVE_KVM
- help
- Choose this option to build a kernel for release 6 or later of the
- MIPS64 architecture. New MIPS processors, starting with the Warrior
- family, are based on a MIPS64r6 processor. If you own an older
- processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
- 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_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 if CPU_BIG_ENDIAN
- select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
- select MIPS_L1_CACHE_SHIFT_7
- select HAVE_KVM
- 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_MIPS_CPU
- select SWAP_IO_SPACE
- select WEAK_ORDERING
- select CPU_SUPPORTS_HIGHMEM
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_CPUFREQ
- select MIPS_EXTERNAL_TIMER
- 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
- select CPU_SUPPORTS_HUGEPAGES
- select MIPS_ASID_BITS_VARIABLE
- 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 || CPU_MIPS32_R6
- 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.
- config CPU_MIPS32_R5_FEATURES
- bool "MIPS32 Release 5 Features"
- depends on SYS_HAS_CPU_MIPS32_R5
- 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 release 5 such as
- support for Extended Physical Addressing (XPA).
- config CPU_MIPS32_R5_XPA
- bool "Extended Physical Addressing (XPA)"
- depends on CPU_MIPS32_R5_FEATURES
- depends on !EVA
- depends on !PAGE_SIZE_4KB
- depends on SYS_SUPPORTS_HIGHMEM
- select XPA
- select HIGHMEM
- select PHYS_ADDR_T_64BIT
- default n
- help
- Choose this option if you want to enable the Extended Physical
- Addressing (XPA) on your MIPS32 core (such as P5600 series). The
- benefit is to increase physical addressing equal to or greater
- than 40 bits. Note that this has the side effect of turning on
- 64-bit addressing which in turn makes the PTEs 64-bit in size.
- 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 SYS_SUPPORTS_ZBOOT_UART_PROM
- 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
- select ARCH_HAS_PHYS_TO_DMA
- config CPU_LOONGSON1
- bool
- select CPU_MIPS32
- select CPU_MIPSR1
- 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
- select CPU_HAS_RIXI
- config CPU_BMIPS5000
- bool
- select MIPS_CPU_SCACHE
- select MIPS_L1_CACHE_SHIFT_7
- select SYS_SUPPORTS_SMP
- select SYS_SUPPORTS_HOTPLUG_CPU
- select CPU_HAS_RIXI
- config SYS_HAS_CPU_LOONGSON3
- bool
- select CPU_SUPPORTS_CPUFREQ
- select CPU_HAS_RIXI
- 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_LOONGSON1C
- 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_MIPS32_R5
- bool
- config SYS_HAS_CPU_MIPS32_R6
- bool
- config SYS_HAS_CPU_MIPS64_R1
- bool
- config SYS_HAS_CPU_MIPS64_R2
- bool
- config SYS_HAS_CPU_MIPS64_R6
- 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_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
- #
- # 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 || CPU_MIPS32_R6
- config CPU_MIPS64
- bool
- default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
- #
- # 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
- select CPU_HAS_RIXI
- select MIPS_SPRAM
- config CPU_MIPSR6
- bool
- default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
- select CPU_HAS_RIXI
- select HAVE_ARCH_BITREVERSE
- select MIPS_ASID_BITS_VARIABLE
- select MIPS_CRC_SUPPORT
- select MIPS_SPRAM
- config EVA
- bool
- config XPA
- 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_MIPSR6) && !CPU_XLP
- #
- # Set to y for ptrace access to watch registers.
- #
- config HARDWARE_WATCHPOINTS
- bool
- default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6
- 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.
- config MIPS_VA_BITS_48
- bool "48 bits virtual memory"
- depends on 64BIT
- help
- Support a maximum at least 48 bits of application virtual
- memory. Default is 40 bits or less, depending on the CPU.
- For page sizes 16k and above, this option results in a small
- memory overhead for page tables. For 4k page size, a fourth
- level of page tables is added which imposes both a memory
- overhead as well as slower TLB fault handling.
- If unsure, say N.
- 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
- depends on !MIPS_VA_BITS_48
- 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
- depends on !MIPS_VA_BITS_48
- 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_R8000 || CPU_TX39XX)
- config CPU_R4K_FPU
- bool
- default y if !(CPU_R3000 || CPU_TX39XX)
- 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)"
- default y
- depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS
- select CPU_MIPSR2_IRQ_VI
- select CPU_MIPSR2_IRQ_EI
- select SYNC_R4K
- 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 MIPSR2_TO_R6_EMULATOR
- bool "MIPS R2-to-R6 emulator"
- depends on CPU_MIPSR6
- default y
- help
- Choose this option if you want to run non-R6 MIPS userland code.
- Even if you say 'Y' here, the emulator will still be disabled by
- default. You can enable it using the 'mipsr2emu' kernel option.
- The only reason this is a build-time option is to save ~14K from the
- final kernel image.
- config SYS_SUPPORTS_VPE_LOADER
- bool
- depends on SYS_SUPPORTS_MULTITHREADING
- help
- Indicates that the platform supports the VPE loader, and provides
- physical_memsize.
- config MIPS_VPE_LOADER
- bool "VPE loader support."
- depends on SYS_SUPPORTS_VPE_LOADER && 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
- 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 && !CPU_MIPSR6
- 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_CPS_PM if HOTPLUG_CPU
- select SMP
- select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
- select SYS_SUPPORTS_HOTPLUG_CPU
- select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
- 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
- bool
- config MIPS_CM
- bool
- select MIPS_CPC
- config MIPS_CPC
- bool
- 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
- 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 && !CPU_MIPSR6
- 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"
- 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
- config CPU_HAS_RIXI
- 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
- config MIPS_ASID_SHIFT
- int
- default 6 if CPU_R3000 || CPU_TX39XX
- default 4 if CPU_R8000
- default 0
- config MIPS_ASID_BITS
- int
- default 0 if MIPS_ASID_BITS_VARIABLE
- default 6 if CPU_R3000 || CPU_TX39XX
- default 8
- config MIPS_ASID_BITS_VARIABLE
- bool
- config MIPS_CRC_SUPPORT
- 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.rst> 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 RELOCATABLE
- bool "Relocatable kernel"
- depends on SYS_SUPPORTS_RELOCATABLE && (CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_MIPS32_R6 || CPU_MIPS64_R6 || CAVIUM_OCTEON_SOC)
- help
- This builds a kernel image that retains relocation information
- so it can be loaded someplace besides the default 1MB.
- The relocations make the kernel binary about 15% larger,
- but are discarded at runtime
- config RELOCATION_TABLE_SIZE
- hex "Relocation table size"
- depends on RELOCATABLE
- range 0x0 0x01000000
- default "0x00100000"
- ---help---
- A table of relocation data will be appended to the kernel binary
- and parsed at boot to fix up the relocated kernel.
- This option allows the amount of space reserved for the table to be
- adjusted, although the default of 1Mb should be ok in most cases.
- The build will fail and a valid size suggested if this is too small.
- If unsure, leave at the default value.
- config RANDOMIZE_BASE
- bool "Randomize the address of the kernel image"
- depends on RELOCATABLE
- ---help---
- Randomizes the physical and virtual address at which the
- kernel image is loaded, as a security feature that
- deters exploit attempts relying on knowledge of the location
- of kernel internals.
- Entropy is generated using any coprocessor 0 registers available.
- The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET.
- If unsure, say N.
- config RANDOMIZE_BASE_MAX_OFFSET
- hex "Maximum kASLR offset" if EXPERT
- depends on RANDOMIZE_BASE
- range 0x0 0x40000000 if EVA || 64BIT
- range 0x0 0x08000000
- default "0x01000000"
- ---help---
- When kASLR is active, this provides the maximum offset that will
- be applied to the kernel image. It should be set according to the
- amount of physical RAM available in the target system minus
- PHYSICAL_START and must be a power of 2.
- This is limited by the size of KSEG0, 256Mb on 32-bit or 1Gb with
- EVA or 64-bit. The default is 16Mb.
- 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 && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
- default y
- help
- Enable hardware performance counter support for perf events. If
- disabled, perf events will use software events only.
- 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 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 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
- config MIPS_NR_CPU_NR_MAP_1024
- bool
- config MIPS_NR_CPU_NR_MAP
- int
- depends on SMP
- default 1024 if MIPS_NR_CPU_NR_MAP_1024
- default NR_CPUS if !MIPS_NR_CPU_NR_MAP_1024
- #
- # Timer Interrupt Frequency Configuration
- #
- choice
- prompt "Timer frequency"
- default HZ_250
- help
- Allows the configuration of the timer frequency.
- config HZ_24
- bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ
- 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_24HZ
- bool
- 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_24HZ && \
- !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 24 if HZ_24
- 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
- config SCHED_HRTICK
- def_bool HIGH_RES_TIMERS
- config KEXEC
- bool "Kexec system call"
- select KEXEC_CORE
- 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"
- 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"
- 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
- choice
- prompt "Kernel appended dtb support" if USE_OF
- default MIPS_NO_APPENDED_DTB
- config MIPS_NO_APPENDED_DTB
- bool "None"
- help
- Do not enable appended dtb support.
- config MIPS_ELF_APPENDED_DTB
- bool "vmlinux"
- help
- With this option, the boot code will look for a device tree binary
- DTB) included in the vmlinux ELF section .appended_dtb. By default
- it is empty and the DTB can be appended using binutils command
- objcopy:
- objcopy --update-section .appended_dtb=<filename>.dtb vmlinux
- This is meant as a backward compatiblity convenience for those
- systems with a bootloader that can't be upgraded to accommodate
- the documented boot protocol using a device tree.
- config MIPS_RAW_APPENDED_DTB
- bool "vmlinux.bin or vmlinuz.bin"
- help
- With this option, the boot code will look for a device tree binary
- DTB) appended to raw vmlinux.bin or vmlinuz.bin.
- (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
- This is meant as a backward compatibility convenience for those
- systems with a bootloader that can't be upgraded to accommodate
- the documented boot protocol using a device tree.
- Beware that there is very little in terms of protection against
- this option being confused by leftover garbage in memory that might
- look like a DTB header after a reboot if no actual DTB is appended
- to vmlinux.bin. Do not leave this option active in a production kernel
- if you don't intend to always append a DTB.
- endchoice
- choice
- prompt "Kernel command line type" if !CMDLINE_OVERRIDE
- default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \
- !MIPS_MALTA && \
- !CAVIUM_OCTEON_SOC
- default MIPS_CMDLINE_FROM_BOOTLOADER
- config MIPS_CMDLINE_FROM_DTB
- depends on USE_OF
- bool "Dtb kernel arguments if available"
- config MIPS_CMDLINE_DTB_EXTEND
- depends on USE_OF
- bool "Extend dtb kernel arguments with bootloader arguments"
- config MIPS_CMDLINE_FROM_BOOTLOADER
- bool "Bootloader kernel arguments if available"
- config MIPS_CMDLINE_BUILTIN_EXTEND
- depends on CMDLINE_BOOL
- bool "Extend builtin kernel arguments with bootloader arguments"
- endchoice
- endmenu
- config LOCKDEP_SUPPORT
- bool
- default y
- config STACKTRACE_SUPPORT
- bool
- default y
- config HAVE_LATENCYTOP_SUPPORT
- bool
- default y
- config PGTABLE_LEVELS
- int
- default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48
- default 3 if 64BIT && !PAGE_SIZE_64KB
- default 2
- config MIPS_AUTO_PFN_OFFSET
- bool
- 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
- 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
- config PCI_DOMAINS_GENERIC
- bool
- config PCI_DRIVERS_GENERIC
- select PCI_DOMAINS_GENERIC if PCI_DOMAINS
- bool
- config PCI_DRIVERS_LEGACY
- def_bool !PCI_DRIVERS_GENERIC
- select NO_GENERIC_PCI_IOPORT_MAP
- source "drivers/pci/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 ARCH_MMAP_RND_BITS_MIN
- default 12 if 64BIT
- default 8
- config ARCH_MMAP_RND_BITS_MAX
- default 18 if 64BIT
- default 15
- config ARCH_MMAP_RND_COMPAT_BITS_MIN
- default 8
- config ARCH_MMAP_RND_COMPAT_BITS_MAX
- default 15
- 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"
- config HAS_RAPIDIO
- bool
- default n
- config RAPIDIO
- tristate "RapidIO support"
- depends on HAS_RAPIDIO || PCI
- help
- If you say Y here, the kernel will include drivers and
- infrastructure code to support RapidIO interconnect devices.
- source "drivers/rapidio/Kconfig"
- endmenu
- config TRAD_SIGNALS
- bool
- config MIPS32_COMPAT
- bool
- config COMPAT
- bool
- config SYSVIPC_COMPAT
- bool
- config MIPS32_O32
- bool "Kernel support for o32 binaries"
- depends on 64BIT
- select ARCH_WANT_OLD_COMPAT_IPC
- select COMPAT
- select MIPS32_COMPAT
- select SYSVIPC_COMPAT if SYSVIPC
- 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 64BIT
- select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
- select COMPAT
- select MIPS32_COMPAT
- select SYSVIPC_COMPAT if SYSVIPC
- 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
- select ELFCORE
- 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 "drivers/firmware/Kconfig"
- source "arch/mips/kvm/Kconfig"
|