1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241 |
- # SPDX-License-Identifier: GPL-2.0
- config MIPS
- bool
- default y
- select ARCH_32BIT_OFF_T if !64BIT
- select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT
- select ARCH_HAS_CPU_FINALIZE_INIT
- select ARCH_HAS_CURRENT_STACK_POINTER if !CC_IS_CLANG || CLANG_VERSION >= 140000
- select ARCH_HAS_DEBUG_VIRTUAL if !64BIT
- select ARCH_HAS_FORTIFY_SOURCE
- select ARCH_HAS_KCOV
- select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA
- select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI)
- select ARCH_HAS_STRNCPY_FROM_USER
- select ARCH_HAS_STRNLEN_USER
- select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
- select ARCH_HAS_UBSAN_SANITIZE_ALL
- select ARCH_HAS_GCOV_PROFILE_ALL
- select ARCH_KEEP_MEMBLOCK
- select ARCH_SUPPORTS_UPROBES
- select ARCH_USE_BUILTIN_BSWAP
- select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
- select ARCH_USE_MEMTEST
- select ARCH_USE_QUEUED_RWLOCKS
- select ARCH_USE_QUEUED_SPINLOCKS
- select ARCH_SUPPORTS_HUGETLBFS if CPU_SUPPORTS_HUGEPAGES
- select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
- select ARCH_WANT_IPC_PARSE_VERSION
- select ARCH_WANT_LD_ORPHAN_WARN
- select BUILDTIME_TABLE_SORT
- select CLONE_BACKWARDS
- select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1)
- select CPU_PM if CPU_IDLE
- select GENERIC_ATOMIC64 if !64BIT
- select GENERIC_CMOS_UPDATE
- select GENERIC_CPU_AUTOPROBE
- select GENERIC_GETTIMEOFDAY
- select GENERIC_IOMAP
- select GENERIC_IRQ_PROBE
- select GENERIC_IRQ_SHOW
- select GENERIC_ISA_DMA if EISA
- select GENERIC_LIB_ASHLDI3
- select GENERIC_LIB_ASHRDI3
- select GENERIC_LIB_CMPDI2
- select GENERIC_LIB_LSHRDI3
- select GENERIC_LIB_UCMPDI2
- select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
- select GENERIC_SMP_IDLE_THREAD
- select GENERIC_TIME_VSYSCALL
- select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT
- select HAVE_ARCH_COMPILER_H
- select HAVE_ARCH_JUMP_LABEL
- select HAVE_ARCH_KGDB if MIPS_FP_SUPPORT
- 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
- select HAVE_ASM_MODVERSIONS
- select HAVE_CONTEXT_TRACKING_USER
- select HAVE_TIF_NOHZ
- select HAVE_C_RECORDMCOUNT
- select HAVE_DEBUG_KMEMLEAK
- select HAVE_DEBUG_STACKOVERFLOW
- select HAVE_DMA_CONTIGUOUS
- select HAVE_DYNAMIC_FTRACE
- select HAVE_EBPF_JIT if !CPU_MICROMIPS && \
- !CPU_DADDI_WORKAROUNDS && \
- !CPU_R4000_WORKAROUNDS && \
- !CPU_R4400_WORKAROUNDS
- select HAVE_EXIT_THREAD
- select HAVE_FAST_GUP
- select HAVE_FTRACE_MCOUNT_RECORD
- select HAVE_FUNCTION_GRAPH_TRACER
- select HAVE_FUNCTION_TRACER
- select HAVE_GCC_PLUGINS
- select HAVE_GENERIC_VDSO
- select HAVE_IOREMAP_PROT
- select HAVE_IRQ_EXIT_ON_IRQ_STACK
- select HAVE_IRQ_TIME_ACCOUNTING
- select HAVE_KPROBES
- select HAVE_KRETPROBES
- select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
- select HAVE_MOD_ARCH_SPECIFIC
- select HAVE_NMI
- select HAVE_PERF_EVENTS
- select HAVE_PERF_REGS
- select HAVE_PERF_USER_STACK_DUMP
- select HAVE_REGS_AND_STACK_ACCESS_API
- select HAVE_RSEQ
- select HAVE_SPARSE_SYSCALL_NR
- select HAVE_STACKPROTECTOR
- select HAVE_SYSCALL_TRACEPOINTS
- select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
- select IRQ_FORCED_THREADING
- select ISA if EISA
- select LOCK_MM_AND_FIND_VMA
- select MODULES_USE_ELF_REL if MODULES
- select MODULES_USE_ELF_RELA if MODULES && 64BIT
- select PERF_USE_VMALLOC
- select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
- select RTC_LIB
- select SYSCTL_EXCEPTION_TRACE
- select TRACE_IRQFLAGS_SUPPORT
- select ARCH_HAS_ELFCORE_COMPAT
- select HAVE_ARCH_KCSAN if 64BIT
- config MIPS_FIXUP_BIGPHYS_ADDR
- bool
- config MIPS_GENERIC
- bool
- config MACH_INGENIC
- bool
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_ZBOOT
- select DMA_NONCOHERENT
- select ARCH_HAS_SYNC_DMA_FOR_CPU
- select IRQ_MIPS_CPU
- select PINCTRL
- select GPIOLIB
- select COMMON_CLK
- select GENERIC_IRQ_CHIP
- select BUILTIN_DTB if MIPS_NO_APPENDED_DTB
- select USE_OF
- select CPU_SUPPORTS_CPUFREQ
- select MIPS_EXTERNAL_TIMER
- menu "Machine selection"
- choice
- prompt "System type"
- default MIPS_GENERIC_KERNEL
- config MIPS_GENERIC_KERNEL
- bool "Generic board-agnostic MIPS kernel"
- select ARCH_HAS_SETUP_DMA_OPS
- select MIPS_GENERIC
- select BOOT_RAW
- select BUILTIN_DTB
- select CEVT_R4K
- select CLKSRC_MIPS_GIC
- select COMMON_CLK
- select CPU_MIPSR2_IRQ_EI
- select CPU_MIPSR2_IRQ_VI
- select CSRC_R4K
- select DMA_NONCOHERENT
- select HAVE_PCI
- select IRQ_MIPS_CPU
- 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 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_MIPS16
- select SYS_SUPPORTS_MIPS_CPS
- select SYS_SUPPORTS_MULTITHREADING
- select SYS_SUPPORTS_RELOCATABLE
- select SYS_SUPPORTS_SMARTMIPS
- select SYS_SUPPORTS_ZBOOT
- select UHI_BOOT
- 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_NONCOHERENT # Au1000,1500,1100 aren't, rest is
- select MIPS_FIXUP_BIGPHYS_ADDR if PCI
- 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 COMMON_CLK
- 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
- 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 COMMON_CLK
- select IRQ_MIPS_CPU
- 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_RESET_CONTROLLER
- select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
- 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
- select HAVE_PCI
- select PCI_DRIVERS_GENERIC
- select FW_CFE
- 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 HAVE_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 SYS_HAS_CPU_BMIPS32_3300
- select SYS_HAS_CPU_BMIPS4350
- select SYS_HAS_CPU_BMIPS4380
- select SWAP_IO_SPACE
- select GPIOLIB
- select MIPS_L1_CACHE_SHIFT_4
- select HAVE_LEGACY_CLK
- 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 FORCE_PCI
- select I8253
- select I8259
- select IRQ_MIPS_CPU
- select IRQ_GT641XX
- select PCI_GT64XXX_PCI0
- 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 ARC_MEMORY
- select ARC_PROMLIB
- select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- select DMA_OPS
- 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
- select SYS_SUPPORTS_LITTLE_ENDIAN
- 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_SOC
- bool "Ingenic SoC based machines"
- select MIPS_GENERIC
- select MACH_INGENIC
- select SYS_SUPPORTS_ZBOOT_UART16550
- select CPU_SUPPORTS_CPUFREQ
- select MIPS_EXTERNAL_TIMER
- 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 HAVE_LEGACY_CLK
- select USE_OF
- select PINCTRL
- select PINCTRL_LANTIQ
- select ARCH_HAS_RESET_CONTROLLER
- select RESET_CONTROLLER
- config MACH_LOONGSON32
- bool "Loongson 32-bit 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_LOONGSON2EF
- bool "Loongson-2E/F family of machines"
- select SYS_SUPPORTS_ZBOOT
- help
- This enables the support of early Loongson-2E/F family of machines.
- config MACH_LOONGSON64
- bool "Loongson 64-bit family of machines"
- select ARCH_DMA_DEFAULT_COHERENT
- select ARCH_SPARSEMEM_ENABLE
- select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- select GENERIC_ISA_DMA_SUPPORT_BROKEN
- select BOOT_ELF32
- select BOARD_SCACHE
- select CSRC_R4K
- select CEVT_R4K
- select CPU_HAS_WB
- select FORCE_PCI
- select ISA
- select I8259
- select IRQ_MIPS_CPU
- select NO_EXCEPT_FILL
- select NR_CPUS_DEFAULT_64
- select USE_GENERIC_EARLY_PRINTK_8250
- select PCI_DRIVERS_GENERIC
- select SYS_HAS_CPU_LOONGSON64
- select SYS_HAS_EARLY_PRINTK
- select SYS_SUPPORTS_SMP
- select SYS_SUPPORTS_HOTPLUG_CPU
- select SYS_SUPPORTS_NUMA
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_HIGHMEM
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select SYS_SUPPORTS_ZBOOT
- select SYS_SUPPORTS_RELOCATABLE
- select ZONE_DMA32
- select COMMON_CLK
- select USE_OF
- select BUILTIN_DTB
- select PCI_HOST_GENERIC
- select HAVE_ARCH_NODEDATA_EXTENSION if NUMA
- help
- This enables the support of Loongson-2/3 family of machines.
- Loongson-2 and Loongson-3 are 64-bit general-purpose processors with
- GS264/GS464/GS464E/GS464V microarchitecture (except old Loongson-2E
- and Loongson-2F which will be removed), developed by the Institute
- of Computing Technology (ICT), Chinese Academy of Sciences (CAS).
- 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 CLKSRC_MIPS_GIC
- select COMMON_CLK
- select CSRC_R4K
- select DMA_NONCOHERENT
- select GENERIC_ISA_DMA
- select HAVE_PCSPKR_PLATFORM
- select HAVE_PCI
- select I8253
- select I8259
- select IRQ_MIPS_CPU
- select MIPS_BONITO64
- select MIPS_CPU_SCACHE
- select MIPS_GIC
- select MIPS_L1_CACHE_SHIFT_6
- select MIPS_MSC
- select PCI_GT64XXX_PCI0
- 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_MIPS16
- select SYS_SUPPORTS_MIPS_CMP
- select SYS_SUPPORTS_MIPS_CPS
- select SYS_SUPPORTS_MULTITHREADING
- select SYS_SUPPORTS_RELOCATABLE
- select SYS_SUPPORTS_SMARTMIPS
- select SYS_SUPPORTS_VPE_LOADER
- select SYS_SUPPORTS_ZBOOT
- select USE_OF
- select WAR_ICACHE_REFILLS
- select ZONE_DMA32 if 64BIT
- 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 MACH_NINTENDO64
- bool "Nintendo 64 console"
- select CEVT_R4K
- select CSRC_R4K
- select SYS_HAS_CPU_R4300
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_ZBOOT
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_64BIT_KERNEL
- select DMA_NONCOHERENT
- select IRQ_MIPS_CPU
- config RALINK
- bool "Ralink based machines"
- select CEVT_R4K
- select COMMON_CLK
- 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_SUPPORTS_ZBOOT
- select SYS_HAS_EARLY_PRINTK
- select ARCH_HAS_RESET_CONTROLLER
- select RESET_CONTROLLER
- config MACH_REALTEK_RTL
- bool "Realtek RTL838x/RTL839x based machines"
- select MIPS_GENERIC
- select DMA_NONCOHERENT
- select IRQ_MIPS_CPU
- select CSRC_R4K
- select CEVT_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 BOOT_RAW
- select PINCTRL
- select USE_OF
- config SGI_IP22
- bool "SGI IP22 (Indy/Indigo2)"
- select ARC_MEMORY
- select ARC_PROMLIB
- 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 HAVE_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
- select SYS_HAS_EARLY_PRINTK
- select SYS_SUPPORTS_32BIT_KERNEL
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select WAR_R4600_V1_INDEX_ICACHEOP
- select WAR_R4600_V1_HIT_CACHEOP
- select WAR_R4600_V2_HIT_CACHEOP
- 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 ARCH_SPARSEMEM_ENABLE
- select FW_ARC
- select FW_ARC64
- select ARC_CMDLINE_ONLY
- select BOOT_ELF64
- select DEFAULT_SGI_PARTITION
- select FORCE_PCI
- select SYS_HAS_EARLY_PRINTK
- select HAVE_PCI
- select IRQ_MIPS_CPU
- select IRQ_DOMAIN_HIERARCHY
- select NR_CPUS_DEFAULT_64
- select PCI_DRIVERS_GENERIC
- select PCI_XTALK_BRIDGE
- select SYS_HAS_CPU_R10000
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_NUMA
- select SYS_SUPPORTS_SMP
- select WAR_R10000_LLSC
- select MIPS_L1_CACHE_SHIFT_7
- select NUMA
- select HAVE_ARCH_NODEDATA_EXTENSION
- 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 ARC_MEMORY
- select ARC_PROMLIB
- 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 HAVE_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
- select SYS_HAS_EARLY_PRINTK
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select WAR_R10000_LLSC
- 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_IP30
- bool "SGI IP30 (Octane/Octane2)"
- select ARCH_HAS_PHYS_TO_DMA
- select FW_ARC
- select FW_ARC64
- select BOOT_ELF64
- select CEVT_R4K
- select CSRC_R4K
- select FORCE_PCI
- select SYNC_R4K if SMP
- select ZONE_DMA32
- select HAVE_PCI
- select IRQ_MIPS_CPU
- select IRQ_DOMAIN_HIERARCHY
- select PCI_DRIVERS_GENERIC
- select PCI_XTALK_BRIDGE
- select SYS_HAS_EARLY_PRINTK
- select SYS_HAS_CPU_R10000
- select SYS_SUPPORTS_64BIT_KERNEL
- select SYS_SUPPORTS_BIG_ENDIAN
- select SYS_SUPPORTS_SMP
- select WAR_R10000_LLSC
- select MIPS_L1_CACHE_SHIFT_7
- select ARC_MEMORY
- help
- These are the SGI Octane and Octane2 graphics workstations. To
- compile a Linux kernel that runs on these, say Y here.
- config SGI_IP32
- bool "SGI IP32 (O2)"
- select ARC_MEMORY
- select ARC_PROMLIB
- 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 HAVE_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
- select WAR_ICACHE_REFILLS
- 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 ARC_MEMORY
- select ARC_PROMLIB
- 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_EISA
- select HAVE_PCSPKR_PLATFORM
- select HAVE_PCI
- select IRQ_MIPS_CPU
- select I8253
- select I8259
- select ISA
- select MIPS_L1_CACHE_SHIFT_6
- 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
- select WAR_R4600_V2_HIT_CACHEOP
- 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_TX49XX
- bool "Toshiba TX49 series based machines"
- select WAR_TX49XX_ICACHE_INDEX_INV
- config MIKROTIK_RB532
- bool "Mikrotik RB532 boards"
- select CEVT_R4K
- select CSRC_R4K
- select DMA_NONCOHERENT
- select HAVE_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 HAVE_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 HAVE_PCI
- select HAVE_PLAT_DELAY
- select HAVE_PLAT_FW_INIT_CMDLINE
- select HAVE_PLAT_MEMCPY
- select ZONE_DMA32
- select GPIOLIB
- 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
- 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.
- 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/ingenic/Kconfig"
- source "arch/mips/jazz/Kconfig"
- source "arch/mips/lantiq/Kconfig"
- source "arch/mips/pic32/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/cavium-octeon/Kconfig"
- source "arch/mips/loongson2ef/Kconfig"
- source "arch/mips/loongson32/Kconfig"
- source "arch/mips/loongson64/Kconfig"
- endmenu
- 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
- select CLOCKSOURCE_WATCHDOG if CPU_FREQ
- 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_PERDEV_COHERENT
- bool
- select ARCH_HAS_SETUP_DMA_OPS
- select DMA_NONCOHERENT
- config DMA_NONCOHERENT
- bool
- #
- # MIPS allows mixing "slightly different" Cacheability and Coherency
- # Attribute bits. It is believed that the uncached access through
- # KSEG1 and the implementation specific "uncached accelerated" used
- # by pgprot_writcombine can be mixed, and the latter sometimes provides
- # significant advantages.
- #
- select ARCH_HAS_DMA_WRITE_COMBINE
- select ARCH_HAS_DMA_PREP_COHERENT
- select ARCH_HAS_SYNC_DMA_FOR_DEVICE
- select ARCH_HAS_DMA_SET_UNCACHED
- select DMA_NONCOHERENT_MMAP
- select NEED_DMA_MAP_STATE
- config SYS_HAS_EARLY_PRINTK
- bool
- config SYS_SUPPORTS_HOTPLUG_CPU
- bool
- config MIPS_BONITO64
- bool
- config MIPS_MSC
- bool
- config SYNC_R4K
- bool
- config NO_IOPORT_MAP
- def_bool n
- config GENERIC_CSUM
- def_bool CPU_NO_LOAD_STORE_LR
- 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 HAVE_PLAT_DELAY
- bool
- config HAVE_PLAT_FW_INIT_CMDLINE
- bool
- config HAVE_PLAT_MEMCPY
- bool
- config ISA_DMA_API
- 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.
- #
- # 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 MIPS_HUGE_TLB_SUPPORT
- def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
- config IRQ_MSP_SLP
- bool
- config IRQ_MSP_CIC
- bool
- config IRQ_TXX9
- bool
- config IRQ_GT641XX
- bool
- config PCI_GT64XXX_PCI0
- bool
- config PCI_XTALK_BRIDGE
- bool
- config NO_EXCEPT_FILL
- bool
- 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 ARC_CMDLINE_ONLY
- bool
- config ARC_CONSOLE
- bool "ARC console support"
- depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
- config ARC_MEMORY
- bool
- config ARC_PROMLIB
- bool
- config FW_ARC64
- bool
- config BOOT_ELF64
- bool
- menu "CPU selection"
- choice
- prompt "CPU type"
- default CPU_R4X00
- config CPU_LOONGSON64
- bool "Loongson 64-bit CPU"
- depends on SYS_HAS_CPU_LOONGSON64
- select ARCH_HAS_PHYS_TO_DMA
- select CPU_MIPSR2
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_64BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_HUGEPAGES
- select CPU_SUPPORTS_MSA
- select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT
- select CPU_MIPSR2_IRQ_VI
- select DMA_NONCOHERENT
- select WEAK_ORDERING
- select WEAK_REORDERING_BEYOND_LLSC
- select MIPS_ASID_BITS_VARIABLE
- select MIPS_PGD_C0_CONTEXT
- select MIPS_L1_CACHE_SHIFT_6
- select MIPS_FP_SUPPORT
- select GPIOLIB
- select SWIOTLB
- select HAVE_KVM
- help
- The Loongson GSx64(GS264/GS464/GS464E/GS464V) series of processor
- cores implements the MIPS64R2 instruction set with many extensions,
- including most 64-bit Loongson-2 (2H, 2K) and Loongson-3 (3A1000,
- 3B1000, 3B1500, 3A2000, 3A3000 and 3A4000) processors. However, old
- Loongson-2E/2F is not covered here and will be removed in future.
- config LOONGSON3_ENHANCEMENT
- bool "New Loongson-3 CPU Enhancements"
- default n
- depends on CPU_LOONGSON64
- help
- New Loongson-3 cores (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/DSPr2 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 "Loongson-3 LLSC Workarounds"
- default y if SMP
- depends on CPU_LOONGSON64
- help
- Loongson-3 processors have the llsc issues which require workarounds.
- Without workarounds the system may hang unexpectedly.
- Say Y, unless you know what you are doing.
- config CPU_LOONGSON3_CPUCFG_EMULATION
- bool "Emulate the CPUCFG instruction on older Loongson cores"
- default y
- depends on CPU_LOONGSON64
- help
- Loongson-3A R4 and newer have the CPUCFG instruction available for
- userland to query CPU capabilities, much like CPUID on x86. This
- option provides emulation of the instruction on older Loongson
- cores, back to Loongson-3A1000.
- If unsure, please say Y.
- config CPU_LOONGSON2E
- bool "Loongson 2E"
- depends on SYS_HAS_CPU_LOONGSON2E
- select CPU_LOONGSON2EF
- 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_LOONGSON2EF
- 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_LOONGSON32
- 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_LOONGSON32
- 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_R5
- bool "MIPS32 Release 5"
- depends on SYS_HAS_CPU_MIPS32_R5
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_MSA
- select HAVE_KVM
- select MIPS_O32_FP64_SUPPORT
- help
- Choose this option to build a kernel for release 5 or later of the
- MIPS32 architecture. New MIPS processors, starting with the Warrior
- family, are based on a MIPS32r5 processor. If you own an older
- processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
- config CPU_MIPS32_R6
- bool "MIPS32 Release 6"
- depends on SYS_HAS_CPU_MIPS32_R6
- select CPU_HAS_PREFETCH
- select CPU_NO_LOAD_STORE_LR
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_MSA
- 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_R5
- bool "MIPS64 Release 5"
- depends on SYS_HAS_CPU_MIPS64_R5
- 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 MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
- select HAVE_KVM
- help
- Choose this option to build a kernel for release 5 or later of the
- MIPS64 architecture. This is a intermediate MIPS architecture
- release partly implementing release 6 features. Though there is no
- any hardware known to be based on this release.
- config CPU_MIPS64_R6
- bool "MIPS64 Release 6"
- depends on SYS_HAS_CPU_MIPS64_R6
- select CPU_HAS_PREFETCH
- select CPU_NO_LOAD_STORE_LR
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_64BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_HUGEPAGES
- select CPU_SUPPORTS_MSA
- 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_P5600
- bool "MIPS Warrior P5600"
- depends on SYS_HAS_CPU_P5600
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_MSA
- select CPU_SUPPORTS_CPUFREQ
- select CPU_MIPSR2_IRQ_VI
- select CPU_MIPSR2_IRQ_EI
- select HAVE_KVM
- select MIPS_O32_FP64_SUPPORT
- help
- Choose this option to build a kernel for MIPS Warrior P5600 CPU.
- It's based on MIPS32r5 ISA with XPA, EVA, dual/quad issue exec pipes,
- MMU with two-levels TLB, UCA, MSA, MDU core level features and system
- level features like up to six P5600 calculation cores, CM2 with L2
- cache, IOCU/IOMMU (though might be unused depending on the system-
- specific IP core configuration), GIC, CPC, virtualisation module,
- eJTAG and PDtrace.
- config CPU_R3000
- bool "R3000"
- depends on SYS_HAS_CPU_R3000
- select CPU_HAS_WB
- select CPU_R3K_TLB
- 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_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_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_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
- select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU
- help
- Support for BMIPS32/3300/4350/4380 and BMIPS5000 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_R5 || CPU_MIPS32_R6 || \
- CPU_P5600
- 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 || CPU_MIPS32_R5 || CPU_P5600
- 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
- select HAVE_KERNEL_ZSTD
- config SYS_SUPPORTS_ZBOOT_UART16550
- bool
- select SYS_SUPPORTS_ZBOOT
- config SYS_SUPPORTS_ZBOOT_UART_PROM
- bool
- select SYS_SUPPORTS_ZBOOT
- config CPU_LOONGSON2EF
- 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_LOONGSON32
- bool
- select CPU_MIPS32
- select CPU_MIPSR2
- select CPU_HAS_PREFETCH
- select CPU_SUPPORTS_32BIT_KERNEL
- select CPU_SUPPORTS_HIGHMEM
- select CPU_SUPPORTS_CPUFREQ
- config CPU_BMIPS32_3300
- select SMP_UP if SMP
- bool
- config CPU_BMIPS4350
- bool
- select SYS_SUPPORTS_SMP
- select SYS_SUPPORTS_HOTPLUG_CPU
- config CPU_BMIPS4380
- bool
- select MIPS_L1_CACHE_SHIFT_6
- select SYS_SUPPORTS_SMP
- select SYS_SUPPORTS_HOTPLUG_CPU
- 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_LOONGSON64
- 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
- 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
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- config SYS_HAS_CPU_MIPS32_R6
- bool
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- config SYS_HAS_CPU_MIPS64_R1
- bool
- config SYS_HAS_CPU_MIPS64_R2
- bool
- config SYS_HAS_CPU_MIPS64_R5
- bool
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- config SYS_HAS_CPU_MIPS64_R6
- bool
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- config SYS_HAS_CPU_P5600
- bool
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- config SYS_HAS_CPU_R3000
- 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_R5500
- bool
- config SYS_HAS_CPU_NEVADA
- bool
- config SYS_HAS_CPU_R10000
- bool
- select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
- 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
- select ARCH_HAS_SYNC_DMA_FOR_CPU
- #
- # 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_R5 || \
- CPU_MIPS32_R6 || CPU_P5600
- config CPU_MIPS64
- bool
- default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
- CPU_MIPS64_R6 || CPU_LOONGSON64 || CPU_CAVIUM_OCTEON
- #
- # These indicate the revision of the architecture
- #
- 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 CPU_HAS_DIEI if !CPU_DIEI_BROKEN
- select MIPS_SPRAM
- config CPU_MIPSR5
- bool
- default y if CPU_MIPS32_R5 || CPU_MIPS64_R5 || CPU_P5600
- select CPU_HAS_RIXI
- select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
- select MIPS_SPRAM
- config CPU_MIPSR6
- bool
- default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
- select CPU_HAS_RIXI
- select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
- select HAVE_ARCH_BITREVERSE
- select MIPS_ASID_BITS_VARIABLE
- select MIPS_CRC_SUPPORT
- select MIPS_SPRAM
- config TARGET_ISA_REV
- int
- default 1 if CPU_MIPSR1
- default 2 if CPU_MIPSR2
- default 5 if CPU_MIPSR5
- default 6 if CPU_MIPSR6
- default 0
- help
- Reflects the ISA revision being targeted by the kernel build. This
- is effectively the Kconfig equivalent of MIPS_ISA_REV.
- 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
- depends on !(32BIT && (PHYS_ADDR_T_64BIT || EVA))
- config MIPS_PGD_C0_CONTEXT
- bool
- depends on 64BIT
- default y if (CPU_MIPSR2 || CPU_MIPSR6)
- #
- # 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 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.
- config ZBOOT_LOAD_ADDRESS
- hex "Compressed kernel load address"
- default 0xffffffff80400000 if BCM47XX
- default 0x0
- depends on SYS_SUPPORTS_ZBOOT
- help
- The address to load compressed kernel, aka vmlinuz.
- This is only used if non-zero.
- choice
- prompt "Kernel page size"
- default PAGE_SIZE_4KB
- config PAGE_SIZE_4KB
- bool "4kB"
- depends on !CPU_LOONGSON2EF && !CPU_LOONGSON64
- 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_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 cnMIPS processors. Note that you will need a suitable Linux
- distribution to support this.
- config PAGE_SIZE_16KB
- bool "16kB"
- depends on !CPU_R3000
- 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
- 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 ARCH_FORCE_MAX_ORDER
- 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 0 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
- config MIPS_FP_SUPPORT
- bool "Floating Point support" if EXPERT
- default y
- help
- Select y to include support for floating point in the kernel
- including initialization of FPU hardware, FP context save & restore
- and emulation of an FPU where necessary. Without this support any
- userland program attempting to use floating point instructions will
- receive a SIGILL.
- If you know that your userland will not attempt to use floating point
- instructions then you can say n here to shrink the kernel a little.
- If unsure, say y.
- config CPU_R2300_FPU
- bool
- depends on MIPS_FP_SUPPORT
- default y if CPU_R3000
- config CPU_R3K_TLB
- bool
- config CPU_R4K_FPU
- bool
- depends on MIPS_FP_SUPPORT
- default y if !CPU_R2300_FPU
- config CPU_R4K_CACHE_TLB
- bool
- default y if !(CPU_R3K_TLB || CPU_SB1 || 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
- depends on MIPS_FP_SUPPORT
- 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
- select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU
- 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 MIPS_FP_SUPPORT
- 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_DIEI
- depends on !CPU_DIEI_BROKEN
- bool
- config CPU_DIEI_BROKEN
- bool
- config CPU_HAS_RIXI
- bool
- config CPU_NO_LOAD_STORE_LR
- bool
- help
- CPU lacks support for unaligned load and store instructions:
- LWL, LWR, SWL, SWR (Load/store word left/right).
- LDL, LDR, SDL, SDR (Load/store doubleword left/right, for 64bit
- systems).
- #
- # 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
- #
- # Work around the "daddi" and "daddiu" CPU errata:
- #
- # - The `daddi' instruction fails to trap on overflow.
- # "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0",
- # erratum #23
- #
- # - The `daddiu' instruction can produce an incorrect result.
- # "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0",
- # erratum #41
- # "MIPS R4000MC Errata, Processor Revision 2.2 and 3.0", erratum
- # #15
- # "MIPS R4400PC/SC Errata, Processor Revision 1.0", erratum #7
- # "MIPS R4400MC Errata, Processor Revision 1.0", erratum #5
- config CPU_DADDI_WORKAROUNDS
- bool
- # Work around certain R4000 CPU errata (as implemented by GCC):
- #
- # - A double-word or a variable shift may give an incorrect result
- # if executed immediately after starting an integer division:
- # "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0",
- # erratum #28
- # "MIPS R4000MC Errata, Processor Revision 2.2 and 3.0", erratum
- # #19
- #
- # - A double-word or a variable shift may give an incorrect result
- # if executed while an integer multiplication is in progress:
- # "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0",
- # errata #16 & #28
- #
- # - An integer division may give an incorrect result if started in
- # a delay slot of a taken branch or a jump:
- # "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0",
- # erratum #52
- config CPU_R4000_WORKAROUNDS
- bool
- select CPU_R4400_WORKAROUNDS
- # Work around certain R4400 CPU errata (as implemented by GCC):
- #
- # - A double-word or a variable shift may give an incorrect result
- # if executed immediately after starting an integer division:
- # "MIPS R4400MC Errata, Processor Revision 1.0", erratum #10
- # "MIPS R4400MC Errata, Processor Revision 2.0 & 3.0", erratum #4
- config CPU_R4400_WORKAROUNDS
- bool
- config CPU_R4X00_BUGS64
- bool
- default y if SYS_HAS_CPU_R4X00 && 64BIT && (TARGET_ISA_REV < 1)
- config MIPS_ASID_SHIFT
- int
- default 6 if CPU_R3000
- default 0
- config MIPS_ASID_BITS
- int
- default 0 if MIPS_ASID_BITS_VARIABLE
- default 6 if CPU_R3000
- default 8
- config MIPS_ASID_BITS_VARIABLE
- bool
- config MIPS_CRC_SUPPORT
- bool
- # R4600 erratum. Due to the lack of errata information the exact
- # technical details aren't known. I've experimentally found that disabling
- # interrupts during indexed I-cache flushes seems to be sufficient to deal
- # with the issue.
- config WAR_R4600_V1_INDEX_ICACHEOP
- bool
- # Pleasures of the R4600 V1.x. Cite from the IDT R4600 V1.7 errata:
- #
- # 18. The CACHE instructions Hit_Writeback_Invalidate_D, Hit_Writeback_D,
- # Hit_Invalidate_D and Create_Dirty_Excl_D should only be
- # executed if there is no other dcache activity. If the dcache is
- # accessed for another instruction immediately preceding when these
- # cache instructions are executing, it is possible that the dcache
- # tag match outputs used by these cache instructions will be
- # incorrect. These cache instructions should be preceded by at least
- # four instructions that are not any kind of load or store
- # instruction.
- #
- # This is not allowed: lw
- # nop
- # nop
- # nop
- # cache Hit_Writeback_Invalidate_D
- #
- # This is allowed: lw
- # nop
- # nop
- # nop
- # nop
- # cache Hit_Writeback_Invalidate_D
- config WAR_R4600_V1_HIT_CACHEOP
- bool
- # Writeback and invalidate the primary cache dcache before DMA.
- #
- # R4600 v2.0 bug: "The CACHE instructions Hit_Writeback_Inv_D,
- # Hit_Writeback_D, Hit_Invalidate_D and Create_Dirty_Exclusive_D will only
- # operate correctly if the internal data cache refill buffer is empty. These
- # CACHE instructions should be separated from any potential data cache miss
- # by a load instruction to an uncached address to empty the response buffer."
- # (Revision 2.0 device errata from IDT available on https://www.idt.com/
- # in .pdf format.)
- config WAR_R4600_V2_HIT_CACHEOP
- bool
- # From TX49/H2 manual: "If the instruction (i.e. CACHE) is issued for
- # the line which this instruction itself exists, the following
- # operation is not guaranteed."
- #
- # Workaround: do two phase flushing for Index_Invalidate_I
- config WAR_TX49XX_ICACHE_INDEX_INV
- bool
- # The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra
- # opposes it being called that) where invalid instructions in the same
- # I-cache line worth of instructions being fetched may case spurious
- # exceptions.
- config WAR_ICACHE_REFILLS
- bool
- # On the R10000 up to version 2.6 (not sure about 2.7) there is a bug that
- # may cause ll / sc and lld / scd sequences to execute non-atomically.
- config WAR_R10000_LLSC
- bool
- # 34K core erratum: "Problems Executing the TLBR Instruction"
- config WAR_MIPS34K_MISSED_ITLB
- 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
- select KMAP_LOCAL
- 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_LOONGSON2EF
- config ARCH_SPARSEMEM_ENABLE
- bool
- config NUMA
- bool "NUMA Support"
- depends on SYS_SUPPORTS_NUMA
- select SMP
- select HAVE_SETUP_PER_CPU_AREA
- select NEED_PER_CPU_EMBED_FIRST_CHUNK
- 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 leave this option
- disabled.
- config SYS_SUPPORTS_NUMA
- bool
- config HAVE_ARCH_NODEDATA_EXTENSION
- bool
- config RELOCATABLE
- bool "Relocatable kernel"
- depends on SYS_SUPPORTS_RELOCATABLE
- depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \
- CPU_MIPS32_R5 || CPU_MIPS64_R5 || \
- CPU_MIPS32_R6 || CPU_MIPS64_R6 || \
- CPU_P5600 || CAVIUM_OCTEON_SOC || \
- CPU_LOONGSON64
- 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 "0x00200000" if CPU_LOONGSON64
- 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 NUMA
- config HW_PERF_EVENTS
- bool "Enable hardware performance counter support for perf events"
- depends on PERF_EVENTS && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_LOONGSON64)
- default y
- help
- Enable hardware performance counter support for perf events. If
- disabled, perf events will use software events only.
- config DMI
- bool "Enable DMI scanning"
- depends on MACH_LOONGSON64
- select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
- default y
- help
- Enabled scanning of DMI to identify machine quirks. Say Y
- here unless you have verified that your setup is not
- affected by entries in the DMI blacklist. Required by PNP
- BIOS code.
- 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
- <https://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 MIPS_O32_FP64_SUPPORT
- bool "Support for O32 binaries using 64-bit FP" if !CPU_MIPSR6
- 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 dependent 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 UHI_BOOT
- bool
- 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 compatibility 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 && \
- !MACH_LOONGSON64 && !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 PGTABLE_LEVELS
- int
- default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48
- default 3 if 64BIT && (!PAGE_SIZE_64KB || MIPS_VA_BITS_48)
- default 2
- config MIPS_AUTO_PFN_OFFSET
- bool
- menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
- config PCI_DRIVERS_GENERIC
- select PCI_DOMAINS_GENERIC if PCI
- bool
- config PCI_DRIVERS_LEGACY
- def_bool !PCI_DRIVERS_GENERIC
- select NO_GENERIC_PCI_IOPORT_MAP
- select PCI_DOMAINS if PCI
- #
- # 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 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
- endmenu
- config TRAD_SIGNALS
- bool
- config MIPS32_COMPAT
- bool
- config 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
- 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
- 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 CC_HAS_MNO_BRANCH_LIKELY
- def_bool y
- depends on $(cc-option,-mno-branch-likely)
- 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 # CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
- source "drivers/cpuidle/Kconfig"
- endmenu
- source "arch/mips/kvm/Kconfig"
- source "arch/mips/vdso/Kconfig"
|