xref: /linux/arch/openrisc/Kconfig (revision f8c4a270d9330a2bc179aeef0a22ea1ed288fb50)
1*f8c4a270SJonas Bonn#
2*f8c4a270SJonas Bonn# For a description of the syntax of this configuration file,
3*f8c4a270SJonas Bonn# see Documentation/kbuild/config-language.txt.
4*f8c4a270SJonas Bonn#
5*f8c4a270SJonas Bonn
6*f8c4a270SJonas Bonnconfig OPENRISC
7*f8c4a270SJonas Bonn	def_bool y
8*f8c4a270SJonas Bonn	select OF
9*f8c4a270SJonas Bonn	select OF_EARLY_FLATTREE
10*f8c4a270SJonas Bonn	select HAVE_MEMBLOCK
11*f8c4a270SJonas Bonn	select ARCH_WANT_OPTIONAL_GPIOLIB
12*f8c4a270SJonas Bonn        select HAVE_ARCH_TRACEHOOK
13*f8c4a270SJonas Bonn	select HAVE_GENERIC_HARDIRQS
14*f8c4a270SJonas Bonn	select GENERIC_IRQ_CHIP
15*f8c4a270SJonas Bonn	select GENERIC_IRQ_PROBE
16*f8c4a270SJonas Bonn	select GENERIC_IRQ_SHOW
17*f8c4a270SJonas Bonn	select GENERIC_IOMAP
18*f8c4a270SJonas Bonn
19*f8c4a270SJonas Bonnconfig MMU
20*f8c4a270SJonas Bonn	def_bool y
21*f8c4a270SJonas Bonn
22*f8c4a270SJonas Bonnconfig WISHBONE_BUS_BIG_ENDIAN
23*f8c4a270SJonas Bonn	def_bool y
24*f8c4a270SJonas Bonn
25*f8c4a270SJonas Bonnconfig SYMBOL_PREFIX
26*f8c4a270SJonas Bonn        string
27*f8c4a270SJonas Bonn        default ""
28*f8c4a270SJonas Bonn
29*f8c4a270SJonas Bonnconfig HAVE_DMA_ATTRS
30*f8c4a270SJonas Bonn	def_bool y
31*f8c4a270SJonas Bonn
32*f8c4a270SJonas Bonnconfig UID16
33*f8c4a270SJonas Bonn	def_bool y
34*f8c4a270SJonas Bonn
35*f8c4a270SJonas Bonnconfig RWSEM_GENERIC_SPINLOCK
36*f8c4a270SJonas Bonn	def_bool y
37*f8c4a270SJonas Bonn
38*f8c4a270SJonas Bonnconfig RWSEM_XCHGADD_ALGORITHM
39*f8c4a270SJonas Bonn	def_bool n
40*f8c4a270SJonas Bonn
41*f8c4a270SJonas Bonnconfig GENERIC_HWEIGHT
42*f8c4a270SJonas Bonn	def_bool y
43*f8c4a270SJonas Bonn
44*f8c4a270SJonas Bonnconfig GENERIC_IOMAP
45*f8c4a270SJonas Bonn	def_bool y
46*f8c4a270SJonas Bonn
47*f8c4a270SJonas Bonnconfig NO_IOPORT
48*f8c4a270SJonas Bonn	def_bool y
49*f8c4a270SJonas Bonn
50*f8c4a270SJonas Bonnconfig GENERIC_GPIO
51*f8c4a270SJonas Bonn	def_bool y
52*f8c4a270SJonas Bonn
53*f8c4a270SJonas Bonnconfig GENERIC_CLOCKEVENTS
54*f8c4a270SJonas Bonn	def_bool y
55*f8c4a270SJonas Bonn
56*f8c4a270SJonas Bonnconfig TRACE_IRQFLAGS_SUPPORT
57*f8c4a270SJonas Bonn        def_bool y
58*f8c4a270SJonas Bonn
59*f8c4a270SJonas Bonn# For now, use generic checksum functions
60*f8c4a270SJonas Bonn#These can be reimplemented in assembly later if so inclined
61*f8c4a270SJonas Bonnconfig GENERIC_CSUM
62*f8c4a270SJonas Bonn        def_bool y
63*f8c4a270SJonas Bonn
64*f8c4a270SJonas Bonnconfig GENERIC_FIND_NEXT_BIT
65*f8c4a270SJonas Bonn	def_bool y
66*f8c4a270SJonas Bonn
67*f8c4a270SJonas Bonnsource "init/Kconfig"
68*f8c4a270SJonas Bonn
69*f8c4a270SJonas Bonn
70*f8c4a270SJonas Bonnmenu "Processor type and features"
71*f8c4a270SJonas Bonn
72*f8c4a270SJonas Bonnchoice
73*f8c4a270SJonas Bonn	prompt "Subarchitecture"
74*f8c4a270SJonas Bonn	default OR1K_1200
75*f8c4a270SJonas Bonn
76*f8c4a270SJonas Bonnconfig OR1K_1200
77*f8c4a270SJonas Bonn	bool "OR1200"
78*f8c4a270SJonas Bonn	help
79*f8c4a270SJonas Bonn	  Generic OpenRISC 1200 architecture
80*f8c4a270SJonas Bonn
81*f8c4a270SJonas Bonnendchoice
82*f8c4a270SJonas Bonn
83*f8c4a270SJonas Bonnconfig OPENRISC_BUILTIN_DTB
84*f8c4a270SJonas Bonn        string "Builtin DTB"
85*f8c4a270SJonas Bonn        default ""
86*f8c4a270SJonas Bonn
87*f8c4a270SJonas Bonnmenu "Class II Instructions"
88*f8c4a270SJonas Bonn
89*f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FF1
90*f8c4a270SJonas Bonn	bool "Have instruction l.ff1"
91*f8c4a270SJonas Bonn	default y
92*f8c4a270SJonas Bonn	help
93*f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.ff1
94*f8c4a270SJonas Bonn
95*f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FL1
96*f8c4a270SJonas Bonn	bool "Have instruction l.fl1"
97*f8c4a270SJonas Bonn	default y
98*f8c4a270SJonas Bonn	help
99*f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.fl1
100*f8c4a270SJonas Bonn
101*f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_MUL
102*f8c4a270SJonas Bonn	bool "Have instruction l.mul for hardware multiply"
103*f8c4a270SJonas Bonn	default y
104*f8c4a270SJonas Bonn	help
105*f8c4a270SJonas Bonn	  Select this if your implementation has a hardware multiply instruction
106*f8c4a270SJonas Bonn
107*f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_DIV
108*f8c4a270SJonas Bonn	bool "Have instruction l.div for hardware divide"
109*f8c4a270SJonas Bonn	default y
110*f8c4a270SJonas Bonn	help
111*f8c4a270SJonas Bonn	  Select this if your implementation has a hardware divide instruction
112*f8c4a270SJonas Bonnendmenu
113*f8c4a270SJonas Bonn
114*f8c4a270SJonas Bonn
115*f8c4a270SJonas Bonnsource "kernel/time/Kconfig"
116*f8c4a270SJonas Bonnsource kernel/Kconfig.hz
117*f8c4a270SJonas Bonnsource kernel/Kconfig.preempt
118*f8c4a270SJonas Bonnsource "mm/Kconfig"
119*f8c4a270SJonas Bonn
120*f8c4a270SJonas Bonnconfig OPENRISC_NO_SPR_SR_DSX
121*f8c4a270SJonas Bonn	bool "use SPR_SR_DSX software emulation" if OR1K_1200
122*f8c4a270SJonas Bonn	default y
123*f8c4a270SJonas Bonn	help
124*f8c4a270SJonas Bonn	  SPR_SR_DSX bit is status register bit indicating whether
125*f8c4a270SJonas Bonn	  the last exception has happened in delay slot.
126*f8c4a270SJonas Bonn
127*f8c4a270SJonas Bonn	  OpenRISC architecture makes it optional to have it implemented
128*f8c4a270SJonas Bonn	  in hardware and the OR1200 does not have it.
129*f8c4a270SJonas Bonn
130*f8c4a270SJonas Bonn	  Say N here if you know that your OpenRISC processor has
131*f8c4a270SJonas Bonn	  SPR_SR_DSX bit implemented. Say Y if you are unsure.
132*f8c4a270SJonas Bonn
133*f8c4a270SJonas Bonnconfig CMDLINE
134*f8c4a270SJonas Bonn        string "Default kernel command string"
135*f8c4a270SJonas Bonn        default ""
136*f8c4a270SJonas Bonn        help
137*f8c4a270SJonas Bonn          On some architectures there is currently no way for the boot loader
138*f8c4a270SJonas Bonn          to pass arguments to the kernel. For these architectures, you should
139*f8c4a270SJonas Bonn          supply some command-line options at build time by entering them
140*f8c4a270SJonas Bonn          here.
141*f8c4a270SJonas Bonn
142*f8c4a270SJonas Bonnmenu "Debugging options"
143*f8c4a270SJonas Bonn
144*f8c4a270SJonas Bonnconfig DEBUG_STACKOVERFLOW
145*f8c4a270SJonas Bonn	bool "Check for kernel stack overflow"
146*f8c4a270SJonas Bonn	default y
147*f8c4a270SJonas Bonn	help
148*f8c4a270SJonas Bonn	  Make extra checks for space avaliable on stack in some
149*f8c4a270SJonas Bonn          critical functions. This will cause kernel to run a bit slower,
150*f8c4a270SJonas Bonn	  but will catch most of kernel stack overruns and exit gracefuly.
151*f8c4a270SJonas Bonn
152*f8c4a270SJonas Bonn	  Say Y if you are unsure.
153*f8c4a270SJonas Bonn
154*f8c4a270SJonas Bonnconfig JUMP_UPON_UNHANDLED_EXCEPTION
155*f8c4a270SJonas Bonn	bool "Try to die gracefully"
156*f8c4a270SJonas Bonn	default y
157*f8c4a270SJonas Bonn	help
158*f8c4a270SJonas Bonn	  Now this puts kernel into infinite loop after first oops. Till
159*f8c4a270SJonas Bonn	  your kernel crashes this doesn't have any influence.
160*f8c4a270SJonas Bonn
161*f8c4a270SJonas Bonn	  Say Y if you are unsure.
162*f8c4a270SJonas Bonn
163*f8c4a270SJonas Bonnconfig OPENRISC_EXCEPTION_DEBUG
164*f8c4a270SJonas Bonn	bool "Print processor state at each exception"
165*f8c4a270SJonas Bonn	default n
166*f8c4a270SJonas Bonn	help
167*f8c4a270SJonas Bonn	  This option will make your kernel unusable for all but kernel
168*f8c4a270SJonas Bonn	  debugging.
169*f8c4a270SJonas Bonn
170*f8c4a270SJonas Bonn	  Say N if you are unsure.
171*f8c4a270SJonas Bonn
172*f8c4a270SJonas Bonnconfig OPENRISC_ESR_EXCEPTION_BUG_CHECK
173*f8c4a270SJonas Bonn	bool "Check for possible ESR exception bug"
174*f8c4a270SJonas Bonn	default n
175*f8c4a270SJonas Bonn	help
176*f8c4a270SJonas Bonn	  This option enables some checks that might expose some problems
177*f8c4a270SJonas Bonn          in kernel.
178*f8c4a270SJonas Bonn
179*f8c4a270SJonas Bonn	  Say N if you are unsure.
180*f8c4a270SJonas Bonn
181*f8c4a270SJonas Bonnendmenu
182*f8c4a270SJonas Bonn
183*f8c4a270SJonas Bonnendmenu
184*f8c4a270SJonas Bonn
185*f8c4a270SJonas Bonnmenu "Executable file formats"
186*f8c4a270SJonas Bonn
187*f8c4a270SJonas Bonnsource "fs/Kconfig.binfmt"
188*f8c4a270SJonas Bonn
189*f8c4a270SJonas Bonnendmenu
190*f8c4a270SJonas Bonn
191*f8c4a270SJonas Bonnsource "net/Kconfig"
192*f8c4a270SJonas Bonn
193*f8c4a270SJonas Bonnsource "drivers/Kconfig"
194*f8c4a270SJonas Bonn
195*f8c4a270SJonas Bonnsource "fs/Kconfig"
196*f8c4a270SJonas Bonn
197*f8c4a270SJonas Bonnsource "security/Kconfig"
198*f8c4a270SJonas Bonn
199*f8c4a270SJonas Bonnsource "crypto/Kconfig"
200*f8c4a270SJonas Bonn
201*f8c4a270SJonas Bonnsource "lib/Kconfig"
202*f8c4a270SJonas Bonn
203*f8c4a270SJonas Bonnmenu "Kernel hacking"
204*f8c4a270SJonas Bonn
205*f8c4a270SJonas Bonnsource "lib/Kconfig.debug"
206*f8c4a270SJonas Bonn
207*f8c4a270SJonas Bonnendmenu
208