Blame view

arch/microblaze/Kconfig 6.77 KB
ec8f24b7f   Thomas Gleixner   treewide: Add SPD...
1
  # SPDX-License-Identifier: GPL-2.0-only
575ca2883   Michal Simek   microblaze_v8: Kc...
2
3
  config MICROBLAZE
  	def_bool y
942fa985e   Yury Norov   32-bit userspace ...
4
  	select ARCH_32BIT_OFF_T
17c46a6af   Christoph Hellwig   kconfig: remove d...
5
  	select ARCH_NO_SWAP
aef0f78e7   Christoph Hellwig   binfmt_flat: add ...
6
  	select ARCH_HAS_BINFMT_FLAT if !MMU
d3b9f659f   Christoph Hellwig   microblaze/nommu:...
7
  	select ARCH_HAS_DMA_PREP_COHERENT
957e3facd   Riku Voipio   gcov: enable GCOV...
8
  	select ARCH_HAS_GCOV_PROFILE_ALL
5411ad27d   Christoph Hellwig   microblaze: use g...
9
10
  	select ARCH_HAS_SYNC_DMA_FOR_CPU
  	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
fa7e2247c   Christoph Hellwig   dma-direct: make ...
11
  	select ARCH_HAS_DMA_SET_UNCACHED if !MMU
355f65a39   Mark Salter   microblaze: selec...
12
  	select ARCH_MIGHT_HAVE_PC_PARPORT
c1d7e01d7   Will Deacon   ipc: use Kconfig ...
13
  	select ARCH_WANT_IPC_PARSE_VERSION
109167063   Shile Zhang   scripts/sorttable...
14
  	select BUILDTIME_TABLE_SORT
bb0eb050a   Daniel Lezcano   clocksource/drive...
15
  	select TIMER_OF
252133887   Michal Simek   microblaze: Sort ...
16
17
  	select CLONE_BACKWARDS3
  	select COMMON_CLK
04e3543e2   Christoph Hellwig   microblaze: use t...
18
  	select DMA_DIRECT_REMAP if MMU
252133887   Michal Simek   microblaze: Sort ...
19
20
21
22
  	select GENERIC_ATOMIC64
  	select GENERIC_CLOCKEVENTS
  	select GENERIC_CPU_DEVICES
  	select GENERIC_IDLE_POLL_SETUP
b6e31629e   Thomas Gleixner   microblaze: Use g...
23
  	select GENERIC_IRQ_PROBE
9d61c18b2   Thomas Gleixner   microblaze: Use g...
24
  	select GENERIC_IRQ_SHOW
1b34d1607   Michael S. Tsirkin   microblaze: switc...
25
  	select GENERIC_PCI_IOMAP
839396ab8   Michal Simek   microblaze: timer...
26
  	select GENERIC_SCHED_CLOCK
7b13277b6   George Spelvin   microblaze: Add <...
27
  	select HAVE_ARCH_HASH
252133887   Michal Simek   microblaze: Sort ...
28
  	select HAVE_ARCH_KGDB
282a181b1   YiFei Zhu   seccomp: Move con...
29
  	select HAVE_ARCH_SECCOMP
252133887   Michal Simek   microblaze: Sort ...
30
  	select HAVE_DEBUG_KMEMLEAK
2602276d3   Michal Simek   microblaze: Wire ...
31
  	select HAVE_DMA_CONTIGUOUS
252133887   Michal Simek   microblaze: Sort ...
32
33
34
  	select HAVE_DYNAMIC_FTRACE
  	select HAVE_FTRACE_MCOUNT_RECORD
  	select HAVE_FUNCTION_GRAPH_TRACER
252133887   Michal Simek   microblaze: Sort ...
35
  	select HAVE_FUNCTION_TRACER
252133887   Michal Simek   microblaze: Sort ...
36
  	select HAVE_OPROFILE
eb01d42a7   Christoph Hellwig   PCI: consolidate ...
37
  	select HAVE_PCI
252133887   Michal Simek   microblaze: Sort ...
38
  	select IRQ_DOMAIN
0547dc788   Zubair Lutfullah Kakakhel   microblaze/irqchi...
39
  	select XILINX_INTC
786d35d45   David Howells   Make most arch as...
40
  	select MODULES_USE_ELF_RELA
252133887   Michal Simek   microblaze: Sort ...
41
42
  	select OF
  	select OF_EARLY_FLATTREE
2eac9c2df   Christoph Hellwig   PCI: consolidate ...
43
  	select PCI_DOMAINS_GENERIC if PCI
20f1b79d3   Christoph Hellwig   PCI: consolidate ...
44
  	select PCI_SYSCALL if PCI
252133887   Michal Simek   microblaze: Sort ...
45
46
  	select TRACING_SUPPORT
  	select VIRT_TO_BUS
fff7fb0b2   Zhaoxiu Zeng   lib/GCD.c: use bi...
47
  	select CPU_NO_EFFICIENT_FFS
6137fed08   Peter Zijlstra   arch/tlb: Clean u...
48
  	select MMU_GATHER_NO_RANGE if MMU
