hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# SPDX-License-Identifier: GPL-2.0
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.rst.
#
 
config OPENRISC
   def_bool y
   select ARCH_32BIT_OFF_T
   select ARCH_HAS_DMA_SET_UNCACHED
   select ARCH_HAS_DMA_CLEAR_UNCACHED
   select ARCH_HAS_SYNC_DMA_FOR_DEVICE
   select OF
   select OF_EARLY_FLATTREE
   select IRQ_DOMAIN
   select HANDLE_DOMAIN_IRQ
   select GPIOLIB
   select HAVE_ARCH_TRACEHOOK
   select SPARSE_IRQ
   select GENERIC_IRQ_CHIP
   select GENERIC_IRQ_PROBE
   select GENERIC_IRQ_SHOW
   select GENERIC_IOMAP
   select GENERIC_CPU_DEVICES
   select HAVE_UID16
   select GENERIC_ATOMIC64
   select GENERIC_CLOCKEVENTS
   select GENERIC_CLOCKEVENTS_BROADCAST
   select GENERIC_STRNCPY_FROM_USER
   select GENERIC_STRNLEN_USER
   select GENERIC_SMP_IDLE_THREAD
   select MODULES_USE_ELF_RELA
   select HAVE_DEBUG_STACKOVERFLOW
   select OR1K_PIC
   select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
   select ARCH_USE_QUEUED_SPINLOCKS
   select ARCH_USE_QUEUED_RWLOCKS
   select OMPIC if SMP
   select ARCH_WANT_FRAME_POINTERS
   select GENERIC_IRQ_MULTI_HANDLER
   select MMU_GATHER_NO_RANGE if MMU
   select SET_FS
 
config CPU_BIG_ENDIAN
   def_bool y
 
config MMU
   def_bool y
 
config GENERIC_HWEIGHT
   def_bool y
 
config NO_IOPORT_MAP
   def_bool y
 
config TRACE_IRQFLAGS_SUPPORT
   def_bool y
 
# For now, use generic checksum functions
#These can be reimplemented in assembly later if so inclined
config GENERIC_CSUM
   def_bool y
 
config STACKTRACE_SUPPORT
   def_bool y
 
config LOCKDEP_SUPPORT
   def_bool  y
 
menu "Processor type and features"
 
choice
   prompt "Subarchitecture"
   default OR1K_1200
 
config OR1K_1200
   bool "OR1200"
   help
     Generic OpenRISC 1200 architecture
 
endchoice
 
config DCACHE_WRITETHROUGH
   bool "Have write through data caches"
   default n
   help
     Select this if your implementation features write through data caches.
     Selecting 'N' here will allow the kernel to force flushing of data
     caches at relevant times. Most OpenRISC implementations support write-
     through data caches.
 
     If unsure say N here
 
config OPENRISC_BUILTIN_DTB
   string "Builtin DTB"
   default ""
 
menu "Class II Instructions"
 
config OPENRISC_HAVE_INST_FF1
   bool "Have instruction l.ff1"
   default y
   help
     Select this if your implementation has the Class II instruction l.ff1
 
config OPENRISC_HAVE_INST_FL1
   bool "Have instruction l.fl1"
   default y
   help
     Select this if your implementation has the Class II instruction l.fl1
 
config OPENRISC_HAVE_INST_MUL
   bool "Have instruction l.mul for hardware multiply"
   default y
   help
     Select this if your implementation has a hardware multiply instruction
 
config OPENRISC_HAVE_INST_DIV
   bool "Have instruction l.div for hardware divide"
   default y
   help
     Select this if your implementation has a hardware divide instruction
endmenu
 
config NR_CPUS
   int "Maximum number of CPUs (2-32)"
   range 2 32
   depends on SMP
   default "2"
 
config SMP
   bool "Symmetric Multi-Processing support"
   help
     This enables support for systems with more than one CPU. If you have
     a system with only one CPU, say N. If you have a system with more
     than one CPU, say Y.
 
     If you don't know what to do here, say N.
 
source "kernel/Kconfig.hz"
 
config OPENRISC_NO_SPR_SR_DSX
   bool "use SPR_SR_DSX software emulation" if OR1K_1200
   default y
   help
     SPR_SR_DSX bit is status register bit indicating whether
     the last exception has happened in delay slot.
 
     OpenRISC architecture makes it optional to have it implemented
     in hardware and the OR1200 does not have it.
 
     Say N here if you know that your OpenRISC processor has
     SPR_SR_DSX bit implemented. Say Y if you are unsure.
 
config OPENRISC_HAVE_SHADOW_GPRS
   bool "Support for shadow gpr files" if !SMP
   default y if SMP
   help
     Say Y here if your OpenRISC processor features shadowed
     register files. They will in such case be used as a
     scratch reg storage on exception entry.
 
     On SMP systems, this feature is mandatory.
     On a unicore system it's safe to say N here if you are unsure.
 
config CMDLINE
   string "Default kernel command string"
   default ""
   help
     On some architectures there is currently no way for the boot loader
     to pass arguments to the kernel. For these architectures, you should
     supply some command-line options at build time by entering them
     here.
 
menu "Debugging options"
 
config JUMP_UPON_UNHANDLED_EXCEPTION
   bool "Try to die gracefully"
   default y
   help
     Now this puts kernel into infinite loop after first oops. Till
     your kernel crashes this doesn't have any influence.
 
     Say Y if you are unsure.
 
config OPENRISC_ESR_EXCEPTION_BUG_CHECK
   bool "Check for possible ESR exception bug"
   default n
   help
     This option enables some checks that might expose some problems
     in kernel.
 
     Say N if you are unsure.
 
endmenu
 
endmenu