OSDN Git Service

Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[uclinux-h8/linux.git] / arch / microblaze / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config MICROBLAZE
3         def_bool y
4         select ARCH_32BIT_OFF_T
5         select ARCH_NO_SWAP
6         select ARCH_HAS_DMA_PREP_COHERENT
7         select ARCH_HAS_GCOV_PROFILE_ALL
8         select ARCH_HAS_SYNC_DMA_FOR_CPU
9         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10         select ARCH_MIGHT_HAVE_PC_PARPORT
11         select ARCH_WANT_IPC_PARSE_VERSION
12         select BUILDTIME_TABLE_SORT
13         select TIMER_OF
14         select CLONE_BACKWARDS3
15         select COMMON_CLK
16         select DMA_DIRECT_REMAP
17         select GENERIC_ATOMIC64
18         select GENERIC_CPU_DEVICES
19         select GENERIC_IDLE_POLL_SETUP
20         select GENERIC_IRQ_PROBE
21         select GENERIC_IRQ_SHOW
22         select GENERIC_PCI_IOMAP
23         select GENERIC_SCHED_CLOCK
24         select HAVE_ARCH_HASH
25         select HAVE_ARCH_KGDB
26         select HAVE_ARCH_SECCOMP
27         select HAVE_DEBUG_KMEMLEAK
28         select HAVE_DMA_CONTIGUOUS
29         select HAVE_DYNAMIC_FTRACE
30         select HAVE_FTRACE_MCOUNT_RECORD
31         select HAVE_FUNCTION_GRAPH_TRACER
32         select HAVE_FUNCTION_TRACER
33         select HAVE_PCI
34         select IRQ_DOMAIN
35         select XILINX_INTC
36         select MODULES_USE_ELF_RELA
37         select OF
38         select OF_EARLY_FLATTREE
39         select PCI_DOMAINS_GENERIC if PCI
40         select PCI_SYSCALL if PCI
41         select VIRT_TO_BUS
42         select CPU_NO_EFFICIENT_FFS
43         select MMU_GATHER_NO_RANGE
44         select SPARSE_IRQ
45         select SET_FS
46         select ZONE_DMA
47         select TRACE_IRQFLAGS_SUPPORT
48         select GENERIC_IRQ_MULTI_HANDLER
49         select HANDLE_DOMAIN_IRQ
50
51 # Endianness selection
52 choice
53         prompt "Endianness selection"
54         default CPU_LITTLE_ENDIAN
55         help
56           microblaze architectures can be configured for either little or
57           big endian formats. Be sure to select the appropriate mode.
58
59 config CPU_BIG_ENDIAN
60         bool "Big endian"
61
62 config CPU_LITTLE_ENDIAN
63         bool "Little endian"
64
65 endchoice
66
67 config ARCH_HAS_ILOG2_U32
68         def_bool n
69
70 config ARCH_HAS_ILOG2_U64
71         def_bool n
72
73 config GENERIC_HWEIGHT
74         def_bool y
75
76 config GENERIC_CALIBRATE_DELAY
77         def_bool y
78
79 config GENERIC_CSUM
80         def_bool y
81
82 config STACKTRACE_SUPPORT
83         def_bool y
84
85 config LOCKDEP_SUPPORT
86         def_bool y
87
88 source "arch/microblaze/Kconfig.platform"
89
90 menu "Processor type and features"
91
92 source "kernel/Kconfig.hz"
93
94 config MMU
95         def_bool y
96
97 comment "Boot options"
98
99 config CMDLINE_BOOL
100         bool "Default bootloader kernel arguments"
101
102 config CMDLINE
103         string "Default kernel command string"
104         depends on CMDLINE_BOOL
105         default "console=ttyUL0,115200"
106         help
107           On some architectures there is currently no way for the boot loader
108           to pass arguments to the kernel. For these architectures, you should
109           supply some command-line options at build time by entering them
110           here.
111
112 config CMDLINE_FORCE
113         bool "Force default kernel command string"
114         depends on CMDLINE_BOOL
115         default n
116         help
117           Set this to have arguments from the default kernel command string
118           override those passed by the boot loader.
119
120 endmenu
121
122 menu "Kernel features"
123
124 config NR_CPUS
125         int
126         default "1"
127
128 config ADVANCED_OPTIONS
129         bool "Prompt for advanced kernel configuration options"
130         help
131           This option will enable prompting for a variety of advanced kernel
132           configuration options.  These options can cause the kernel to not
133           work if they are set incorrectly, but can be used to optimize certain
134           aspects of kernel memory management.
135
136           Unless you know what you are doing, say N here.
137
138 comment "Default settings for advanced configuration options are used"
139         depends on !ADVANCED_OPTIONS
140
141 config HIGHMEM
142         bool "High memory support"
143         select KMAP_LOCAL
144         help
145           The address space of Microblaze processors is only 4 Gigabytes large
146           and it has to accommodate user address space, kernel address
147           space as well as some memory mapped IO. That means that, if you
148           have a large amount of physical memory and/or IO, not all of the
149           memory can be "permanently mapped" by the kernel. The physical
150           memory that is not permanently mapped is called "high memory".
151
152           If unsure, say n.
153
154 config LOWMEM_SIZE_BOOL
155         bool "Set maximum low memory"
156         depends on ADVANCED_OPTIONS
157         help
158           This option allows you to set the maximum amount of memory which
159           will be used as "low memory", that is, memory which the kernel can
160           access directly, without having to set up a kernel virtual mapping.
161           This can be useful in optimizing the layout of kernel virtual
162           memory.
163
164           Say N here unless you know what you are doing.
165
166 config LOWMEM_SIZE
167         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
168         default "0x30000000"
169
170 config MANUAL_RESET_VECTOR
171         hex "Microblaze reset vector address setup"
172         default "0x0"
173         help
174           Set this option to have the kernel override the CPU Reset vector.
175           If zero, no change will be made to the MicroBlaze reset vector at
176           address 0x0.
177           If non-zero, a jump instruction to this address, will be written
178           to the reset vector at address 0x0.
179           If you are unsure, set it to default value 0x0.
180
181 config KERNEL_START_BOOL
182         bool "Set custom kernel base address"
183         depends on ADVANCED_OPTIONS
184         help
185           This option allows you to set the kernel virtual address at which
186           the kernel will map low memory (the kernel image will be linked at
187           this address).  This can be useful in optimizing the virtual memory
188           layout of the system.
189
190           Say N here unless you know what you are doing.
191
192 config KERNEL_START
193         hex "Virtual address of kernel base" if KERNEL_START_BOOL
194         default "0xc0000000"
195
196 config TASK_SIZE_BOOL
197         bool "Set custom user task size"
198         depends on ADVANCED_OPTIONS
199         help
200           This option allows you to set the amount of virtual address space
201           allocated to user tasks.  This can be useful in optimizing the
202           virtual memory layout of the system.
203
204           Say N here unless you know what you are doing.
205
206 config TASK_SIZE
207         hex "Size of user task space" if TASK_SIZE_BOOL
208         default "0x80000000"
209
210 endmenu
211
212 menu "Bus Options"
213
214 config PCI_XILINX
215         bool "Xilinx PCI host bridge support"
216         depends on PCI
217
218 endmenu