6bf8be7ff   Michal Simek   microblaze: Enabl...
49
  	select SPARSE_IRQ
964f595e6   Greg Kroah-Hartman   Revert "Revert "u...
50
  	select SET_FS
575ca2883   Michal Simek   microblaze_v8: Kc...
51

206d3642d   Babu Moger   arch/microblaze: ...
52
53
54
  # Endianness selection
  choice
  	prompt "Endianness selection"
428dbf156   Babu Moger   arch: change defa...
55
  	default CPU_LITTLE_ENDIAN
206d3642d   Babu Moger   arch/microblaze: ...
56
57
58
59
60
61
62
63
64
65
66
  	help
  	  microblaze architectures can be configured for either little or
  	  big endian formats. Be sure to select the appropriate mode.
  
  config CPU_BIG_ENDIAN
  	bool "Big endian"
  
  config CPU_LITTLE_ENDIAN
  	bool "Little endian"
  
  endchoice
4e2e4124b   Michal Simek   microblaze: mm: U...
67
68
  config ZONE_DMA
  	def_bool y
575ca2883   Michal Simek   microblaze_v8: Kc...
69
70
71
72
73
  config ARCH_HAS_ILOG2_U32
  	def_bool n
  
  config ARCH_HAS_ILOG2_U64
  	def_bool n
575ca2883   Michal Simek   microblaze_v8: Kc...
74
75
  config GENERIC_HWEIGHT
  	def_bool y
575ca2883   Michal Simek   microblaze_v8: Kc...
76
77
  config GENERIC_CALIBRATE_DELAY
  	def_bool y
14f873897   Remis Lima Baima   microblaze: use t...
78
79
  config GENERIC_CSUM
  	def_bool y
24b45a12c   Michal Simek   microblaze: Stack...
80
81
  config STACKTRACE_SUPPORT
  	def_bool y
bf2d80966   Michal Simek   microblaze: Lockd...
82
83
  config LOCKDEP_SUPPORT
  	def_bool y
c24cf712a   Michal Simek   microblaze: Remov...
84
  source "arch/microblaze/Kconfig.platform"
575ca2883   Michal Simek   microblaze_v8: Kc...
85
86
  
  menu "Processor type and features"
575ca2883   Michal Simek   microblaze_v8: Kc...
87
88
89
  source "kernel/Kconfig.hz"
  
  config MMU
a116f6d5d   Michal Simek   microblaze_mmu_v2...
90
91
  	bool "MMU support"
  	default n
575ca2883   Michal Simek   microblaze_v8: Kc...
92

575ca2883   Michal Simek   microblaze_v8: Kc...
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
  comment "Boot options"
  
  config CMDLINE_BOOL
  	bool "Default bootloader kernel arguments"
  
  config CMDLINE
  	string "Default kernel command string"
  	depends on CMDLINE_BOOL
  	default "console=ttyUL0,115200"
  	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.
  
  config CMDLINE_FORCE
  	bool "Force default kernel command string"
  	depends on CMDLINE_BOOL
  	default n
  	help
  	  Set this to have arguments from the default kernel command string
  	  override those passed by the boot loader.
575ca2883   Michal Simek   microblaze_v8: Kc...
115
  endmenu
b408e2c20   Michal Simek   microblaze: Renam...
116
  menu "Kernel features"
a116f6d5d   Michal Simek   microblaze_mmu_v2...
117

4cbbbb43d   Michal Simek   microblaze: Fix m...
118
119
120
  config NR_CPUS
  	int
  	default "1"
a116f6d5d   Michal Simek   microblaze_mmu_v2...
121
122
  config ADVANCED_OPTIONS
  	bool "Prompt for advanced kernel configuration options"
a116f6d5d   Michal Simek   microblaze_mmu_v2...
123
124
125
126
127
128
129
130
131
132
  	help
  	  This option will enable prompting for a variety of advanced kernel
  	  configuration options.  These options can cause the kernel to not
  	  work if they are set incorrectly, but can be used to optimize certain
  	  aspects of kernel memory management.
  
  	  Unless you know what you are doing, say N here.
  
  comment "Default settings for advanced configuration options are used"
  	depends on !ADVANCED_OPTIONS
3a0d7a4dd   Michal Simek   microblaze: Add c...
133
134
135
136
137
138
139
140
  config XILINX_UNCACHED_SHADOW
  	bool "Are you using uncached shadow for RAM ?"
  	depends on ADVANCED_OPTIONS && !MMU
  	default n
  	help
  	  This is needed to be able to allocate uncachable memory regions.
  	  The feature requires the design to define the RAM memory controller
  	  window to be twice as large as the actual physical memory.
2f2f371f8   Michal Simek   microblaze: Highm...
141
142
  config HIGHMEM
  	bool "High memory support"
a116f6d5d   Michal Simek   microblaze_mmu_v2...
143
  	depends on MMU
a116f6d5d   Michal Simek   microblaze_mmu_v2...
144
  	help
