Kconfig 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814
  1. config MIPS
  2. bool
  3. default y
  4. select ARCH_MIGHT_HAVE_PC_PARPORT
  5. select ARCH_MIGHT_HAVE_PC_SERIO
  6. select HAVE_CONTEXT_TRACKING
  7. select HAVE_GENERIC_DMA_COHERENT
  8. select HAVE_IDE
  9. select HAVE_OPROFILE
  10. select HAVE_PERF_EVENTS
  11. select PERF_USE_VMALLOC
  12. select HAVE_ARCH_KGDB
  13. select HAVE_ARCH_SECCOMP_FILTER
  14. select HAVE_ARCH_TRACEHOOK
  15. select HAVE_BPF_JIT if !CPU_MICROMIPS
  16. select ARCH_HAVE_CUSTOM_GPIO_H
  17. select HAVE_FUNCTION_TRACER
  18. select HAVE_DYNAMIC_FTRACE
  19. select HAVE_FTRACE_MCOUNT_RECORD
  20. select HAVE_C_RECORDMCOUNT
  21. select HAVE_FUNCTION_GRAPH_TRACER
  22. select HAVE_KPROBES
  23. select HAVE_KRETPROBES
  24. select HAVE_DEBUG_KMEMLEAK
  25. select HAVE_SYSCALL_TRACEPOINTS
  26. select ARCH_HAS_ELF_RANDOMIZE
  27. select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
  28. select RTC_LIB if !MACH_LOONGSON
  29. select GENERIC_ATOMIC64 if !64BIT
  30. select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  31. select HAVE_DMA_ATTRS
  32. select HAVE_DMA_CONTIGUOUS
  33. select HAVE_DMA_API_DEBUG
  34. select GENERIC_IRQ_PROBE
  35. select GENERIC_IRQ_SHOW
  36. select GENERIC_PCI_IOMAP
  37. select HAVE_ARCH_JUMP_LABEL
  38. select ARCH_WANT_IPC_PARSE_VERSION
  39. select IRQ_FORCED_THREADING
  40. select HAVE_MEMBLOCK
  41. select HAVE_MEMBLOCK_NODE_MAP
  42. select ARCH_DISCARD_MEMBLOCK
  43. select GENERIC_SMP_IDLE_THREAD
  44. select BUILDTIME_EXTABLE_SORT
  45. select GENERIC_CLOCKEVENTS
  46. select GENERIC_CMOS_UPDATE
  47. select HAVE_MOD_ARCH_SPECIFIC
  48. select VIRT_TO_BUS
  49. select MODULES_USE_ELF_REL if MODULES
  50. select MODULES_USE_ELF_RELA if MODULES && 64BIT
  51. select CLONE_BACKWARDS
  52. select HAVE_DEBUG_STACKOVERFLOW
  53. select HAVE_CC_STACKPROTECTOR
  54. select CPU_PM if CPU_IDLE
  55. select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
  56. select ARCH_BINFMT_ELF_STATE
  57. select SYSCTL_EXCEPTION_TRACE
  58. menu "Machine selection"
  59. choice
  60. prompt "System type"
  61. default SGI_IP22
  62. config MIPS_ALCHEMY
  63. bool "Alchemy processor based machines"
  64. select ARCH_PHYS_ADDR_T_64BIT
  65. select CEVT_R4K
  66. select CSRC_R4K
  67. select IRQ_CPU
  68. select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
  69. select SYS_HAS_CPU_MIPS32_R1
  70. select SYS_SUPPORTS_32BIT_KERNEL
  71. select SYS_SUPPORTS_APM_EMULATION
  72. select ARCH_REQUIRE_GPIOLIB
  73. select SYS_SUPPORTS_ZBOOT
  74. select COMMON_CLK
  75. config AR7
  76. bool "Texas Instruments AR7"
  77. select BOOT_ELF32
  78. select DMA_NONCOHERENT
  79. select CEVT_R4K
  80. select CSRC_R4K
  81. select IRQ_CPU
  82. select NO_EXCEPT_FILL
  83. select SWAP_IO_SPACE
  84. select SYS_HAS_CPU_MIPS32_R1
  85. select SYS_HAS_EARLY_PRINTK
  86. select SYS_SUPPORTS_32BIT_KERNEL
  87. select SYS_SUPPORTS_LITTLE_ENDIAN
  88. select SYS_SUPPORTS_MIPS16
  89. select SYS_SUPPORTS_ZBOOT_UART16550
  90. select ARCH_REQUIRE_GPIOLIB
  91. select VLYNQ
  92. select HAVE_CLK
  93. help
  94. Support for the Texas Instruments AR7 System-on-a-Chip
  95. family: TNETD7100, 7200 and 7300.
  96. config ATH25
  97. bool "Atheros AR231x/AR531x SoC support"
  98. select CEVT_R4K
  99. select CSRC_R4K
  100. select DMA_NONCOHERENT
  101. select IRQ_CPU
  102. select IRQ_DOMAIN
  103. select SYS_HAS_CPU_MIPS32_R1
  104. select SYS_SUPPORTS_BIG_ENDIAN
  105. select SYS_SUPPORTS_32BIT_KERNEL
  106. select SYS_HAS_EARLY_PRINTK
  107. help
  108. Support for Atheros AR231x and Atheros AR531x based boards
  109. config ATH79
  110. bool "Atheros AR71XX/AR724X/AR913X based boards"
  111. select ARCH_REQUIRE_GPIOLIB
  112. select BOOT_RAW
  113. select CEVT_R4K
  114. select CSRC_R4K
  115. select DMA_NONCOHERENT
  116. select HAVE_CLK
  117. select CLKDEV_LOOKUP
  118. select IRQ_CPU
  119. select MIPS_MACHINE
  120. select SYS_HAS_CPU_MIPS32_R2
  121. select SYS_HAS_EARLY_PRINTK
  122. select SYS_SUPPORTS_32BIT_KERNEL
  123. select SYS_SUPPORTS_BIG_ENDIAN
  124. select SYS_SUPPORTS_MIPS16
  125. help
  126. Support for the Atheros AR71XX/AR724X/AR913X SoCs.
  127. config BCM3384
  128. bool "Broadcom BCM3384 based boards"
  129. select BOOT_RAW
  130. select NO_EXCEPT_FILL
  131. select USE_OF
  132. select CEVT_R4K
  133. select CSRC_R4K
  134. select SYNC_R4K
  135. select COMMON_CLK
  136. select DMA_NONCOHERENT
  137. select IRQ_CPU
  138. select SYS_SUPPORTS_32BIT_KERNEL
  139. select SYS_SUPPORTS_BIG_ENDIAN
  140. select SYS_SUPPORTS_HIGHMEM
  141. select SYS_HAS_CPU_BMIPS5000
  142. select SWAP_IO_SPACE
  143. select USB_EHCI_BIG_ENDIAN_DESC
  144. select USB_EHCI_BIG_ENDIAN_MMIO
  145. select USB_OHCI_BIG_ENDIAN_DESC
  146. select USB_OHCI_BIG_ENDIAN_MMIO
  147. help
  148. Support for BCM3384 based boards. BCM3384/BCM33843 is a cable modem
  149. chipset with a Linux application processor that is often used to
  150. provide Samba services, a CUPS print server, and/or advanced routing
  151. features.
  152. config BCM47XX
  153. bool "Broadcom BCM47XX based boards"
  154. select ARCH_WANT_OPTIONAL_GPIOLIB
  155. select BOOT_RAW
  156. select CEVT_R4K
  157. select CSRC_R4K
  158. select DMA_NONCOHERENT
  159. select HW_HAS_PCI
  160. select IRQ_CPU
  161. select SYS_HAS_CPU_MIPS32_R1
  162. select NO_EXCEPT_FILL
  163. select SYS_SUPPORTS_32BIT_KERNEL
  164. select SYS_SUPPORTS_LITTLE_ENDIAN
  165. select SYS_SUPPORTS_MIPS16
  166. select SYS_HAS_EARLY_PRINTK
  167. select USE_GENERIC_EARLY_PRINTK_8250
  168. select GPIOLIB
  169. select LEDS_GPIO_REGISTER
  170. help
  171. Support for BCM47XX based boards
  172. config BCM63XX
  173. bool "Broadcom BCM63XX based boards"
  174. select BOOT_RAW
  175. select CEVT_R4K
  176. select CSRC_R4K
  177. select SYNC_R4K
  178. select DMA_NONCOHERENT
  179. select IRQ_CPU
  180. select SYS_SUPPORTS_32BIT_KERNEL
  181. select SYS_SUPPORTS_BIG_ENDIAN
  182. select SYS_HAS_EARLY_PRINTK
  183. select SWAP_IO_SPACE
  184. select ARCH_REQUIRE_GPIOLIB
  185. select HAVE_CLK
  186. select MIPS_L1_CACHE_SHIFT_4
  187. help
  188. Support for BCM63XX based boards
  189. config MIPS_COBALT
  190. bool "Cobalt Server"
  191. select CEVT_R4K
  192. select CSRC_R4K
  193. select CEVT_GT641XX
  194. select DMA_NONCOHERENT
  195. select HW_HAS_PCI
  196. select I8253
  197. select I8259
  198. select IRQ_CPU
  199. select IRQ_GT641XX
  200. select PCI_GT64XXX_PCI0
  201. select PCI
  202. select SYS_HAS_CPU_NEVADA
  203. select SYS_HAS_EARLY_PRINTK
  204. select SYS_SUPPORTS_32BIT_KERNEL
  205. select SYS_SUPPORTS_64BIT_KERNEL
  206. select SYS_SUPPORTS_LITTLE_ENDIAN
  207. select USE_GENERIC_EARLY_PRINTK_8250
  208. config MACH_DECSTATION
  209. bool "DECstations"
  210. select BOOT_ELF32
  211. select CEVT_DS1287
  212. select CEVT_R4K if CPU_R4X00
  213. select CSRC_IOASIC
  214. select CSRC_R4K if CPU_R4X00
  215. select CPU_DADDI_WORKAROUNDS if 64BIT
  216. select CPU_R4000_WORKAROUNDS if 64BIT
  217. select CPU_R4400_WORKAROUNDS if 64BIT
  218. select DMA_NONCOHERENT
  219. select NO_IOPORT_MAP
  220. select IRQ_CPU
  221. select SYS_HAS_CPU_R3000
  222. select SYS_HAS_CPU_R4X00
  223. select SYS_SUPPORTS_32BIT_KERNEL
  224. select SYS_SUPPORTS_64BIT_KERNEL
  225. select SYS_SUPPORTS_LITTLE_ENDIAN
  226. select SYS_SUPPORTS_128HZ
  227. select SYS_SUPPORTS_256HZ
  228. select SYS_SUPPORTS_1024HZ
  229. select MIPS_L1_CACHE_SHIFT_4
  230. help
  231. This enables support for DEC's MIPS based workstations. For details
  232. see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
  233. DECstation porting pages on <http://decstation.unix-ag.org/>.
  234. If you have one of the following DECstation Models you definitely
  235. want to choose R4xx0 for the CPU Type:
  236. DECstation 5000/50
  237. DECstation 5000/150
  238. DECstation 5000/260
  239. DECsystem 5900/260
  240. otherwise choose R3000.
  241. config MACH_JAZZ
  242. bool "Jazz family of machines"
  243. select FW_ARC
  244. select FW_ARC32
  245. select ARCH_MAY_HAVE_PC_FDC
  246. select CEVT_R4K
  247. select CSRC_R4K
  248. select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
  249. select GENERIC_ISA_DMA
  250. select HAVE_PCSPKR_PLATFORM
  251. select IRQ_CPU
  252. select I8253
  253. select I8259
  254. select ISA
  255. select SYS_HAS_CPU_R4X00
  256. select SYS_SUPPORTS_32BIT_KERNEL
  257. select SYS_SUPPORTS_64BIT_KERNEL
  258. select SYS_SUPPORTS_100HZ
  259. help
  260. This a family of machines based on the MIPS R4030 chipset which was
  261. used by several vendors to build RISC/os and Windows NT workstations.
  262. Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
  263. Olivetti M700-10 workstations.
  264. config MACH_JZ4740
  265. bool "Ingenic JZ4740 based machines"
  266. select SYS_HAS_CPU_MIPS32_R1
  267. select SYS_SUPPORTS_32BIT_KERNEL
  268. select SYS_SUPPORTS_LITTLE_ENDIAN
  269. select SYS_SUPPORTS_ZBOOT_UART16550
  270. select DMA_NONCOHERENT
  271. select IRQ_CPU
  272. select ARCH_REQUIRE_GPIOLIB
  273. select SYS_HAS_EARLY_PRINTK
  274. select HAVE_CLK
  275. select GENERIC_IRQ_CHIP
  276. config LANTIQ
  277. bool "Lantiq based platforms"
  278. select DMA_NONCOHERENT
  279. select IRQ_CPU
  280. select CEVT_R4K
  281. select CSRC_R4K
  282. select SYS_HAS_CPU_MIPS32_R1
  283. select SYS_HAS_CPU_MIPS32_R2
  284. select SYS_SUPPORTS_BIG_ENDIAN
  285. select SYS_SUPPORTS_32BIT_KERNEL
  286. select SYS_SUPPORTS_MIPS16
  287. select SYS_SUPPORTS_MULTITHREADING
  288. select SYS_HAS_EARLY_PRINTK
  289. select ARCH_REQUIRE_GPIOLIB
  290. select SWAP_IO_SPACE
  291. select BOOT_RAW
  292. select HAVE_MACH_CLKDEV
  293. select CLKDEV_LOOKUP
  294. select USE_OF
  295. select PINCTRL
  296. select PINCTRL_LANTIQ
  297. select ARCH_HAS_RESET_CONTROLLER
  298. select RESET_CONTROLLER
  299. config LASAT
  300. bool "LASAT Networks platforms"
  301. select CEVT_R4K
  302. select CRC32
  303. select CSRC_R4K
  304. select DMA_NONCOHERENT
  305. select SYS_HAS_EARLY_PRINTK
  306. select HW_HAS_PCI
  307. select IRQ_CPU
  308. select PCI_GT64XXX_PCI0
  309. select MIPS_NILE4
  310. select R5000_CPU_SCACHE
  311. select SYS_HAS_CPU_R5000
  312. select SYS_SUPPORTS_32BIT_KERNEL
  313. select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
  314. select SYS_SUPPORTS_LITTLE_ENDIAN
  315. config MACH_LOONGSON
  316. bool "Loongson family of machines"
  317. select SYS_SUPPORTS_ZBOOT
  318. help
  319. This enables the support of Loongson family of machines.
  320. Loongson is a family of general-purpose MIPS-compatible CPUs.
  321. developed at Institute of Computing Technology (ICT),
  322. Chinese Academy of Sciences (CAS) in the People's Republic
  323. of China. The chief architect is Professor Weiwu Hu.
  324. config MACH_LOONGSON1
  325. bool "Loongson 1 family of machines"
  326. select SYS_SUPPORTS_ZBOOT
  327. help
  328. This enables support for the Loongson 1 based machines.
  329. Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
  330. the ICT (Institute of Computing Technology) and the Chinese Academy
  331. of Sciences.
  332. config MIPS_MALTA
  333. bool "MIPS Malta board"
  334. select ARCH_MAY_HAVE_PC_FDC
  335. select BOOT_ELF32
  336. select BOOT_RAW
  337. select CEVT_R4K
  338. select CSRC_R4K
  339. select CLKSRC_MIPS_GIC
  340. select DMA_MAYBE_COHERENT
  341. select GENERIC_ISA_DMA
  342. select HAVE_PCSPKR_PLATFORM
  343. select IRQ_CPU
  344. select MIPS_GIC
  345. select HW_HAS_PCI
  346. select I8253
  347. select I8259
  348. select MIPS_BONITO64
  349. select MIPS_CPU_SCACHE
  350. select MIPS_L1_CACHE_SHIFT_6
  351. select PCI_GT64XXX_PCI0
  352. select MIPS_MSC
  353. select SWAP_IO_SPACE
  354. select SYS_HAS_CPU_MIPS32_R1
  355. select SYS_HAS_CPU_MIPS32_R2
  356. select SYS_HAS_CPU_MIPS32_R3_5
  357. select SYS_HAS_CPU_MIPS32_R6
  358. select SYS_HAS_CPU_MIPS64_R1
  359. select SYS_HAS_CPU_MIPS64_R2
  360. select SYS_HAS_CPU_MIPS64_R6
  361. select SYS_HAS_CPU_NEVADA
  362. select SYS_HAS_CPU_RM7000
  363. select SYS_SUPPORTS_32BIT_KERNEL
  364. select SYS_SUPPORTS_64BIT_KERNEL
  365. select SYS_SUPPORTS_BIG_ENDIAN
  366. select SYS_SUPPORTS_LITTLE_ENDIAN
  367. select SYS_SUPPORTS_MICROMIPS
  368. select SYS_SUPPORTS_MIPS_CMP
  369. select SYS_SUPPORTS_MIPS_CPS
  370. select SYS_SUPPORTS_MIPS16
  371. select SYS_SUPPORTS_MULTITHREADING
  372. select SYS_SUPPORTS_SMARTMIPS
  373. select SYS_SUPPORTS_ZBOOT
  374. help
  375. This enables support for the MIPS Technologies Malta evaluation
  376. board.
  377. config MIPS_SEAD3
  378. bool "MIPS SEAD3 board"
  379. select BOOT_ELF32
  380. select BOOT_RAW
  381. select BUILTIN_DTB
  382. select CEVT_R4K
  383. select CSRC_R4K
  384. select CLKSRC_MIPS_GIC
  385. select CPU_MIPSR2_IRQ_VI
  386. select CPU_MIPSR2_IRQ_EI
  387. select DMA_NONCOHERENT
  388. select IRQ_CPU
  389. select MIPS_GIC
  390. select LIBFDT
  391. select MIPS_MSC
  392. select SYS_HAS_CPU_MIPS32_R1
  393. select SYS_HAS_CPU_MIPS32_R2
  394. select SYS_HAS_CPU_MIPS64_R1
  395. select SYS_HAS_EARLY_PRINTK
  396. select SYS_SUPPORTS_32BIT_KERNEL
  397. select SYS_SUPPORTS_64BIT_KERNEL
  398. select SYS_SUPPORTS_BIG_ENDIAN
  399. select SYS_SUPPORTS_LITTLE_ENDIAN
  400. select SYS_SUPPORTS_SMARTMIPS
  401. select SYS_SUPPORTS_MICROMIPS
  402. select SYS_SUPPORTS_MIPS16
  403. select USB_EHCI_BIG_ENDIAN_DESC
  404. select USB_EHCI_BIG_ENDIAN_MMIO
  405. select USE_OF
  406. help
  407. This enables support for the MIPS Technologies SEAD3 evaluation
  408. board.
  409. config NEC_MARKEINS
  410. bool "NEC EMMA2RH Mark-eins board"
  411. select SOC_EMMA2RH
  412. select HW_HAS_PCI
  413. help
  414. This enables support for the NEC Electronics Mark-eins boards.
  415. config MACH_VR41XX
  416. bool "NEC VR4100 series based machines"
  417. select CEVT_R4K
  418. select CSRC_R4K
  419. select SYS_HAS_CPU_VR41XX
  420. select SYS_SUPPORTS_MIPS16
  421. select ARCH_REQUIRE_GPIOLIB
  422. config NXP_STB220
  423. bool "NXP STB220 board"
  424. select SOC_PNX833X
  425. help
  426. Support for NXP Semiconductors STB220 Development Board.
  427. config NXP_STB225
  428. bool "NXP 225 board"
  429. select SOC_PNX833X
  430. select SOC_PNX8335
  431. help
  432. Support for NXP Semiconductors STB225 Development Board.
  433. config PMC_MSP
  434. bool "PMC-Sierra MSP chipsets"
  435. select CEVT_R4K
  436. select CSRC_R4K
  437. select DMA_NONCOHERENT
  438. select SWAP_IO_SPACE
  439. select NO_EXCEPT_FILL
  440. select BOOT_RAW
  441. select SYS_HAS_CPU_MIPS32_R1
  442. select SYS_HAS_CPU_MIPS32_R2
  443. select SYS_SUPPORTS_32BIT_KERNEL
  444. select SYS_SUPPORTS_BIG_ENDIAN
  445. select SYS_SUPPORTS_MIPS16
  446. select IRQ_CPU
  447. select SERIAL_8250
  448. select SERIAL_8250_CONSOLE
  449. select USB_EHCI_BIG_ENDIAN_MMIO
  450. select USB_EHCI_BIG_ENDIAN_DESC
  451. help
  452. This adds support for the PMC-Sierra family of Multi-Service
  453. Processor System-On-A-Chips. These parts include a number
  454. of integrated peripherals, interfaces and DSPs in addition to
  455. a variety of MIPS cores.
  456. config RALINK
  457. bool "Ralink based machines"
  458. select CEVT_R4K
  459. select CSRC_R4K
  460. select BOOT_RAW
  461. select DMA_NONCOHERENT
  462. select IRQ_CPU
  463. select USE_OF
  464. select SYS_HAS_CPU_MIPS32_R1
  465. select SYS_HAS_CPU_MIPS32_R2
  466. select SYS_SUPPORTS_32BIT_KERNEL
  467. select SYS_SUPPORTS_LITTLE_ENDIAN
  468. select SYS_SUPPORTS_MIPS16
  469. select SYS_HAS_EARLY_PRINTK
  470. select HAVE_MACH_CLKDEV
  471. select CLKDEV_LOOKUP
  472. select ARCH_HAS_RESET_CONTROLLER
  473. select RESET_CONTROLLER
  474. config SGI_IP22
  475. bool "SGI IP22 (Indy/Indigo2)"
  476. select FW_ARC
  477. select FW_ARC32
  478. select BOOT_ELF32
  479. select CEVT_R4K
  480. select CSRC_R4K
  481. select DEFAULT_SGI_PARTITION
  482. select DMA_NONCOHERENT
  483. select HW_HAS_EISA
  484. select I8253
  485. select I8259
  486. select IP22_CPU_SCACHE
  487. select IRQ_CPU
  488. select GENERIC_ISA_DMA_SUPPORT_BROKEN
  489. select SGI_HAS_I8042
  490. select SGI_HAS_INDYDOG
  491. select SGI_HAS_HAL2
  492. select SGI_HAS_SEEQ
  493. select SGI_HAS_WD93
  494. select SGI_HAS_ZILOG
  495. select SWAP_IO_SPACE
  496. select SYS_HAS_CPU_R4X00
  497. select SYS_HAS_CPU_R5000
  498. #
  499. # Disable EARLY_PRINTK for now since it leads to overwritten prom
  500. # memory during early boot on some machines.
  501. #
  502. # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
  503. # for a more details discussion
  504. #
  505. # select SYS_HAS_EARLY_PRINTK
  506. select SYS_SUPPORTS_32BIT_KERNEL
  507. select SYS_SUPPORTS_64BIT_KERNEL
  508. select SYS_SUPPORTS_BIG_ENDIAN
  509. select MIPS_L1_CACHE_SHIFT_7
  510. help
  511. This are the SGI Indy, Challenge S and Indigo2, as well as certain
  512. OEM variants like the Tandem CMN B006S. To compile a Linux kernel
  513. that runs on these, say Y here.
  514. config SGI_IP27
  515. bool "SGI IP27 (Origin200/2000)"
  516. select FW_ARC
  517. select FW_ARC64
  518. select BOOT_ELF64
  519. select DEFAULT_SGI_PARTITION
  520. select DMA_COHERENT
  521. select SYS_HAS_EARLY_PRINTK
  522. select HW_HAS_PCI
  523. select NR_CPUS_DEFAULT_64
  524. select SYS_HAS_CPU_R10000
  525. select SYS_SUPPORTS_64BIT_KERNEL
  526. select SYS_SUPPORTS_BIG_ENDIAN
  527. select SYS_SUPPORTS_NUMA
  528. select SYS_SUPPORTS_SMP
  529. select MIPS_L1_CACHE_SHIFT_7
  530. help
  531. This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
  532. workstations. To compile a Linux kernel that runs on these, say Y
  533. here.
  534. config SGI_IP28
  535. bool "SGI IP28 (Indigo2 R10k)"
  536. select FW_ARC
  537. select FW_ARC64
  538. select BOOT_ELF64
  539. select CEVT_R4K
  540. select CSRC_R4K
  541. select DEFAULT_SGI_PARTITION
  542. select DMA_NONCOHERENT
  543. select GENERIC_ISA_DMA_SUPPORT_BROKEN
  544. select IRQ_CPU
  545. select HW_HAS_EISA
  546. select I8253
  547. select I8259
  548. select SGI_HAS_I8042
  549. select SGI_HAS_INDYDOG
  550. select SGI_HAS_HAL2
  551. select SGI_HAS_SEEQ
  552. select SGI_HAS_WD93
  553. select SGI_HAS_ZILOG
  554. select SWAP_IO_SPACE
  555. select SYS_HAS_CPU_R10000
  556. #
  557. # Disable EARLY_PRINTK for now since it leads to overwritten prom
  558. # memory during early boot on some machines.
  559. #
  560. # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
  561. # for a more details discussion
  562. #
  563. # select SYS_HAS_EARLY_PRINTK
  564. select SYS_SUPPORTS_64BIT_KERNEL
  565. select SYS_SUPPORTS_BIG_ENDIAN
  566. select MIPS_L1_CACHE_SHIFT_7
  567. help
  568. This is the SGI Indigo2 with R10000 processor. To compile a Linux
  569. kernel that runs on these, say Y here.
  570. config SGI_IP32
  571. bool "SGI IP32 (O2)"
  572. select FW_ARC
  573. select FW_ARC32
  574. select BOOT_ELF32
  575. select CEVT_R4K
  576. select CSRC_R4K
  577. select DMA_NONCOHERENT
  578. select HW_HAS_PCI
  579. select IRQ_CPU
  580. select R5000_CPU_SCACHE
  581. select RM7000_CPU_SCACHE
  582. select SYS_HAS_CPU_R5000
  583. select SYS_HAS_CPU_R10000 if BROKEN
  584. select SYS_HAS_CPU_RM7000
  585. select SYS_HAS_CPU_NEVADA
  586. select SYS_SUPPORTS_64BIT_KERNEL
  587. select SYS_SUPPORTS_BIG_ENDIAN
  588. help
  589. If you want this kernel to run on SGI O2 workstation, say Y here.
  590. config SIBYTE_CRHINE
  591. bool "Sibyte BCM91120C-CRhine"
  592. select BOOT_ELF32
  593. select DMA_COHERENT
  594. select SIBYTE_BCM1120
  595. select SWAP_IO_SPACE
  596. select SYS_HAS_CPU_SB1
  597. select SYS_SUPPORTS_BIG_ENDIAN
  598. select SYS_SUPPORTS_LITTLE_ENDIAN
  599. config SIBYTE_CARMEL
  600. bool "Sibyte BCM91120x-Carmel"
  601. select BOOT_ELF32
  602. select DMA_COHERENT
  603. select SIBYTE_BCM1120
  604. select SWAP_IO_SPACE
  605. select SYS_HAS_CPU_SB1
  606. select SYS_SUPPORTS_BIG_ENDIAN
  607. select SYS_SUPPORTS_LITTLE_ENDIAN
  608. config SIBYTE_CRHONE
  609. bool "Sibyte BCM91125C-CRhone"
  610. select BOOT_ELF32
  611. select DMA_COHERENT
  612. select SIBYTE_BCM1125
  613. select SWAP_IO_SPACE
  614. select SYS_HAS_CPU_SB1
  615. select SYS_SUPPORTS_BIG_ENDIAN
  616. select SYS_SUPPORTS_HIGHMEM
  617. select SYS_SUPPORTS_LITTLE_ENDIAN
  618. config SIBYTE_RHONE
  619. bool "Sibyte BCM91125E-Rhone"
  620. select BOOT_ELF32
  621. select DMA_COHERENT
  622. select SIBYTE_BCM1125H
  623. select SWAP_IO_SPACE
  624. select SYS_HAS_CPU_SB1
  625. select SYS_SUPPORTS_BIG_ENDIAN
  626. select SYS_SUPPORTS_LITTLE_ENDIAN
  627. config SIBYTE_SWARM
  628. bool "Sibyte BCM91250A-SWARM"
  629. select BOOT_ELF32
  630. select DMA_COHERENT
  631. select HAVE_PATA_PLATFORM
  632. select SIBYTE_SB1250
  633. select SWAP_IO_SPACE
  634. select SYS_HAS_CPU_SB1
  635. select SYS_SUPPORTS_BIG_ENDIAN
  636. select SYS_SUPPORTS_HIGHMEM
  637. select SYS_SUPPORTS_LITTLE_ENDIAN
  638. select ZONE_DMA32 if 64BIT
  639. config SIBYTE_LITTLESUR
  640. bool "Sibyte BCM91250C2-LittleSur"
  641. select BOOT_ELF32
  642. select DMA_COHERENT
  643. select HAVE_PATA_PLATFORM
  644. select SIBYTE_SB1250
  645. select SWAP_IO_SPACE
  646. select SYS_HAS_CPU_SB1
  647. select SYS_SUPPORTS_BIG_ENDIAN
  648. select SYS_SUPPORTS_HIGHMEM
  649. select SYS_SUPPORTS_LITTLE_ENDIAN
  650. config SIBYTE_SENTOSA
  651. bool "Sibyte BCM91250E-Sentosa"
  652. select BOOT_ELF32
  653. select DMA_COHERENT
  654. select SIBYTE_SB1250
  655. select SWAP_IO_SPACE
  656. select SYS_HAS_CPU_SB1
  657. select SYS_SUPPORTS_BIG_ENDIAN
  658. select SYS_SUPPORTS_LITTLE_ENDIAN
  659. config SIBYTE_BIGSUR
  660. bool "Sibyte BCM91480B-BigSur"
  661. select BOOT_ELF32
  662. select DMA_COHERENT
  663. select NR_CPUS_DEFAULT_4
  664. select SIBYTE_BCM1x80
  665. select SWAP_IO_SPACE
  666. select SYS_HAS_CPU_SB1
  667. select SYS_SUPPORTS_BIG_ENDIAN
  668. select SYS_SUPPORTS_HIGHMEM
  669. select SYS_SUPPORTS_LITTLE_ENDIAN
  670. select ZONE_DMA32 if 64BIT
  671. config SNI_RM
  672. bool "SNI RM200/300/400"
  673. select FW_ARC if CPU_LITTLE_ENDIAN
  674. select FW_ARC32 if CPU_LITTLE_ENDIAN
  675. select FW_SNIPROM if CPU_BIG_ENDIAN
  676. select ARCH_MAY_HAVE_PC_FDC
  677. select BOOT_ELF32
  678. select CEVT_R4K
  679. select CSRC_R4K
  680. select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
  681. select DMA_NONCOHERENT
  682. select GENERIC_ISA_DMA
  683. select HAVE_PCSPKR_PLATFORM
  684. select HW_HAS_EISA
  685. select HW_HAS_PCI
  686. select IRQ_CPU
  687. select I8253
  688. select I8259
  689. select ISA
  690. select SWAP_IO_SPACE if CPU_BIG_ENDIAN
  691. select SYS_HAS_CPU_R4X00
  692. select SYS_HAS_CPU_R5000
  693. select SYS_HAS_CPU_R10000
  694. select R5000_CPU_SCACHE
  695. select SYS_HAS_EARLY_PRINTK
  696. select SYS_SUPPORTS_32BIT_KERNEL
  697. select SYS_SUPPORTS_64BIT_KERNEL
  698. select SYS_SUPPORTS_BIG_ENDIAN
  699. select SYS_SUPPORTS_HIGHMEM
  700. select SYS_SUPPORTS_LITTLE_ENDIAN
  701. help
  702. The SNI RM200/300/400 are MIPS-based machines manufactured by
  703. Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
  704. Technology and now in turn merged with Fujitsu. Say Y here to
  705. support this machine type.
  706. config MACH_TX39XX
  707. bool "Toshiba TX39 series based machines"
  708. config MACH_TX49XX
  709. bool "Toshiba TX49 series based machines"
  710. config MIKROTIK_RB532
  711. bool "Mikrotik RB532 boards"
  712. select CEVT_R4K
  713. select CSRC_R4K
  714. select DMA_NONCOHERENT
  715. select HW_HAS_PCI
  716. select IRQ_CPU
  717. select SYS_HAS_CPU_MIPS32_R1
  718. select SYS_SUPPORTS_32BIT_KERNEL
  719. select SYS_SUPPORTS_LITTLE_ENDIAN
  720. select SWAP_IO_SPACE
  721. select BOOT_RAW
  722. select ARCH_REQUIRE_GPIOLIB
  723. select MIPS_L1_CACHE_SHIFT_4
  724. help
  725. Support the Mikrotik(tm) RouterBoard 532 series,
  726. based on the IDT RC32434 SoC.
  727. config CAVIUM_OCTEON_SOC
  728. bool "Cavium Networks Octeon SoC based boards"
  729. select CEVT_R4K
  730. select ARCH_PHYS_ADDR_T_64BIT
  731. select DMA_COHERENT
  732. select SYS_SUPPORTS_64BIT_KERNEL
  733. select SYS_SUPPORTS_BIG_ENDIAN
  734. select EDAC_SUPPORT
  735. select SYS_SUPPORTS_HOTPLUG_CPU
  736. select SYS_HAS_EARLY_PRINTK
  737. select SYS_HAS_CPU_CAVIUM_OCTEON
  738. select SWAP_IO_SPACE
  739. select HW_HAS_PCI
  740. select ZONE_DMA32
  741. select HOLES_IN_ZONE
  742. select ARCH_REQUIRE_GPIOLIB
  743. select LIBFDT
  744. select USE_OF
  745. select ARCH_SPARSEMEM_ENABLE
  746. select SYS_SUPPORTS_SMP
  747. select NR_CPUS_DEFAULT_16
  748. select BUILTIN_DTB
  749. help
  750. This option supports all of the Octeon reference boards from Cavium
  751. Networks. It builds a kernel that dynamically determines the Octeon
  752. CPU type and supports all known board reference implementations.
  753. Some of the supported boards are:
  754. EBT3000
  755. EBH3000
  756. EBH3100
  757. Thunder
  758. Kodama
  759. Hikari
  760. Say Y here for most Octeon reference boards.
  761. config NLM_XLR_BOARD
  762. bool "Netlogic XLR/XLS based systems"
  763. select BOOT_ELF32
  764. select NLM_COMMON
  765. select SYS_HAS_CPU_XLR
  766. select SYS_SUPPORTS_SMP
  767. select HW_HAS_PCI
  768. select SWAP_IO_SPACE
  769. select SYS_SUPPORTS_32BIT_KERNEL
  770. select SYS_SUPPORTS_64BIT_KERNEL
  771. select ARCH_PHYS_ADDR_T_64BIT
  772. select SYS_SUPPORTS_BIG_ENDIAN
  773. select SYS_SUPPORTS_HIGHMEM
  774. select DMA_COHERENT
  775. select NR_CPUS_DEFAULT_32
  776. select CEVT_R4K
  777. select CSRC_R4K
  778. select IRQ_CPU
  779. select ZONE_DMA32 if 64BIT
  780. select SYNC_R4K
  781. select SYS_HAS_EARLY_PRINTK
  782. select SYS_SUPPORTS_ZBOOT
  783. select SYS_SUPPORTS_ZBOOT_UART16550
  784. help
  785. Support for systems based on Netlogic XLR and XLS processors.
  786. Say Y here if you have a XLR or XLS based board.
  787. config NLM_XLP_BOARD
  788. bool "Netlogic XLP based systems"
  789. select BOOT_ELF32
  790. select NLM_COMMON
  791. select SYS_HAS_CPU_XLP
  792. select SYS_SUPPORTS_SMP
  793. select HW_HAS_PCI
  794. select SYS_SUPPORTS_32BIT_KERNEL
  795. select SYS_SUPPORTS_64BIT_KERNEL
  796. select ARCH_PHYS_ADDR_T_64BIT
  797. select SYS_SUPPORTS_BIG_ENDIAN
  798. select SYS_SUPPORTS_LITTLE_ENDIAN
  799. select SYS_SUPPORTS_HIGHMEM
  800. select DMA_COHERENT
  801. select NR_CPUS_DEFAULT_32
  802. select CEVT_R4K
  803. select CSRC_R4K
  804. select IRQ_CPU
  805. select ZONE_DMA32 if 64BIT
  806. select SYNC_R4K
  807. select SYS_HAS_EARLY_PRINTK
  808. select USE_OF
  809. select SYS_SUPPORTS_ZBOOT
  810. select SYS_SUPPORTS_ZBOOT_UART16550
  811. help
  812. This board is based on Netlogic XLP Processor.
  813. Say Y here if you have a XLP based board.
  814. config MIPS_PARAVIRT
  815. bool "Para-Virtualized guest system"
  816. select CEVT_R4K
  817. select CSRC_R4K
  818. select DMA_COHERENT
  819. select SYS_SUPPORTS_64BIT_KERNEL
  820. select SYS_SUPPORTS_32BIT_KERNEL
  821. select SYS_SUPPORTS_BIG_ENDIAN
  822. select SYS_SUPPORTS_SMP
  823. select NR_CPUS_DEFAULT_4
  824. select SYS_HAS_EARLY_PRINTK
  825. select SYS_HAS_CPU_MIPS32_R2
  826. select SYS_HAS_CPU_MIPS64_R2
  827. select SYS_HAS_CPU_CAVIUM_OCTEON
  828. select HW_HAS_PCI
  829. select SWAP_IO_SPACE
  830. help
  831. This option supports guest running under ????
  832. endchoice
  833. source "arch/mips/alchemy/Kconfig"
  834. source "arch/mips/ath25/Kconfig"
  835. source "arch/mips/ath79/Kconfig"
  836. source "arch/mips/bcm47xx/Kconfig"
  837. source "arch/mips/bcm63xx/Kconfig"
  838. source "arch/mips/jazz/Kconfig"
  839. source "arch/mips/jz4740/Kconfig"
  840. source "arch/mips/lantiq/Kconfig"
  841. source "arch/mips/lasat/Kconfig"
  842. source "arch/mips/pmcs-msp71xx/Kconfig"
  843. source "arch/mips/ralink/Kconfig"
  844. source "arch/mips/sgi-ip27/Kconfig"
  845. source "arch/mips/sibyte/Kconfig"
  846. source "arch/mips/txx9/Kconfig"
  847. source "arch/mips/vr41xx/Kconfig"
  848. source "arch/mips/cavium-octeon/Kconfig"
  849. source "arch/mips/loongson/Kconfig"
  850. source "arch/mips/loongson1/Kconfig"
  851. source "arch/mips/netlogic/Kconfig"
  852. source "arch/mips/paravirt/Kconfig"
  853. endmenu
  854. config RWSEM_GENERIC_SPINLOCK
  855. bool
  856. default y
  857. config RWSEM_XCHGADD_ALGORITHM
  858. bool
  859. config ARCH_HAS_ILOG2_U32
  860. bool
  861. default n
  862. config ARCH_HAS_ILOG2_U64
  863. bool
  864. default n
  865. config GENERIC_HWEIGHT
  866. bool
  867. default y
  868. config GENERIC_CALIBRATE_DELAY
  869. bool
  870. default y
  871. config SCHED_OMIT_FRAME_POINTER
  872. bool
  873. default y
  874. #
  875. # Select some configuration options automatically based on user selections.
  876. #
  877. config FW_ARC
  878. bool
  879. config ARCH_MAY_HAVE_PC_FDC
  880. bool
  881. config BOOT_RAW
  882. bool
  883. config CEVT_BCM1480
  884. bool
  885. config CEVT_DS1287
  886. bool
  887. config CEVT_GT641XX
  888. bool
  889. config CEVT_R4K
  890. bool
  891. config CEVT_SB1250
  892. bool
  893. config CEVT_TXX9
  894. bool
  895. config CSRC_BCM1480
  896. bool
  897. config CSRC_IOASIC
  898. bool
  899. config CSRC_R4K
  900. bool
  901. config CSRC_SB1250
  902. bool
  903. config GPIO_TXX9
  904. select ARCH_REQUIRE_GPIOLIB
  905. bool
  906. config FW_CFE
  907. bool
  908. config ARCH_DMA_ADDR_T_64BIT
  909. def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
  910. config DMA_MAYBE_COHERENT
  911. select DMA_NONCOHERENT
  912. bool
  913. config DMA_COHERENT
  914. bool
  915. config DMA_NONCOHERENT
  916. bool
  917. select NEED_DMA_MAP_STATE
  918. config NEED_DMA_MAP_STATE
  919. bool
  920. config SYS_HAS_EARLY_PRINTK
  921. bool
  922. config HOTPLUG_CPU
  923. bool "Support for hot-pluggable CPUs"
  924. depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
  925. help
  926. Say Y here to allow turning CPUs off and on. CPUs can be
  927. controlled through /sys/devices/system/cpu.
  928. (Note: power management support will enable this option
  929. automatically on SMP systems. )
  930. Say N if you want to disable CPU hotplug.
  931. config SYS_SUPPORTS_HOTPLUG_CPU
  932. bool
  933. config I8259
  934. bool
  935. select IRQ_DOMAIN
  936. config MIPS_BONITO64
  937. bool
  938. config MIPS_MSC
  939. bool
  940. config MIPS_NILE4
  941. bool
  942. config SYNC_R4K
  943. bool
  944. config MIPS_MACHINE
  945. def_bool n
  946. config NO_IOPORT_MAP
  947. def_bool n
  948. config GENERIC_CSUM
  949. bool
  950. config GENERIC_ISA_DMA
  951. bool
  952. select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
  953. select ISA_DMA_API
  954. config GENERIC_ISA_DMA_SUPPORT_BROKEN
  955. bool
  956. select GENERIC_ISA_DMA
  957. config ISA_DMA_API
  958. bool
  959. config HOLES_IN_ZONE
  960. bool
  961. #
  962. # Endianness selection. Sufficiently obscure so many users don't know what to
  963. # answer,so we try hard to limit the available choices. Also the use of a
  964. # choice statement should be more obvious to the user.
  965. #
  966. choice
  967. prompt "Endianness selection"
  968. help
  969. Some MIPS machines can be configured for either little or big endian
  970. byte order. These modes require different kernels and a different
  971. Linux distribution. In general there is one preferred byteorder for a
  972. particular system but some systems are just as commonly used in the
  973. one or the other endianness.
  974. config CPU_BIG_ENDIAN
  975. bool "Big endian"
  976. depends on SYS_SUPPORTS_BIG_ENDIAN
  977. config CPU_LITTLE_ENDIAN
  978. bool "Little endian"
  979. depends on SYS_SUPPORTS_LITTLE_ENDIAN
  980. endchoice
  981. config EXPORT_UASM
  982. bool
  983. config SYS_SUPPORTS_APM_EMULATION
  984. bool
  985. config SYS_SUPPORTS_BIG_ENDIAN
  986. bool
  987. config SYS_SUPPORTS_LITTLE_ENDIAN
  988. bool
  989. config SYS_SUPPORTS_HUGETLBFS
  990. bool
  991. depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
  992. default y
  993. config MIPS_HUGE_TLB_SUPPORT
  994. def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
  995. config IRQ_CPU
  996. bool
  997. select IRQ_DOMAIN
  998. config IRQ_CPU_RM7K
  999. bool
  1000. config IRQ_MSP_SLP
  1001. bool
  1002. config IRQ_MSP_CIC
  1003. bool
  1004. config IRQ_TXX9
  1005. bool
  1006. config IRQ_GT641XX
  1007. bool
  1008. config PCI_GT64XXX_PCI0
  1009. bool
  1010. config NO_EXCEPT_FILL
  1011. bool
  1012. config SOC_EMMA2RH
  1013. bool
  1014. select CEVT_R4K
  1015. select CSRC_R4K
  1016. select DMA_NONCOHERENT
  1017. select IRQ_CPU
  1018. select SWAP_IO_SPACE
  1019. select SYS_HAS_CPU_R5500
  1020. select SYS_SUPPORTS_32BIT_KERNEL
  1021. select SYS_SUPPORTS_64BIT_KERNEL
  1022. select SYS_SUPPORTS_BIG_ENDIAN
  1023. config SOC_PNX833X
  1024. bool
  1025. select CEVT_R4K
  1026. select CSRC_R4K
  1027. select IRQ_CPU
  1028. select DMA_NONCOHERENT
  1029. select SYS_HAS_CPU_MIPS32_R2
  1030. select SYS_SUPPORTS_32BIT_KERNEL
  1031. select SYS_SUPPORTS_LITTLE_ENDIAN
  1032. select SYS_SUPPORTS_BIG_ENDIAN
  1033. select SYS_SUPPORTS_MIPS16
  1034. select CPU_MIPSR2_IRQ_VI
  1035. config SOC_PNX8335
  1036. bool
  1037. select SOC_PNX833X
  1038. config MIPS_SPRAM
  1039. bool
  1040. config SWAP_IO_SPACE
  1041. bool
  1042. config SGI_HAS_INDYDOG
  1043. bool
  1044. config SGI_HAS_HAL2
  1045. bool
  1046. config SGI_HAS_SEEQ
  1047. bool
  1048. config SGI_HAS_WD93
  1049. bool
  1050. config SGI_HAS_ZILOG
  1051. bool
  1052. config SGI_HAS_I8042
  1053. bool
  1054. config DEFAULT_SGI_PARTITION
  1055. bool
  1056. config FW_ARC32
  1057. bool
  1058. config FW_SNIPROM
  1059. bool
  1060. config BOOT_ELF32
  1061. bool
  1062. config MIPS_L1_CACHE_SHIFT_4
  1063. bool
  1064. config MIPS_L1_CACHE_SHIFT_5
  1065. bool
  1066. config MIPS_L1_CACHE_SHIFT_6
  1067. bool
  1068. config MIPS_L1_CACHE_SHIFT_7
  1069. bool
  1070. config MIPS_L1_CACHE_SHIFT
  1071. int
  1072. default "4" if MIPS_L1_CACHE_SHIFT_4
  1073. default "5" if MIPS_L1_CACHE_SHIFT_5
  1074. default "6" if MIPS_L1_CACHE_SHIFT_6
  1075. default "7" if MIPS_L1_CACHE_SHIFT_7
  1076. default "5"
  1077. config HAVE_STD_PC_SERIAL_PORT
  1078. bool
  1079. config ARC_CONSOLE
  1080. bool "ARC console support"
  1081. depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
  1082. config ARC_MEMORY
  1083. bool
  1084. depends on MACH_JAZZ || SNI_RM || SGI_IP32
  1085. default y
  1086. config ARC_PROMLIB
  1087. bool
  1088. depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
  1089. default y
  1090. config FW_ARC64
  1091. bool
  1092. config BOOT_ELF64
  1093. bool
  1094. menu "CPU selection"
  1095. choice
  1096. prompt "CPU type"
  1097. default CPU_R4X00
  1098. config CPU_LOONGSON3
  1099. bool "Loongson 3 CPU"
  1100. depends on SYS_HAS_CPU_LOONGSON3
  1101. select CPU_SUPPORTS_64BIT_KERNEL
  1102. select CPU_SUPPORTS_HIGHMEM
  1103. select CPU_SUPPORTS_HUGEPAGES
  1104. select WEAK_ORDERING
  1105. select WEAK_REORDERING_BEYOND_LLSC
  1106. help
  1107. The Loongson 3 processor implements the MIPS64R2 instruction
  1108. set with many extensions.
  1109. config CPU_LOONGSON2E
  1110. bool "Loongson 2E"
  1111. depends on SYS_HAS_CPU_LOONGSON2E
  1112. select CPU_LOONGSON2
  1113. help
  1114. The Loongson 2E processor implements the MIPS III instruction set
  1115. with many extensions.
  1116. It has an internal FPGA northbridge, which is compatible to
  1117. bonito64.
  1118. config CPU_LOONGSON2F
  1119. bool "Loongson 2F"
  1120. depends on SYS_HAS_CPU_LOONGSON2F
  1121. select CPU_LOONGSON2
  1122. select ARCH_REQUIRE_GPIOLIB
  1123. help
  1124. The Loongson 2F processor implements the MIPS III instruction set
  1125. with many extensions.
  1126. Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
  1127. have a similar programming interface with FPGA northbridge used in
  1128. Loongson2E.
  1129. config CPU_LOONGSON1B
  1130. bool "Loongson 1B"
  1131. depends on SYS_HAS_CPU_LOONGSON1B
  1132. select CPU_LOONGSON1
  1133. help
  1134. The Loongson 1B is a 32-bit SoC, which implements the MIPS32
  1135. release 2 instruction set.
  1136. config CPU_MIPS32_R1
  1137. bool "MIPS32 Release 1"
  1138. depends on SYS_HAS_CPU_MIPS32_R1
  1139. select CPU_HAS_PREFETCH
  1140. select CPU_SUPPORTS_32BIT_KERNEL
  1141. select CPU_SUPPORTS_HIGHMEM
  1142. help
  1143. Choose this option to build a kernel for release 1 or later of the
  1144. MIPS32 architecture. Most modern embedded systems with a 32-bit
  1145. MIPS processor are based on a MIPS32 processor. If you know the
  1146. specific type of processor in your system, choose those that one
  1147. otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
  1148. Release 2 of the MIPS32 architecture is available since several
  1149. years so chances are you even have a MIPS32 Release 2 processor
  1150. in which case you should choose CPU_MIPS32_R2 instead for better
  1151. performance.
  1152. config CPU_MIPS32_R2
  1153. bool "MIPS32 Release 2"
  1154. depends on SYS_HAS_CPU_MIPS32_R2
  1155. select CPU_HAS_PREFETCH
  1156. select CPU_SUPPORTS_32BIT_KERNEL
  1157. select CPU_SUPPORTS_HIGHMEM
  1158. select CPU_SUPPORTS_MSA
  1159. select HAVE_KVM
  1160. help
  1161. Choose this option to build a kernel for release 2 or later of the
  1162. MIPS32 architecture. Most modern embedded systems with a 32-bit
  1163. MIPS processor are based on a MIPS32 processor. If you know the
  1164. specific type of processor in your system, choose those that one
  1165. otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
  1166. config CPU_MIPS32_R6
  1167. bool "MIPS32 Release 6 (EXPERIMENTAL)"
  1168. depends on SYS_HAS_CPU_MIPS32_R6
  1169. select CPU_HAS_PREFETCH
  1170. select CPU_SUPPORTS_32BIT_KERNEL
  1171. select CPU_SUPPORTS_HIGHMEM
  1172. select CPU_SUPPORTS_MSA
  1173. select GENERIC_CSUM
  1174. select HAVE_KVM
  1175. select MIPS_O32_FP64_SUPPORT
  1176. help
  1177. Choose this option to build a kernel for release 6 or later of the
  1178. MIPS32 architecture. New MIPS processors, starting with the Warrior
  1179. family, are based on a MIPS32r6 processor. If you own an older
  1180. processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
  1181. config CPU_MIPS64_R1
  1182. bool "MIPS64 Release 1"
  1183. depends on SYS_HAS_CPU_MIPS64_R1
  1184. select CPU_HAS_PREFETCH
  1185. select CPU_SUPPORTS_32BIT_KERNEL
  1186. select CPU_SUPPORTS_64BIT_KERNEL
  1187. select CPU_SUPPORTS_HIGHMEM
  1188. select CPU_SUPPORTS_HUGEPAGES
  1189. help
  1190. Choose this option to build a kernel for release 1 or later of the
  1191. MIPS64 architecture. Many modern embedded systems with a 64-bit
  1192. MIPS processor are based on a MIPS64 processor. If you know the
  1193. specific type of processor in your system, choose those that one
  1194. otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
  1195. Release 2 of the MIPS64 architecture is available since several
  1196. years so chances are you even have a MIPS64 Release 2 processor
  1197. in which case you should choose CPU_MIPS64_R2 instead for better
  1198. performance.
  1199. config CPU_MIPS64_R2
  1200. bool "MIPS64 Release 2"
  1201. depends on SYS_HAS_CPU_MIPS64_R2
  1202. select CPU_HAS_PREFETCH
  1203. select CPU_SUPPORTS_32BIT_KERNEL
  1204. select CPU_SUPPORTS_64BIT_KERNEL
  1205. select CPU_SUPPORTS_HIGHMEM
  1206. select CPU_SUPPORTS_HUGEPAGES
  1207. select CPU_SUPPORTS_MSA
  1208. help
  1209. Choose this option to build a kernel for release 2 or later of the
  1210. MIPS64 architecture. Many modern embedded systems with a 64-bit
  1211. MIPS processor are based on a MIPS64 processor. If you know the
  1212. specific type of processor in your system, choose those that one
  1213. otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
  1214. config CPU_MIPS64_R6
  1215. bool "MIPS64 Release 6 (EXPERIMENTAL)"
  1216. depends on SYS_HAS_CPU_MIPS64_R6
  1217. select CPU_HAS_PREFETCH
  1218. select CPU_SUPPORTS_32BIT_KERNEL
  1219. select CPU_SUPPORTS_64BIT_KERNEL
  1220. select CPU_SUPPORTS_HIGHMEM
  1221. select CPU_SUPPORTS_MSA
  1222. select GENERIC_CSUM
  1223. help
  1224. Choose this option to build a kernel for release 6 or later of the
  1225. MIPS64 architecture. New MIPS processors, starting with the Warrior
  1226. family, are based on a MIPS64r6 processor. If you own an older
  1227. processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
  1228. config CPU_R3000
  1229. bool "R3000"
  1230. depends on SYS_HAS_CPU_R3000
  1231. select CPU_HAS_WB
  1232. select CPU_SUPPORTS_32BIT_KERNEL
  1233. select CPU_SUPPORTS_HIGHMEM
  1234. help
  1235. Please make sure to pick the right CPU type. Linux/MIPS is not
  1236. designed to be generic, i.e. Kernels compiled for R3000 CPUs will
  1237. *not* work on R4000 machines and vice versa. However, since most
  1238. of the supported machines have an R4000 (or similar) CPU, R4x00
  1239. might be a safe bet. If the resulting kernel does not work,
  1240. try to recompile with R3000.
  1241. config CPU_TX39XX
  1242. bool "R39XX"
  1243. depends on SYS_HAS_CPU_TX39XX
  1244. select CPU_SUPPORTS_32BIT_KERNEL
  1245. config CPU_VR41XX
  1246. bool "R41xx"
  1247. depends on SYS_HAS_CPU_VR41XX
  1248. select CPU_SUPPORTS_32BIT_KERNEL
  1249. select CPU_SUPPORTS_64BIT_KERNEL
  1250. help
  1251. The options selects support for the NEC VR4100 series of processors.
  1252. Only choose this option if you have one of these processors as a
  1253. kernel built with this option will not run on any other type of
  1254. processor or vice versa.
  1255. config CPU_R4300
  1256. bool "R4300"
  1257. depends on SYS_HAS_CPU_R4300
  1258. select CPU_SUPPORTS_32BIT_KERNEL
  1259. select CPU_SUPPORTS_64BIT_KERNEL
  1260. help
  1261. MIPS Technologies R4300-series processors.
  1262. config CPU_R4X00
  1263. bool "R4x00"
  1264. depends on SYS_HAS_CPU_R4X00
  1265. select CPU_SUPPORTS_32BIT_KERNEL
  1266. select CPU_SUPPORTS_64BIT_KERNEL
  1267. select CPU_SUPPORTS_HUGEPAGES
  1268. help
  1269. MIPS Technologies R4000-series processors other than 4300, including
  1270. the R4000, R4400, R4600, and 4700.
  1271. config CPU_TX49XX
  1272. bool "R49XX"
  1273. depends on SYS_HAS_CPU_TX49XX
  1274. select CPU_HAS_PREFETCH
  1275. select CPU_SUPPORTS_32BIT_KERNEL
  1276. select CPU_SUPPORTS_64BIT_KERNEL
  1277. select CPU_SUPPORTS_HUGEPAGES
  1278. config CPU_R5000
  1279. bool "R5000"
  1280. depends on SYS_HAS_CPU_R5000
  1281. select CPU_SUPPORTS_32BIT_KERNEL
  1282. select CPU_SUPPORTS_64BIT_KERNEL
  1283. select CPU_SUPPORTS_HUGEPAGES
  1284. help
  1285. MIPS Technologies R5000-series processors other than the Nevada.
  1286. config CPU_R5432
  1287. bool "R5432"
  1288. depends on SYS_HAS_CPU_R5432
  1289. select CPU_SUPPORTS_32BIT_KERNEL
  1290. select CPU_SUPPORTS_64BIT_KERNEL
  1291. select CPU_SUPPORTS_HUGEPAGES
  1292. config CPU_R5500
  1293. bool "R5500"
  1294. depends on SYS_HAS_CPU_R5500
  1295. select CPU_SUPPORTS_32BIT_KERNEL
  1296. select CPU_SUPPORTS_64BIT_KERNEL
  1297. select CPU_SUPPORTS_HUGEPAGES
  1298. help
  1299. NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
  1300. instruction set.
  1301. config CPU_R6000
  1302. bool "R6000"
  1303. depends on SYS_HAS_CPU_R6000
  1304. select CPU_SUPPORTS_32BIT_KERNEL
  1305. help
  1306. MIPS Technologies R6000 and R6000A series processors. Note these
  1307. processors are extremely rare and the support for them is incomplete.
  1308. config CPU_NEVADA
  1309. bool "RM52xx"
  1310. depends on SYS_HAS_CPU_NEVADA
  1311. select CPU_SUPPORTS_32BIT_KERNEL
  1312. select CPU_SUPPORTS_64BIT_KERNEL
  1313. select CPU_SUPPORTS_HUGEPAGES
  1314. help
  1315. QED / PMC-Sierra RM52xx-series ("Nevada") processors.
  1316. config CPU_R8000
  1317. bool "R8000"
  1318. depends on SYS_HAS_CPU_R8000
  1319. select CPU_HAS_PREFETCH
  1320. select CPU_SUPPORTS_64BIT_KERNEL
  1321. help
  1322. MIPS Technologies R8000 processors. Note these processors are
  1323. uncommon and the support for them is incomplete.
  1324. config CPU_R10000
  1325. bool "R10000"
  1326. depends on SYS_HAS_CPU_R10000
  1327. select CPU_HAS_PREFETCH
  1328. select CPU_SUPPORTS_32BIT_KERNEL
  1329. select CPU_SUPPORTS_64BIT_KERNEL
  1330. select CPU_SUPPORTS_HIGHMEM
  1331. select CPU_SUPPORTS_HUGEPAGES
  1332. help
  1333. MIPS Technologies R10000-series processors.
  1334. config CPU_RM7000
  1335. bool "RM7000"
  1336. depends on SYS_HAS_CPU_RM7000
  1337. select CPU_HAS_PREFETCH
  1338. select CPU_SUPPORTS_32BIT_KERNEL
  1339. select CPU_SUPPORTS_64BIT_KERNEL
  1340. select CPU_SUPPORTS_HIGHMEM
  1341. select CPU_SUPPORTS_HUGEPAGES
  1342. config CPU_SB1
  1343. bool "SB1"
  1344. depends on SYS_HAS_CPU_SB1
  1345. select CPU_SUPPORTS_32BIT_KERNEL
  1346. select CPU_SUPPORTS_64BIT_KERNEL
  1347. select CPU_SUPPORTS_HIGHMEM
  1348. select CPU_SUPPORTS_HUGEPAGES
  1349. select WEAK_ORDERING
  1350. config CPU_CAVIUM_OCTEON
  1351. bool "Cavium Octeon processor"
  1352. depends on SYS_HAS_CPU_CAVIUM_OCTEON
  1353. select CPU_HAS_PREFETCH
  1354. select CPU_SUPPORTS_64BIT_KERNEL
  1355. select WEAK_ORDERING
  1356. select CPU_SUPPORTS_HIGHMEM
  1357. select CPU_SUPPORTS_HUGEPAGES
  1358. select USB_EHCI_BIG_ENDIAN_MMIO
  1359. select MIPS_L1_CACHE_SHIFT_7
  1360. help
  1361. The Cavium Octeon processor is a highly integrated chip containing
  1362. many ethernet hardware widgets for networking tasks. The processor
  1363. can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
  1364. Full details can be found at http://www.caviumnetworks.com.
  1365. config CPU_BMIPS
  1366. bool "Broadcom BMIPS"
  1367. depends on SYS_HAS_CPU_BMIPS
  1368. select CPU_MIPS32
  1369. select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
  1370. select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
  1371. select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
  1372. select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
  1373. select CPU_SUPPORTS_32BIT_KERNEL
  1374. select DMA_NONCOHERENT
  1375. select IRQ_CPU
  1376. select SWAP_IO_SPACE
  1377. select WEAK_ORDERING
  1378. select CPU_SUPPORTS_HIGHMEM
  1379. select CPU_HAS_PREFETCH
  1380. help
  1381. Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
  1382. config CPU_XLR
  1383. bool "Netlogic XLR SoC"
  1384. depends on SYS_HAS_CPU_XLR
  1385. select CPU_SUPPORTS_32BIT_KERNEL
  1386. select CPU_SUPPORTS_64BIT_KERNEL
  1387. select CPU_SUPPORTS_HIGHMEM
  1388. select CPU_SUPPORTS_HUGEPAGES
  1389. select WEAK_ORDERING
  1390. select WEAK_REORDERING_BEYOND_LLSC
  1391. help
  1392. Netlogic Microsystems XLR/XLS processors.
  1393. config CPU_XLP
  1394. bool "Netlogic XLP SoC"
  1395. depends on SYS_HAS_CPU_XLP
  1396. select CPU_SUPPORTS_32BIT_KERNEL
  1397. select CPU_SUPPORTS_64BIT_KERNEL
  1398. select CPU_SUPPORTS_HIGHMEM
  1399. select WEAK_ORDERING
  1400. select WEAK_REORDERING_BEYOND_LLSC
  1401. select CPU_HAS_PREFETCH
  1402. select CPU_MIPSR2
  1403. help
  1404. Netlogic Microsystems XLP processors.
  1405. endchoice
  1406. config CPU_MIPS32_3_5_FEATURES
  1407. bool "MIPS32 Release 3.5 Features"
  1408. depends on SYS_HAS_CPU_MIPS32_R3_5
  1409. depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
  1410. help
  1411. Choose this option to build a kernel for release 2 or later of the
  1412. MIPS32 architecture including features from the 3.5 release such as
  1413. support for Enhanced Virtual Addressing (EVA).
  1414. config CPU_MIPS32_3_5_EVA
  1415. bool "Enhanced Virtual Addressing (EVA)"
  1416. depends on CPU_MIPS32_3_5_FEATURES
  1417. select EVA
  1418. default y
  1419. help
  1420. Choose this option if you want to enable the Enhanced Virtual
  1421. Addressing (EVA) on your MIPS32 core (such as proAptiv).
  1422. One of its primary benefits is an increase in the maximum size
  1423. of lowmem (up to 3GB). If unsure, say 'N' here.
  1424. if CPU_LOONGSON2F
  1425. config CPU_NOP_WORKAROUNDS
  1426. bool
  1427. config CPU_JUMP_WORKAROUNDS
  1428. bool
  1429. config CPU_LOONGSON2F_WORKAROUNDS
  1430. bool "Loongson 2F Workarounds"
  1431. default y
  1432. select CPU_NOP_WORKAROUNDS
  1433. select CPU_JUMP_WORKAROUNDS
  1434. help
  1435. Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
  1436. require workarounds. Without workarounds the system may hang
  1437. unexpectedly. For more information please refer to the gas
  1438. -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
  1439. Loongson 2F03 and later have fixed these issues and no workarounds
  1440. are needed. The workarounds have no significant side effect on them
  1441. but may decrease the performance of the system so this option should
  1442. be disabled unless the kernel is intended to be run on 2F01 or 2F02
  1443. systems.
  1444. If unsure, please say Y.
  1445. endif # CPU_LOONGSON2F
  1446. config SYS_SUPPORTS_ZBOOT
  1447. bool
  1448. select HAVE_KERNEL_GZIP
  1449. select HAVE_KERNEL_BZIP2
  1450. select HAVE_KERNEL_LZ4
  1451. select HAVE_KERNEL_LZMA
  1452. select HAVE_KERNEL_LZO
  1453. select HAVE_KERNEL_XZ
  1454. config SYS_SUPPORTS_ZBOOT_UART16550
  1455. bool
  1456. select SYS_SUPPORTS_ZBOOT
  1457. config CPU_LOONGSON2
  1458. bool
  1459. select CPU_SUPPORTS_32BIT_KERNEL
  1460. select CPU_SUPPORTS_64BIT_KERNEL
  1461. select CPU_SUPPORTS_HIGHMEM
  1462. select CPU_SUPPORTS_HUGEPAGES
  1463. config CPU_LOONGSON1
  1464. bool
  1465. select CPU_MIPS32
  1466. select CPU_MIPSR2
  1467. select CPU_HAS_PREFETCH
  1468. select CPU_SUPPORTS_32BIT_KERNEL
  1469. select CPU_SUPPORTS_HIGHMEM
  1470. select CPU_SUPPORTS_CPUFREQ
  1471. config CPU_BMIPS32_3300
  1472. select SMP_UP if SMP
  1473. bool
  1474. config CPU_BMIPS4350
  1475. bool
  1476. select SYS_SUPPORTS_SMP
  1477. select SYS_SUPPORTS_HOTPLUG_CPU
  1478. config CPU_BMIPS4380
  1479. bool
  1480. select MIPS_L1_CACHE_SHIFT_6
  1481. select SYS_SUPPORTS_SMP
  1482. select SYS_SUPPORTS_HOTPLUG_CPU
  1483. config CPU_BMIPS5000
  1484. bool
  1485. select MIPS_CPU_SCACHE
  1486. select MIPS_L1_CACHE_SHIFT_7
  1487. select SYS_SUPPORTS_SMP
  1488. select SYS_SUPPORTS_HOTPLUG_CPU
  1489. config SYS_HAS_CPU_LOONGSON3
  1490. bool
  1491. select CPU_SUPPORTS_CPUFREQ
  1492. config SYS_HAS_CPU_LOONGSON2E
  1493. bool
  1494. config SYS_HAS_CPU_LOONGSON2F
  1495. bool
  1496. select CPU_SUPPORTS_CPUFREQ
  1497. select CPU_SUPPORTS_ADDRWINCFG if 64BIT
  1498. select CPU_SUPPORTS_UNCACHED_ACCELERATED
  1499. config SYS_HAS_CPU_LOONGSON1B
  1500. bool
  1501. config SYS_HAS_CPU_MIPS32_R1
  1502. bool
  1503. config SYS_HAS_CPU_MIPS32_R2
  1504. bool
  1505. config SYS_HAS_CPU_MIPS32_R3_5
  1506. bool
  1507. config SYS_HAS_CPU_MIPS32_R6
  1508. bool
  1509. config SYS_HAS_CPU_MIPS64_R1
  1510. bool
  1511. config SYS_HAS_CPU_MIPS64_R2
  1512. bool
  1513. config SYS_HAS_CPU_MIPS64_R6
  1514. bool
  1515. config SYS_HAS_CPU_R3000
  1516. bool
  1517. config SYS_HAS_CPU_TX39XX
  1518. bool
  1519. config SYS_HAS_CPU_VR41XX
  1520. bool
  1521. config SYS_HAS_CPU_R4300
  1522. bool
  1523. config SYS_HAS_CPU_R4X00
  1524. bool
  1525. config SYS_HAS_CPU_TX49XX
  1526. bool
  1527. config SYS_HAS_CPU_R5000
  1528. bool
  1529. config SYS_HAS_CPU_R5432
  1530. bool
  1531. config SYS_HAS_CPU_R5500
  1532. bool
  1533. config SYS_HAS_CPU_R6000
  1534. bool
  1535. config SYS_HAS_CPU_NEVADA
  1536. bool
  1537. config SYS_HAS_CPU_R8000
  1538. bool
  1539. config SYS_HAS_CPU_R10000
  1540. bool
  1541. config SYS_HAS_CPU_RM7000
  1542. bool
  1543. config SYS_HAS_CPU_SB1
  1544. bool
  1545. config SYS_HAS_CPU_CAVIUM_OCTEON
  1546. bool
  1547. config SYS_HAS_CPU_BMIPS
  1548. bool
  1549. config SYS_HAS_CPU_BMIPS32_3300
  1550. bool
  1551. select SYS_HAS_CPU_BMIPS
  1552. config SYS_HAS_CPU_BMIPS4350
  1553. bool
  1554. select SYS_HAS_CPU_BMIPS
  1555. config SYS_HAS_CPU_BMIPS4380
  1556. bool
  1557. select SYS_HAS_CPU_BMIPS
  1558. config SYS_HAS_CPU_BMIPS5000
  1559. bool
  1560. select SYS_HAS_CPU_BMIPS
  1561. config SYS_HAS_CPU_XLR
  1562. bool
  1563. config SYS_HAS_CPU_XLP
  1564. bool
  1565. config MIPS_MALTA_PM
  1566. depends on MIPS_MALTA
  1567. depends on PCI
  1568. bool
  1569. default y
  1570. #
  1571. # CPU may reorder R->R, R->W, W->R, W->W
  1572. # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
  1573. #
  1574. config WEAK_ORDERING
  1575. bool
  1576. #
  1577. # CPU may reorder reads and writes beyond LL/SC
  1578. # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
  1579. #
  1580. config WEAK_REORDERING_BEYOND_LLSC
  1581. bool
  1582. endmenu
  1583. #
  1584. # These two indicate any level of the MIPS32 and MIPS64 architecture
  1585. #
  1586. config CPU_MIPS32
  1587. bool
  1588. default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
  1589. config CPU_MIPS64
  1590. bool
  1591. default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
  1592. #
  1593. # These two indicate the revision of the architecture, either Release 1 or Release 2
  1594. #
  1595. config CPU_MIPSR1
  1596. bool
  1597. default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
  1598. config CPU_MIPSR2
  1599. bool
  1600. default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
  1601. select MIPS_SPRAM
  1602. config CPU_MIPSR6
  1603. bool
  1604. default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
  1605. select MIPS_SPRAM
  1606. config EVA
  1607. bool
  1608. config SYS_SUPPORTS_32BIT_KERNEL
  1609. bool
  1610. config SYS_SUPPORTS_64BIT_KERNEL
  1611. bool
  1612. config CPU_SUPPORTS_32BIT_KERNEL
  1613. bool
  1614. config CPU_SUPPORTS_64BIT_KERNEL
  1615. bool
  1616. config CPU_SUPPORTS_CPUFREQ
  1617. bool
  1618. config CPU_SUPPORTS_ADDRWINCFG
  1619. bool
  1620. config CPU_SUPPORTS_HUGEPAGES
  1621. bool
  1622. config CPU_SUPPORTS_UNCACHED_ACCELERATED
  1623. bool
  1624. config MIPS_PGD_C0_CONTEXT
  1625. bool
  1626. default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
  1627. #
  1628. # Set to y for ptrace access to watch registers.
  1629. #
  1630. config HARDWARE_WATCHPOINTS
  1631. bool
  1632. default y if CPU_MIPSR1 || CPU_MIPSR2
  1633. menu "Kernel type"
  1634. choice
  1635. prompt "Kernel code model"
  1636. help
  1637. You should only select this option if you have a workload that
  1638. actually benefits from 64-bit processing or if your machine has
  1639. large memory. You will only be presented a single option in this
  1640. menu if your system does not support both 32-bit and 64-bit kernels.
  1641. config 32BIT
  1642. bool "32-bit kernel"
  1643. depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
  1644. select TRAD_SIGNALS
  1645. help
  1646. Select this option if you want to build a 32-bit kernel.
  1647. config 64BIT
  1648. bool "64-bit kernel"
  1649. depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
  1650. help
  1651. Select this option if you want to build a 64-bit kernel.
  1652. endchoice
  1653. config KVM_GUEST
  1654. bool "KVM Guest Kernel"
  1655. depends on BROKEN_ON_SMP
  1656. help
  1657. Select this option if building a guest kernel for KVM (Trap & Emulate) mode
  1658. config KVM_GUEST_TIMER_FREQ
  1659. int "Count/Compare Timer Frequency (MHz)"
  1660. depends on KVM_GUEST
  1661. default 100
  1662. help
  1663. Set this to non-zero if building a guest kernel for KVM to skip RTC
  1664. emulation when determining guest CPU Frequency. Instead, the guest's
  1665. timer frequency is specified directly.
  1666. choice
  1667. prompt "Kernel page size"
  1668. default PAGE_SIZE_4KB
  1669. config PAGE_SIZE_4KB
  1670. bool "4kB"
  1671. depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
  1672. help
  1673. This option select the standard 4kB Linux page size. On some
  1674. R3000-family processors this is the only available page size. Using
  1675. 4kB page size will minimize memory consumption and is therefore
  1676. recommended for low memory systems.
  1677. config PAGE_SIZE_8KB
  1678. bool "8kB"
  1679. depends on CPU_R8000 || CPU_CAVIUM_OCTEON
  1680. help
  1681. Using 8kB page size will result in higher performance kernel at
  1682. the price of higher memory consumption. This option is available
  1683. only on R8000 and cnMIPS processors. Note that you will need a
  1684. suitable Linux distribution to support this.
  1685. config PAGE_SIZE_16KB
  1686. bool "16kB"
  1687. depends on !CPU_R3000 && !CPU_TX39XX
  1688. help
  1689. Using 16kB page size will result in higher performance kernel at
  1690. the price of higher memory consumption. This option is available on
  1691. all non-R3000 family processors. Note that you will need a suitable
  1692. Linux distribution to support this.
  1693. config PAGE_SIZE_32KB
  1694. bool "32kB"
  1695. depends on CPU_CAVIUM_OCTEON
  1696. help
  1697. Using 32kB page size will result in higher performance kernel at
  1698. the price of higher memory consumption. This option is available
  1699. only on cnMIPS cores. Note that you will need a suitable Linux
  1700. distribution to support this.
  1701. config PAGE_SIZE_64KB
  1702. bool "64kB"
  1703. depends on !CPU_R3000 && !CPU_TX39XX
  1704. help
  1705. Using 64kB page size will result in higher performance kernel at
  1706. the price of higher memory consumption. This option is available on
  1707. all non-R3000 family processor. Not that at the time of this
  1708. writing this option is still high experimental.
  1709. endchoice
  1710. config FORCE_MAX_ZONEORDER
  1711. int "Maximum zone order"
  1712. range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
  1713. default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
  1714. range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
  1715. default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
  1716. range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
  1717. default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
  1718. range 11 64
  1719. default "11"
  1720. help
  1721. The kernel memory allocator divides physically contiguous memory
  1722. blocks into "zones", where each zone is a power of two number of
  1723. pages. This option selects the largest power of two that the kernel
  1724. keeps in the memory allocator. If you need to allocate very large
  1725. blocks of physically contiguous memory, then you may need to
  1726. increase this value.
  1727. This config option is actually maximum order plus one. For example,
  1728. a value of 11 means that the largest free memory block is 2^10 pages.
  1729. The page size is not necessarily 4KB. Keep this in mind
  1730. when choosing a value for this option.
  1731. config BOARD_SCACHE
  1732. bool
  1733. config IP22_CPU_SCACHE
  1734. bool
  1735. select BOARD_SCACHE
  1736. #
  1737. # Support for a MIPS32 / MIPS64 style S-caches
  1738. #
  1739. config MIPS_CPU_SCACHE
  1740. bool
  1741. select BOARD_SCACHE
  1742. config R5000_CPU_SCACHE
  1743. bool
  1744. select BOARD_SCACHE
  1745. config RM7000_CPU_SCACHE
  1746. bool
  1747. select BOARD_SCACHE
  1748. config SIBYTE_DMA_PAGEOPS
  1749. bool "Use DMA to clear/copy pages"
  1750. depends on CPU_SB1
  1751. help
  1752. Instead of using the CPU to zero and copy pages, use a Data Mover
  1753. channel. These DMA channels are otherwise unused by the standard
  1754. SiByte Linux port. Seems to give a small performance benefit.
  1755. config CPU_HAS_PREFETCH
  1756. bool
  1757. config CPU_GENERIC_DUMP_TLB
  1758. bool
  1759. default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
  1760. config CPU_R4K_FPU
  1761. bool
  1762. default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
  1763. config CPU_R4K_CACHE_TLB
  1764. bool
  1765. default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
  1766. config MIPS_MT_SMP
  1767. bool "MIPS MT SMP support (1 TC on each available VPE)"
  1768. depends on SYS_SUPPORTS_MULTITHREADING
  1769. select CPU_MIPSR2_IRQ_VI
  1770. select CPU_MIPSR2_IRQ_EI
  1771. select SYNC_R4K
  1772. select MIPS_GIC_IPI
  1773. select MIPS_MT
  1774. select SMP
  1775. select SMP_UP
  1776. select SYS_SUPPORTS_SMP
  1777. select SYS_SUPPORTS_SCHED_SMT
  1778. select MIPS_PERF_SHARED_TC_COUNTERS
  1779. help
  1780. This is a kernel model which is known as SMVP. This is supported
  1781. on cores with the MT ASE and uses the available VPEs to implement
  1782. virtual processors which supports SMP. This is equivalent to the
  1783. Intel Hyperthreading feature. For further information go to
  1784. <http://www.imgtec.com/mips/mips-multithreading.asp>.
  1785. config MIPS_MT
  1786. bool
  1787. config SCHED_SMT
  1788. bool "SMT (multithreading) scheduler support"
  1789. depends on SYS_SUPPORTS_SCHED_SMT
  1790. default n
  1791. help
  1792. SMT scheduler support improves the CPU scheduler's decision making
  1793. when dealing with MIPS MT enabled cores at a cost of slightly
  1794. increased overhead in some places. If unsure say N here.
  1795. config SYS_SUPPORTS_SCHED_SMT
  1796. bool
  1797. config SYS_SUPPORTS_MULTITHREADING
  1798. bool
  1799. config MIPS_MT_FPAFF
  1800. bool "Dynamic FPU affinity for FP-intensive threads"
  1801. default y
  1802. depends on MIPS_MT_SMP
  1803. config MIPSR2_TO_R6_EMULATOR
  1804. bool "MIPS R2-to-R6 emulator"
  1805. depends on CPU_MIPSR6 && !SMP
  1806. default y
  1807. help
  1808. Choose this option if you want to run non-R6 MIPS userland code.
  1809. Even if you say 'Y' here, the emulator will still be disabled by
  1810. default. You can enable it using the 'mipsr2emul' kernel option.
  1811. The only reason this is a build-time option is to save ~14K from the
  1812. final kernel image.
  1813. comment "MIPS R2-to-R6 emulator is only available for UP kernels"
  1814. depends on SMP && CPU_MIPSR6
  1815. config MIPS_VPE_LOADER
  1816. bool "VPE loader support."
  1817. depends on SYS_SUPPORTS_MULTITHREADING && MODULES
  1818. select CPU_MIPSR2_IRQ_VI
  1819. select CPU_MIPSR2_IRQ_EI
  1820. select MIPS_MT
  1821. help
  1822. Includes a loader for loading an elf relocatable object
  1823. onto another VPE and running it.
  1824. config MIPS_VPE_LOADER_CMP
  1825. bool
  1826. default "y"
  1827. depends on MIPS_VPE_LOADER && MIPS_CMP
  1828. config MIPS_VPE_LOADER_MT
  1829. bool
  1830. default "y"
  1831. depends on MIPS_VPE_LOADER && !MIPS_CMP
  1832. config MIPS_VPE_LOADER_TOM
  1833. bool "Load VPE program into memory hidden from linux"
  1834. depends on MIPS_VPE_LOADER
  1835. default y
  1836. help
  1837. The loader can use memory that is present but has been hidden from
  1838. Linux using the kernel command line option "mem=xxMB". It's up to
  1839. you to ensure the amount you put in the option and the space your
  1840. program requires is less or equal to the amount physically present.
  1841. config MIPS_VPE_APSP_API
  1842. bool "Enable support for AP/SP API (RTLX)"
  1843. depends on MIPS_VPE_LOADER
  1844. help
  1845. config MIPS_VPE_APSP_API_CMP
  1846. bool
  1847. default "y"
  1848. depends on MIPS_VPE_APSP_API && MIPS_CMP
  1849. config MIPS_VPE_APSP_API_MT
  1850. bool
  1851. default "y"
  1852. depends on MIPS_VPE_APSP_API && !MIPS_CMP
  1853. config MIPS_CMP
  1854. bool "MIPS CMP framework support (DEPRECATED)"
  1855. depends on SYS_SUPPORTS_MIPS_CMP
  1856. select MIPS_GIC_IPI
  1857. select SMP
  1858. select SYNC_R4K
  1859. select SYS_SUPPORTS_SMP
  1860. select WEAK_ORDERING
  1861. default n
  1862. help
  1863. Select this if you are using a bootloader which implements the "CMP
  1864. framework" protocol (ie. YAMON) and want your kernel to make use of
  1865. its ability to start secondary CPUs.
  1866. Unless you have a specific need, you should use CONFIG_MIPS_CPS
  1867. instead of this.
  1868. config MIPS_CPS
  1869. bool "MIPS Coherent Processing System support"
  1870. depends on SYS_SUPPORTS_MIPS_CPS
  1871. select MIPS_CM
  1872. select MIPS_CPC
  1873. select MIPS_CPS_PM if HOTPLUG_CPU
  1874. select MIPS_GIC_IPI
  1875. select SMP
  1876. select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
  1877. select SYS_SUPPORTS_HOTPLUG_CPU
  1878. select SYS_SUPPORTS_SMP
  1879. select WEAK_ORDERING
  1880. help
  1881. Select this if you wish to run an SMP kernel across multiple cores
  1882. within a MIPS Coherent Processing System. When this option is
  1883. enabled the kernel will probe for other cores and boot them with
  1884. no external assistance. It is safe to enable this when hardware
  1885. support is unavailable.
  1886. config MIPS_CPS_PM
  1887. depends on MIPS_CPS
  1888. select MIPS_CPC
  1889. bool
  1890. config MIPS_GIC_IPI
  1891. bool
  1892. config MIPS_CM
  1893. bool
  1894. config MIPS_CPC
  1895. bool
  1896. config SB1_PASS_1_WORKAROUNDS
  1897. bool
  1898. depends on CPU_SB1_PASS_1
  1899. default y
  1900. config SB1_PASS_2_WORKAROUNDS
  1901. bool
  1902. depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
  1903. default y
  1904. config SB1_PASS_2_1_WORKAROUNDS
  1905. bool
  1906. depends on CPU_SB1 && CPU_SB1_PASS_2
  1907. default y
  1908. config ARCH_PHYS_ADDR_T_64BIT
  1909. bool
  1910. choice
  1911. prompt "SmartMIPS or microMIPS ASE support"
  1912. config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
  1913. bool "None"
  1914. help
  1915. Select this if you want neither microMIPS nor SmartMIPS support
  1916. config CPU_HAS_SMARTMIPS
  1917. depends on SYS_SUPPORTS_SMARTMIPS
  1918. bool "SmartMIPS"
  1919. help
  1920. SmartMIPS is a extension of the MIPS32 architecture aimed at
  1921. increased security at both hardware and software level for
  1922. smartcards. Enabling this option will allow proper use of the
  1923. SmartMIPS instructions by Linux applications. However a kernel with
  1924. this option will not work on a MIPS core without SmartMIPS core. If
  1925. you don't know you probably don't have SmartMIPS and should say N
  1926. here.
  1927. config CPU_MICROMIPS
  1928. depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
  1929. bool "microMIPS"
  1930. help
  1931. When this option is enabled the kernel will be built using the
  1932. microMIPS ISA
  1933. endchoice
  1934. config CPU_HAS_MSA
  1935. bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
  1936. depends on CPU_SUPPORTS_MSA
  1937. depends on 64BIT || MIPS_O32_FP64_SUPPORT
  1938. help
  1939. MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
  1940. and a set of SIMD instructions to operate on them. When this option
  1941. is enabled the kernel will support allocating & switching MSA
  1942. vector register contexts. If you know that your kernel will only be
  1943. running on CPUs which do not support MSA or that your userland will
  1944. not be making use of it then you may wish to say N here to reduce
  1945. the size & complexity of your kernel.
  1946. If unsure, say Y.
  1947. config CPU_HAS_WB
  1948. bool
  1949. config XKS01
  1950. bool
  1951. #
  1952. # Vectored interrupt mode is an R2 feature
  1953. #
  1954. config CPU_MIPSR2_IRQ_VI
  1955. bool
  1956. #
  1957. # Extended interrupt mode is an R2 feature
  1958. #
  1959. config CPU_MIPSR2_IRQ_EI
  1960. bool
  1961. config CPU_HAS_SYNC
  1962. bool
  1963. depends on !CPU_R3000
  1964. default y
  1965. #
  1966. # CPU non-features
  1967. #
  1968. config CPU_DADDI_WORKAROUNDS
  1969. bool
  1970. config CPU_R4000_WORKAROUNDS
  1971. bool
  1972. select CPU_R4400_WORKAROUNDS
  1973. config CPU_R4400_WORKAROUNDS
  1974. bool
  1975. #
  1976. # - Highmem only makes sense for the 32-bit kernel.
  1977. # - The current highmem code will only work properly on physically indexed
  1978. # caches such as R3000, SB1, R7000 or those that look like they're virtually
  1979. # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
  1980. # moment we protect the user and offer the highmem option only on machines
  1981. # where it's known to be safe. This will not offer highmem on a few systems
  1982. # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
  1983. # indexed CPUs but we're playing safe.
  1984. # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
  1985. # know they might have memory configurations that could make use of highmem
  1986. # support.
  1987. #
  1988. config HIGHMEM
  1989. bool "High Memory Support"
  1990. depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
  1991. config CPU_SUPPORTS_HIGHMEM
  1992. bool
  1993. config SYS_SUPPORTS_HIGHMEM
  1994. bool
  1995. config SYS_SUPPORTS_SMARTMIPS
  1996. bool
  1997. config SYS_SUPPORTS_MICROMIPS
  1998. bool
  1999. config SYS_SUPPORTS_MIPS16
  2000. bool
  2001. help
  2002. This option must be set if a kernel might be executed on a MIPS16-
  2003. enabled CPU even if MIPS16 is not actually being used. In other
  2004. words, it makes the kernel MIPS16-tolerant.
  2005. config CPU_SUPPORTS_MSA
  2006. bool
  2007. config ARCH_FLATMEM_ENABLE
  2008. def_bool y
  2009. depends on !NUMA && !CPU_LOONGSON2
  2010. config ARCH_DISCONTIGMEM_ENABLE
  2011. bool
  2012. default y if SGI_IP27
  2013. help
  2014. Say Y to support efficient handling of discontiguous physical memory,
  2015. for architectures which are either NUMA (Non-Uniform Memory Access)
  2016. or have huge holes in the physical address space for other reasons.
  2017. See <file:Documentation/vm/numa> for more.
  2018. config ARCH_SPARSEMEM_ENABLE
  2019. bool
  2020. select SPARSEMEM_STATIC
  2021. config NUMA
  2022. bool "NUMA Support"
  2023. depends on SYS_SUPPORTS_NUMA
  2024. help
  2025. Say Y to compile the kernel to support NUMA (Non-Uniform Memory
  2026. Access). This option improves performance on systems with more
  2027. than two nodes; on two node systems it is generally better to
  2028. leave it disabled; on single node systems disable this option
  2029. disabled.
  2030. config SYS_SUPPORTS_NUMA
  2031. bool
  2032. config NODES_SHIFT
  2033. int
  2034. default "6"
  2035. depends on NEED_MULTIPLE_NODES
  2036. config HW_PERF_EVENTS
  2037. bool "Enable hardware performance counter support for perf events"
  2038. depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
  2039. default y
  2040. help
  2041. Enable hardware performance counter support for perf events. If
  2042. disabled, perf events will use software events only.
  2043. source "mm/Kconfig"
  2044. config SMP
  2045. bool "Multi-Processing support"
  2046. depends on SYS_SUPPORTS_SMP
  2047. help
  2048. This enables support for systems with more than one CPU. If you have
  2049. a system with only one CPU, say N. If you have a system with more
  2050. than one CPU, say Y.
  2051. If you say N here, the kernel will run on uni- and multiprocessor
  2052. machines, but will use only one CPU of a multiprocessor machine. If
  2053. you say Y here, the kernel will run on many, but not all,
  2054. uniprocessor machines. On a uniprocessor machine, the kernel
  2055. will run faster if you say N here.
  2056. People using multiprocessor machines who say Y here should also say
  2057. Y to "Enhanced Real Time Clock Support", below.
  2058. See also the SMP-HOWTO available at
  2059. <http://www.tldp.org/docs.html#howto>.
  2060. If you don't know what to do here, say N.
  2061. config SMP_UP
  2062. bool
  2063. config SYS_SUPPORTS_MIPS_CMP
  2064. bool
  2065. config SYS_SUPPORTS_MIPS_CPS
  2066. bool
  2067. config SYS_SUPPORTS_SMP
  2068. bool
  2069. config NR_CPUS_DEFAULT_4
  2070. bool
  2071. config NR_CPUS_DEFAULT_8
  2072. bool
  2073. config NR_CPUS_DEFAULT_16
  2074. bool
  2075. config NR_CPUS_DEFAULT_32
  2076. bool
  2077. config NR_CPUS_DEFAULT_64
  2078. bool
  2079. config NR_CPUS
  2080. int "Maximum number of CPUs (2-256)"
  2081. range 2 256
  2082. depends on SMP
  2083. default "4" if NR_CPUS_DEFAULT_4
  2084. default "8" if NR_CPUS_DEFAULT_8
  2085. default "16" if NR_CPUS_DEFAULT_16
  2086. default "32" if NR_CPUS_DEFAULT_32
  2087. default "64" if NR_CPUS_DEFAULT_64
  2088. help
  2089. This allows you to specify the maximum number of CPUs which this
  2090. kernel will support. The maximum supported value is 32 for 32-bit
  2091. kernel and 64 for 64-bit kernels; the minimum value which makes
  2092. sense is 1 for Qemu (useful only for kernel debugging purposes)
  2093. and 2 for all others.
  2094. This is purely to save memory - each supported CPU adds
  2095. approximately eight kilobytes to the kernel image. For best
  2096. performance should round up your number of processors to the next
  2097. power of two.
  2098. config MIPS_PERF_SHARED_TC_COUNTERS
  2099. bool
  2100. #
  2101. # Timer Interrupt Frequency Configuration
  2102. #
  2103. choice
  2104. prompt "Timer frequency"
  2105. default HZ_250
  2106. help
  2107. Allows the configuration of the timer frequency.
  2108. config HZ_48
  2109. bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
  2110. config HZ_100
  2111. bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
  2112. config HZ_128
  2113. bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
  2114. config HZ_250
  2115. bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
  2116. config HZ_256
  2117. bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
  2118. config HZ_1000
  2119. bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
  2120. config HZ_1024
  2121. bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
  2122. endchoice
  2123. config SYS_SUPPORTS_48HZ
  2124. bool
  2125. config SYS_SUPPORTS_100HZ
  2126. bool
  2127. config SYS_SUPPORTS_128HZ
  2128. bool
  2129. config SYS_SUPPORTS_250HZ
  2130. bool
  2131. config SYS_SUPPORTS_256HZ
  2132. bool
  2133. config SYS_SUPPORTS_1000HZ
  2134. bool
  2135. config SYS_SUPPORTS_1024HZ
  2136. bool
  2137. config SYS_SUPPORTS_ARBIT_HZ
  2138. bool
  2139. default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
  2140. !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
  2141. !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
  2142. !SYS_SUPPORTS_1024HZ
  2143. config HZ
  2144. int
  2145. default 48 if HZ_48
  2146. default 100 if HZ_100
  2147. default 128 if HZ_128
  2148. default 250 if HZ_250
  2149. default 256 if HZ_256
  2150. default 1000 if HZ_1000
  2151. default 1024 if HZ_1024
  2152. source "kernel/Kconfig.preempt"
  2153. config KEXEC
  2154. bool "Kexec system call"
  2155. help
  2156. kexec is a system call that implements the ability to shutdown your
  2157. current kernel, and to start another kernel. It is like a reboot
  2158. but it is independent of the system firmware. And like a reboot
  2159. you can start any kernel with it, not just Linux.
  2160. The name comes from the similarity to the exec system call.
  2161. It is an ongoing process to be certain the hardware in a machine
  2162. is properly shutdown, so do not be surprised if this code does not
  2163. initially work for you. As of this writing the exact hardware
  2164. interface is strongly in flux, so no good recommendation can be
  2165. made.
  2166. config CRASH_DUMP
  2167. bool "Kernel crash dumps"
  2168. help
  2169. Generate crash dump after being started by kexec.
  2170. This should be normally only set in special crash dump kernels
  2171. which are loaded in the main kernel with kexec-tools into
  2172. a specially reserved region and then later executed after
  2173. a crash by kdump/kexec. The crash dump kernel must be compiled
  2174. to a memory address not used by the main kernel or firmware using
  2175. PHYSICAL_START.
  2176. config PHYSICAL_START
  2177. hex "Physical address where the kernel is loaded"
  2178. default "0xffffffff84000000" if 64BIT
  2179. default "0x84000000" if 32BIT
  2180. depends on CRASH_DUMP
  2181. help
  2182. This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
  2183. If you plan to use kernel for capturing the crash dump change
  2184. this value to start of the reserved region (the "X" value as
  2185. specified in the "crashkernel=YM@XM" command line boot parameter
  2186. passed to the panic-ed kernel).
  2187. config SECCOMP
  2188. bool "Enable seccomp to safely compute untrusted bytecode"
  2189. depends on PROC_FS
  2190. default y
  2191. help
  2192. This kernel feature is useful for number crunching applications
  2193. that may need to compute untrusted bytecode during their
  2194. execution. By using pipes or other transports made available to
  2195. the process as file descriptors supporting the read/write
  2196. syscalls, it's possible to isolate those applications in
  2197. their own address space using seccomp. Once seccomp is
  2198. enabled via /proc/<pid>/seccomp, it cannot be disabled
  2199. and the task is only allowed to execute a few safe syscalls
  2200. defined by each seccomp mode.
  2201. If unsure, say Y. Only embedded should say N here.
  2202. config MIPS_O32_FP64_SUPPORT
  2203. bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
  2204. depends on 32BIT || MIPS32_O32
  2205. help
  2206. When this is enabled, the kernel will support use of 64-bit floating
  2207. point registers with binaries using the O32 ABI along with the
  2208. EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
  2209. 32-bit MIPS systems this support is at the cost of increasing the
  2210. size and complexity of the compiled FPU emulator. Thus if you are
  2211. running a MIPS32 system and know that none of your userland binaries
  2212. will require 64-bit floating point, you may wish to reduce the size
  2213. of your kernel & potentially improve FP emulation performance by
  2214. saying N here.
  2215. Although binutils currently supports use of this flag the details
  2216. concerning its effect upon the O32 ABI in userland are still being
  2217. worked on. In order to avoid userland becoming dependant upon current
  2218. behaviour before the details have been finalised, this option should
  2219. be considered experimental and only enabled by those working upon
  2220. said details.
  2221. If unsure, say N.
  2222. config USE_OF
  2223. bool
  2224. select OF
  2225. select OF_EARLY_FLATTREE
  2226. select IRQ_DOMAIN
  2227. config BUILTIN_DTB
  2228. bool
  2229. endmenu
  2230. config LOCKDEP_SUPPORT
  2231. bool
  2232. default y
  2233. config STACKTRACE_SUPPORT
  2234. bool
  2235. default y
  2236. config PGTABLE_LEVELS
  2237. int
  2238. default 3 if 64BIT && !PAGE_SIZE_64KB
  2239. default 2
  2240. source "init/Kconfig"
  2241. source "kernel/Kconfig.freezer"
  2242. menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
  2243. config HW_HAS_EISA
  2244. bool
  2245. config HW_HAS_PCI
  2246. bool
  2247. config PCI
  2248. bool "Support for PCI controller"
  2249. depends on HW_HAS_PCI
  2250. select PCI_DOMAINS
  2251. select NO_GENERIC_PCI_IOPORT_MAP
  2252. help
  2253. Find out whether you have a PCI motherboard. PCI is the name of a
  2254. bus system, i.e. the way the CPU talks to the other stuff inside
  2255. your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
  2256. say Y, otherwise N.
  2257. config HT_PCI
  2258. bool "Support for HT-linked PCI"
  2259. default y
  2260. depends on CPU_LOONGSON3
  2261. select PCI
  2262. select PCI_DOMAINS
  2263. help
  2264. Loongson family machines use Hyper-Transport bus for inter-core
  2265. connection and device connection. The PCI bus is a subordinate
  2266. linked at HT. Choose Y for Loongson-3 based machines.
  2267. config PCI_DOMAINS
  2268. bool
  2269. source "drivers/pci/Kconfig"
  2270. source "drivers/pci/pcie/Kconfig"
  2271. #
  2272. # ISA support is now enabled via select. Too many systems still have the one
  2273. # or other ISA chip on the board that users don't know about so don't expect
  2274. # users to choose the right thing ...
  2275. #
  2276. config ISA
  2277. bool
  2278. config EISA
  2279. bool "EISA support"
  2280. depends on HW_HAS_EISA
  2281. select ISA
  2282. select GENERIC_ISA_DMA
  2283. ---help---
  2284. The Extended Industry Standard Architecture (EISA) bus was
  2285. developed as an open alternative to the IBM MicroChannel bus.
  2286. The EISA bus provided some of the features of the IBM MicroChannel
  2287. bus while maintaining backward compatibility with cards made for
  2288. the older ISA bus. The EISA bus saw limited use between 1988 and
  2289. 1995 when it was made obsolete by the PCI bus.
  2290. Say Y here if you are building a kernel for an EISA-based machine.
  2291. Otherwise, say N.
  2292. source "drivers/eisa/Kconfig"
  2293. config TC
  2294. bool "TURBOchannel support"
  2295. depends on MACH_DECSTATION
  2296. help
  2297. TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
  2298. processors. TURBOchannel programming specifications are available
  2299. at:
  2300. <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
  2301. and:
  2302. <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
  2303. Linux driver support status is documented at:
  2304. <http://www.linux-mips.org/wiki/DECstation>
  2305. config MMU
  2306. bool
  2307. default y
  2308. config I8253
  2309. bool
  2310. select CLKSRC_I8253
  2311. select CLKEVT_I8253
  2312. select MIPS_EXTERNAL_TIMER
  2313. config ZONE_DMA
  2314. bool
  2315. config ZONE_DMA32
  2316. bool
  2317. source "drivers/pcmcia/Kconfig"
  2318. source "drivers/pci/hotplug/Kconfig"
  2319. config RAPIDIO
  2320. tristate "RapidIO support"
  2321. depends on PCI
  2322. default n
  2323. help
  2324. If you say Y here, the kernel will include drivers and
  2325. infrastructure code to support RapidIO interconnect devices.
  2326. source "drivers/rapidio/Kconfig"
  2327. endmenu
  2328. menu "Executable file formats"
  2329. source "fs/Kconfig.binfmt"
  2330. config TRAD_SIGNALS
  2331. bool
  2332. config MIPS32_COMPAT
  2333. bool
  2334. config COMPAT
  2335. bool
  2336. config SYSVIPC_COMPAT
  2337. bool
  2338. config MIPS32_O32
  2339. bool "Kernel support for o32 binaries"
  2340. depends on 64BIT
  2341. select ARCH_WANT_OLD_COMPAT_IPC
  2342. select COMPAT
  2343. select MIPS32_COMPAT
  2344. select SYSVIPC_COMPAT if SYSVIPC
  2345. help
  2346. Select this option if you want to run o32 binaries. These are pure
  2347. 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
  2348. existing binaries are in this format.
  2349. If unsure, say Y.
  2350. config MIPS32_N32
  2351. bool "Kernel support for n32 binaries"
  2352. depends on 64BIT
  2353. select COMPAT
  2354. select MIPS32_COMPAT
  2355. select SYSVIPC_COMPAT if SYSVIPC
  2356. help
  2357. Select this option if you want to run n32 binaries. These are
  2358. 64-bit binaries using 32-bit quantities for addressing and certain
  2359. data that would normally be 64-bit. They are used in special
  2360. cases.
  2361. If unsure, say N.
  2362. config BINFMT_ELF32
  2363. bool
  2364. default y if MIPS32_O32 || MIPS32_N32
  2365. endmenu
  2366. menu "Power management options"
  2367. config ARCH_HIBERNATION_POSSIBLE
  2368. def_bool y
  2369. depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
  2370. config ARCH_SUSPEND_POSSIBLE
  2371. def_bool y
  2372. depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
  2373. source "kernel/power/Kconfig"
  2374. endmenu
  2375. config MIPS_EXTERNAL_TIMER
  2376. bool
  2377. menu "CPU Power Management"
  2378. if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
  2379. source "drivers/cpufreq/Kconfig"
  2380. endif
  2381. source "drivers/cpuidle/Kconfig"
  2382. endmenu
  2383. source "net/Kconfig"
  2384. source "drivers/Kconfig"
  2385. source "drivers/firmware/Kconfig"
  2386. source "fs/Kconfig"
  2387. source "arch/mips/Kconfig.debug"
  2388. source "security/Kconfig"
  2389. source "crypto/Kconfig"
  2390. source "lib/Kconfig"
  2391. source "arch/mips/kvm/Kconfig"