2f2f371f8   Michal Simek   microblaze: Highm...
145
146
147
148
149
150
  	  The address space of Microblaze processors is only 4 Gigabytes large
  	  and it has to accommodate user address space, kernel address
  	  space as well as some memory mapped IO. That means that, if you
  	  have a large amount of physical memory and/or IO, not all of the
  	  memory can be "permanently mapped" by the kernel. The physical
  	  memory that is not permanently mapped is called "high memory".
a116f6d5d   Michal Simek   microblaze_mmu_v2...
151

2f2f371f8   Michal Simek   microblaze: Highm...
152
  	  If unsure, say n.
a116f6d5d   Michal Simek   microblaze_mmu_v2...
153
154
155
  
  config LOWMEM_SIZE_BOOL
  	bool "Set maximum low memory"
b8a84059b   Michal Simek   microblaze: Remov...
156
  	depends on ADVANCED_OPTIONS && MMU
a116f6d5d   Michal Simek   microblaze_mmu_v2...
157
158
159
160
161
162
163
164
165
166
167
  	help
  	  This option allows you to set the maximum amount of memory which
  	  will be used as "low memory", that is, memory which the kernel can
  	  access directly, without having to set up a kernel virtual mapping.
  	  This can be useful in optimizing the layout of kernel virtual
  	  memory.
  
  	  Say N here unless you know what you are doing.
  
  config LOWMEM_SIZE
  	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
a116f6d5d   Michal Simek   microblaze_mmu_v2...
168
  	default "0x30000000"
0b9b0200b   Michal Simek   microblaze: Do no...
169
170
171
172
173
174
175
176
177
178
  config MANUAL_RESET_VECTOR
  	hex "Microblaze reset vector address setup"
  	default "0x0"
  	help
  	  Set this option to have the kernel override the CPU Reset vector.
  	  If zero, no change will be made to the MicroBlaze reset vector at
  	  address 0x0.
  	  If non-zero, a jump instruction to this address, will be written
  	  to the reset vector at address 0x0.
  	  If you are unsure, set it to default value 0x0.
a116f6d5d   Michal Simek   microblaze_mmu_v2...
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
  config KERNEL_START_BOOL
  	bool "Set custom kernel base address"
  	depends on ADVANCED_OPTIONS
  	help
  	  This option allows you to set the kernel virtual address at which
  	  the kernel will map low memory (the kernel image will be linked at
  	  this address).  This can be useful in optimizing the virtual memory
  	  layout of the system.
  
  	  Say N here unless you know what you are doing.
  
  config KERNEL_START
  	hex "Virtual address of kernel base" if KERNEL_START_BOOL
  	default "0xc0000000" if MMU
  	default KERNEL_BASE_ADDR if !MMU
  
  config TASK_SIZE_BOOL
  	bool "Set custom user task size"
b8a84059b   Michal Simek   microblaze: Remov...
197
  	depends on ADVANCED_OPTIONS && MMU
a116f6d5d   Michal Simek   microblaze_mmu_v2...
198
199
200
201
202
203
204
205
206
  	help
  	  This option allows you to set the amount of virtual address space
  	  allocated to user tasks.  This can be useful in optimizing the
  	  virtual memory layout of the system.
  
  	  Say N here unless you know what you are doing.
  
  config TASK_SIZE
  	hex "Size of user task space" if TASK_SIZE_BOOL
a116f6d5d   Michal Simek   microblaze_mmu_v2...
207
  	default "0x80000000"
ba9c4f88d   Steven J. Magnani   microblaze: Allow...
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
  choice
  	prompt "Page size"
  	default MICROBLAZE_4K_PAGES
  	depends on ADVANCED_OPTIONS && !MMU
  	help
  	  Select the kernel logical page size. Increasing the page size
  	  will reduce software overhead at each page boundary, allow
  	  hardware prefetch mechanisms to be more effective, and allow
  	  larger dma transfers increasing IO efficiency and reducing
  	  overhead. However the utilization of memory will increase.
  	  For example, each cached file will using a multiple of the
  	  page size to hold its contents and the difference between the
  	  end of file and the end of page is wasted.
  
  	  If unsure, choose 4K_PAGES.
  
  config MICROBLAZE_4K_PAGES
  	bool "4k page size"
ba9c4f88d   Steven J. Magnani   microblaze: Allow...
226
227
  config MICROBLAZE_16K_PAGES
  	bool "16k page size"
6e80cff54   Michal Simek   microblaze: Suppo...
228
229
  config MICROBLAZE_64K_PAGES
  	bool "64k page size"
ba9c4f88d   Steven J. Magnani   microblaze: Allow...
230
231
  
  endchoice
575ca2883   Michal Simek   microblaze_v8: Kc...
232
  endmenu
a6475c132   Michal Simek   microblaze: Enabl...
233
  menu "Bus Options"
733cc2183   Michal Simek   microblaze: Add s...
234
235
236
  config PCI_XILINX
  	bool "Xilinx PCI host bridge support"
  	depends on PCI
a6475c132   Michal Simek   microblaze: Enabl...
237
  endmenu