xref: /OK3568_Linux_fs/kernel/arch/sparc/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunconfig 64BIT
3*4882a593Smuzhiyun	bool "64-bit kernel" if "$(ARCH)" = "sparc"
4*4882a593Smuzhiyun	default "$(ARCH)" = "sparc64"
5*4882a593Smuzhiyun	help
6*4882a593Smuzhiyun	  SPARC is a family of RISC microprocessors designed and marketed by
7*4882a593Smuzhiyun	  Sun Microsystems, incorporated.  They are very widely found in Sun
8*4882a593Smuzhiyun	  workstations and clones.
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun	  Say yes to build a 64-bit kernel - formerly known as sparc64
11*4882a593Smuzhiyun	  Say no to build a 32-bit kernel - formerly known as sparc
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunconfig SPARC
14*4882a593Smuzhiyun	bool
15*4882a593Smuzhiyun	default y
16*4882a593Smuzhiyun	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
17*4882a593Smuzhiyun	select ARCH_MIGHT_HAVE_PC_SERIO
18*4882a593Smuzhiyun	select DMA_OPS
19*4882a593Smuzhiyun	select OF
20*4882a593Smuzhiyun	select OF_PROMTREE
21*4882a593Smuzhiyun	select HAVE_ASM_MODVERSIONS
22*4882a593Smuzhiyun	select HAVE_IDE
23*4882a593Smuzhiyun	select HAVE_OPROFILE
24*4882a593Smuzhiyun	select HAVE_ARCH_KGDB if !SMP || SPARC64
25*4882a593Smuzhiyun	select HAVE_ARCH_TRACEHOOK
26*4882a593Smuzhiyun	select HAVE_ARCH_SECCOMP if SPARC64
27*4882a593Smuzhiyun	select HAVE_EXIT_THREAD
28*4882a593Smuzhiyun	select HAVE_PCI
29*4882a593Smuzhiyun	select SYSCTL_EXCEPTION_TRACE
30*4882a593Smuzhiyun	select RTC_CLASS
31*4882a593Smuzhiyun	select RTC_DRV_M48T59
32*4882a593Smuzhiyun	select RTC_SYSTOHC
33*4882a593Smuzhiyun	select HAVE_ARCH_JUMP_LABEL if SPARC64
34*4882a593Smuzhiyun	select GENERIC_IRQ_SHOW
35*4882a593Smuzhiyun	select ARCH_WANT_IPC_PARSE_VERSION
36*4882a593Smuzhiyun	select GENERIC_PCI_IOMAP
37*4882a593Smuzhiyun	select HAVE_NMI_WATCHDOG if SPARC64
38*4882a593Smuzhiyun	select HAVE_CBPF_JIT if SPARC32
39*4882a593Smuzhiyun	select HAVE_EBPF_JIT if SPARC64
40*4882a593Smuzhiyun	select HAVE_DEBUG_BUGVERBOSE
41*4882a593Smuzhiyun	select GENERIC_SMP_IDLE_THREAD
42*4882a593Smuzhiyun	select GENERIC_CLOCKEVENTS
43*4882a593Smuzhiyun	select GENERIC_STRNCPY_FROM_USER
44*4882a593Smuzhiyun	select GENERIC_STRNLEN_USER
45*4882a593Smuzhiyun	select MODULES_USE_ELF_RELA
46*4882a593Smuzhiyun	select PCI_SYSCALL if PCI
47*4882a593Smuzhiyun	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
48*4882a593Smuzhiyun	select ODD_RT_SIGACTION
49*4882a593Smuzhiyun	select OLD_SIGSUSPEND
50*4882a593Smuzhiyun	select CPU_NO_EFFICIENT_FFS
51*4882a593Smuzhiyun	select LOCKDEP_SMALL if LOCKDEP
52*4882a593Smuzhiyun	select NEED_DMA_MAP_STATE
53*4882a593Smuzhiyun	select NEED_SG_DMA_LENGTH
54*4882a593Smuzhiyun	select SET_FS
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunconfig SPARC32
57*4882a593Smuzhiyun	def_bool !64BIT
58*4882a593Smuzhiyun	select ARCH_32BIT_OFF_T
59*4882a593Smuzhiyun	select ARCH_HAS_SYNC_DMA_FOR_CPU
60*4882a593Smuzhiyun	select GENERIC_ATOMIC64
61*4882a593Smuzhiyun	select CLZ_TAB
62*4882a593Smuzhiyun	select HAVE_UID16
63*4882a593Smuzhiyun	select OLD_SIGACTION
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig SPARC64
66*4882a593Smuzhiyun	def_bool 64BIT
67*4882a593Smuzhiyun	select HAVE_FUNCTION_TRACER
68*4882a593Smuzhiyun	select HAVE_FUNCTION_GRAPH_TRACER
69*4882a593Smuzhiyun	select HAVE_KRETPROBES
70*4882a593Smuzhiyun	select HAVE_KPROBES
71*4882a593Smuzhiyun	select MMU_GATHER_RCU_TABLE_FREE if SMP
72*4882a593Smuzhiyun	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
73*4882a593Smuzhiyun	select HAVE_DYNAMIC_FTRACE
74*4882a593Smuzhiyun	select HAVE_FTRACE_MCOUNT_RECORD
75*4882a593Smuzhiyun	select HAVE_SYSCALL_TRACEPOINTS
76*4882a593Smuzhiyun	select HAVE_CONTEXT_TRACKING
77*4882a593Smuzhiyun	select HAVE_TIF_NOHZ
78*4882a593Smuzhiyun	select HAVE_DEBUG_KMEMLEAK
79*4882a593Smuzhiyun	select IOMMU_HELPER
80*4882a593Smuzhiyun	select SPARSE_IRQ
81*4882a593Smuzhiyun	select RTC_DRV_CMOS
82*4882a593Smuzhiyun	select RTC_DRV_BQ4802
83*4882a593Smuzhiyun	select RTC_DRV_SUN4V
84*4882a593Smuzhiyun	select RTC_DRV_STARFIRE
85*4882a593Smuzhiyun	select HAVE_PERF_EVENTS
86*4882a593Smuzhiyun	select PERF_USE_VMALLOC
87*4882a593Smuzhiyun	select ARCH_HAVE_NMI_SAFE_CMPXCHG
88*4882a593Smuzhiyun	select HAVE_C_RECORDMCOUNT
89*4882a593Smuzhiyun	select HAVE_ARCH_AUDITSYSCALL
90*4882a593Smuzhiyun	select ARCH_SUPPORTS_ATOMIC_RMW
91*4882a593Smuzhiyun	select HAVE_NMI
92*4882a593Smuzhiyun	select HAVE_REGS_AND_STACK_ACCESS_API
93*4882a593Smuzhiyun	select ARCH_USE_QUEUED_RWLOCKS
94*4882a593Smuzhiyun	select ARCH_USE_QUEUED_SPINLOCKS
95*4882a593Smuzhiyun	select GENERIC_TIME_VSYSCALL
96*4882a593Smuzhiyun	select ARCH_CLOCKSOURCE_DATA
97*4882a593Smuzhiyun	select ARCH_HAS_PTE_SPECIAL
98*4882a593Smuzhiyun	select PCI_DOMAINS if PCI
99*4882a593Smuzhiyun	select ARCH_HAS_GIGANTIC_PAGE
100*4882a593Smuzhiyun
101*4882a593Smuzhiyunconfig ARCH_PROC_KCORE_TEXT
102*4882a593Smuzhiyun	def_bool y
103*4882a593Smuzhiyun
104*4882a593Smuzhiyunconfig CPU_BIG_ENDIAN
105*4882a593Smuzhiyun	def_bool y
106*4882a593Smuzhiyun
107*4882a593Smuzhiyunconfig ARCH_ATU
108*4882a593Smuzhiyun	bool
109*4882a593Smuzhiyun	default y if SPARC64
110*4882a593Smuzhiyun
111*4882a593Smuzhiyunconfig STACKTRACE_SUPPORT
112*4882a593Smuzhiyun	bool
113*4882a593Smuzhiyun	default y if SPARC64
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunconfig LOCKDEP_SUPPORT
116*4882a593Smuzhiyun	bool
117*4882a593Smuzhiyun	default y if SPARC64
118*4882a593Smuzhiyun
119*4882a593Smuzhiyunconfig ARCH_HIBERNATION_POSSIBLE
120*4882a593Smuzhiyun	def_bool y if SPARC64
121*4882a593Smuzhiyun
122*4882a593Smuzhiyunconfig AUDIT_ARCH
123*4882a593Smuzhiyun	bool
124*4882a593Smuzhiyun	default y
125*4882a593Smuzhiyun
126*4882a593Smuzhiyunconfig HAVE_SETUP_PER_CPU_AREA
127*4882a593Smuzhiyun	def_bool y if SPARC64
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig NEED_PER_CPU_EMBED_FIRST_CHUNK
130*4882a593Smuzhiyun	def_bool y if SPARC64
131*4882a593Smuzhiyun
132*4882a593Smuzhiyunconfig NEED_PER_CPU_PAGE_FIRST_CHUNK
133*4882a593Smuzhiyun	def_bool y if SPARC64
134*4882a593Smuzhiyun
135*4882a593Smuzhiyunconfig MMU
136*4882a593Smuzhiyun	bool
137*4882a593Smuzhiyun	default y
138*4882a593Smuzhiyun
139*4882a593Smuzhiyunconfig HIGHMEM
140*4882a593Smuzhiyun	bool
141*4882a593Smuzhiyun	default y if SPARC32
142*4882a593Smuzhiyun
143*4882a593Smuzhiyunconfig ZONE_DMA
144*4882a593Smuzhiyun	bool
145*4882a593Smuzhiyun	default y if SPARC32
146*4882a593Smuzhiyun
147*4882a593Smuzhiyunconfig GENERIC_ISA_DMA
148*4882a593Smuzhiyun	bool
149*4882a593Smuzhiyun	default y if SPARC32
150*4882a593Smuzhiyun
151*4882a593Smuzhiyunconfig ARCH_SUPPORTS_DEBUG_PAGEALLOC
152*4882a593Smuzhiyun	def_bool y if SPARC64
153*4882a593Smuzhiyun
154*4882a593Smuzhiyunconfig PGTABLE_LEVELS
155*4882a593Smuzhiyun	default 4 if 64BIT
156*4882a593Smuzhiyun	default 3
157*4882a593Smuzhiyun
158*4882a593Smuzhiyunconfig ARCH_SUPPORTS_UPROBES
159*4882a593Smuzhiyun	def_bool y if SPARC64
160*4882a593Smuzhiyun
161*4882a593Smuzhiyunmenu "Processor type and features"
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig SMP
164*4882a593Smuzhiyun	bool "Symmetric multi-processing support"
165*4882a593Smuzhiyun	help
166*4882a593Smuzhiyun	  This enables support for systems with more than one CPU. If you have
167*4882a593Smuzhiyun	  a system with only one CPU, say N. If you have a system with more
168*4882a593Smuzhiyun	  than one CPU, say Y.
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun	  If you say N here, the kernel will run on uni- and multiprocessor
171*4882a593Smuzhiyun	  machines, but will use only one CPU of a multiprocessor machine. If
172*4882a593Smuzhiyun	  you say Y here, the kernel will run on many, but not all,
173*4882a593Smuzhiyun	  uniprocessor machines. On a uniprocessor machine, the kernel
174*4882a593Smuzhiyun	  will run faster if you say N here.
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun	  People using multiprocessor machines who say Y here should also say
177*4882a593Smuzhiyun	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
178*4882a593Smuzhiyun	  Management" code will be disabled if you say Y here.
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
181*4882a593Smuzhiyun	  available at <http://www.tldp.org/docs.html#howto>.
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun	  If you don't know what to do here, say N.
184*4882a593Smuzhiyun
185*4882a593Smuzhiyunconfig NR_CPUS
186*4882a593Smuzhiyun	int "Maximum number of CPUs"
187*4882a593Smuzhiyun	depends on SMP
188*4882a593Smuzhiyun	range 2 32 if SPARC32
189*4882a593Smuzhiyun	range 2 4096 if SPARC64
190*4882a593Smuzhiyun	default 32 if SPARC32
191*4882a593Smuzhiyun	default 4096 if SPARC64
192*4882a593Smuzhiyun
193*4882a593Smuzhiyunsource "kernel/Kconfig.hz"
194*4882a593Smuzhiyun
195*4882a593Smuzhiyunconfig GENERIC_HWEIGHT
196*4882a593Smuzhiyun	bool
197*4882a593Smuzhiyun	default y
198*4882a593Smuzhiyun
199*4882a593Smuzhiyunconfig GENERIC_CALIBRATE_DELAY
200*4882a593Smuzhiyun	bool
201*4882a593Smuzhiyun	default y
202*4882a593Smuzhiyun
203*4882a593Smuzhiyunconfig ARCH_MAY_HAVE_PC_FDC
204*4882a593Smuzhiyun	bool
205*4882a593Smuzhiyun	default y
206*4882a593Smuzhiyun
207*4882a593Smuzhiyunconfig EMULATED_CMPXCHG
208*4882a593Smuzhiyun	bool
209*4882a593Smuzhiyun	default y if SPARC32
210*4882a593Smuzhiyun	help
211*4882a593Smuzhiyun	  Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
212*4882a593Smuzhiyun	  is emulated, and therefore it is not completely atomic.
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun# Makefile helpers
215*4882a593Smuzhiyunconfig SPARC32_SMP
216*4882a593Smuzhiyun	bool
217*4882a593Smuzhiyun	default y
218*4882a593Smuzhiyun	depends on SPARC32 && SMP
219*4882a593Smuzhiyun
220*4882a593Smuzhiyunconfig SPARC64_SMP
221*4882a593Smuzhiyun	bool
222*4882a593Smuzhiyun	default y
223*4882a593Smuzhiyun	depends on SPARC64 && SMP
224*4882a593Smuzhiyun
225*4882a593Smuzhiyunconfig EARLYFB
226*4882a593Smuzhiyun	bool "Support for early boot text console"
227*4882a593Smuzhiyun	default y
228*4882a593Smuzhiyun	depends on SPARC64
229*4882a593Smuzhiyun	help
230*4882a593Smuzhiyun	  Say Y here to enable a faster early framebuffer boot console.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig HOTPLUG_CPU
233*4882a593Smuzhiyun	bool "Support for hot-pluggable CPUs"
234*4882a593Smuzhiyun	depends on SPARC64 && SMP
235*4882a593Smuzhiyun	help
236*4882a593Smuzhiyun	  Say Y here to experiment with turning CPUs off and on.  CPUs
237*4882a593Smuzhiyun	  can be controlled through /sys/devices/system/cpu/cpu#.
238*4882a593Smuzhiyun	  Say N if you want to disable CPU hotplug.
239*4882a593Smuzhiyun
240*4882a593Smuzhiyunif SPARC64
241*4882a593Smuzhiyunsource "drivers/cpufreq/Kconfig"
242*4882a593Smuzhiyunendif
243*4882a593Smuzhiyun
244*4882a593Smuzhiyunconfig US3_MC
245*4882a593Smuzhiyun	tristate "UltraSPARC-III Memory Controller driver"
246*4882a593Smuzhiyun	depends on SPARC64
247*4882a593Smuzhiyun	default y
248*4882a593Smuzhiyun	help
249*4882a593Smuzhiyun	  This adds a driver for the UltraSPARC-III memory controller.
250*4882a593Smuzhiyun	  Loading this driver allows exact mnemonic strings to be
251*4882a593Smuzhiyun	  printed in the event of a memory error, so that the faulty DIMM
252*4882a593Smuzhiyun	  on the motherboard can be matched to the error.
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun	  If in doubt, say Y, as this information can be very useful.
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun# Global things across all Sun machines.
257*4882a593Smuzhiyunconfig GENERIC_LOCKBREAK
258*4882a593Smuzhiyun	bool
259*4882a593Smuzhiyun	default y
260*4882a593Smuzhiyun	depends on SPARC64 && SMP && PREEMPTION
261*4882a593Smuzhiyun
262*4882a593Smuzhiyunconfig NUMA
263*4882a593Smuzhiyun	bool "NUMA support"
264*4882a593Smuzhiyun	depends on SPARC64 && SMP
265*4882a593Smuzhiyun
266*4882a593Smuzhiyunconfig NODES_SHIFT
267*4882a593Smuzhiyun	int "Maximum NUMA Nodes (as a power of 2)"
268*4882a593Smuzhiyun	range 4 5 if SPARC64
269*4882a593Smuzhiyun	default "5"
270*4882a593Smuzhiyun	depends on NEED_MULTIPLE_NODES
271*4882a593Smuzhiyun	help
272*4882a593Smuzhiyun	  Specify the maximum number of NUMA Nodes available on the target
273*4882a593Smuzhiyun	  system.  Increases memory reserved to accommodate various tables.
274*4882a593Smuzhiyun
275*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_ENABLE
276*4882a593Smuzhiyun	def_bool y if SPARC64
277*4882a593Smuzhiyun	select SPARSEMEM_VMEMMAP_ENABLE
278*4882a593Smuzhiyun
279*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_DEFAULT
280*4882a593Smuzhiyun	def_bool y if SPARC64
281*4882a593Smuzhiyun
282*4882a593Smuzhiyunconfig FORCE_MAX_ZONEORDER
283*4882a593Smuzhiyun	int "Maximum zone order"
284*4882a593Smuzhiyun	default "13"
285*4882a593Smuzhiyun	help
286*4882a593Smuzhiyun	  The kernel memory allocator divides physically contiguous memory
287*4882a593Smuzhiyun	  blocks into "zones", where each zone is a power of two number of
288*4882a593Smuzhiyun	  pages.  This option selects the largest power of two that the kernel
289*4882a593Smuzhiyun	  keeps in the memory allocator.  If you need to allocate very large
290*4882a593Smuzhiyun	  blocks of physically contiguous memory, then you may need to
291*4882a593Smuzhiyun	  increase this value.
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun	  This config option is actually maximum order plus one. For example,
294*4882a593Smuzhiyun	  a value of 13 means that the largest free memory block is 2^12 pages.
295*4882a593Smuzhiyun
296*4882a593Smuzhiyunif SPARC64
297*4882a593Smuzhiyunsource "kernel/power/Kconfig"
298*4882a593Smuzhiyunendif
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunconfig SCHED_SMT
301*4882a593Smuzhiyun	bool "SMT (Hyperthreading) scheduler support"
302*4882a593Smuzhiyun	depends on SPARC64 && SMP
303*4882a593Smuzhiyun	default y
304*4882a593Smuzhiyun	help
305*4882a593Smuzhiyun	  SMT scheduler support improves the CPU scheduler's decision making
306*4882a593Smuzhiyun	  when dealing with SPARC cpus at a cost of slightly increased overhead
307*4882a593Smuzhiyun	  in some places. If unsure say N here.
308*4882a593Smuzhiyun
309*4882a593Smuzhiyunconfig SCHED_MC
310*4882a593Smuzhiyun	bool "Multi-core scheduler support"
311*4882a593Smuzhiyun	depends on SPARC64 && SMP
312*4882a593Smuzhiyun	default y
313*4882a593Smuzhiyun	help
314*4882a593Smuzhiyun	  Multi-core scheduler support improves the CPU scheduler's decision
315*4882a593Smuzhiyun	  making when dealing with multi-core CPU chips at a cost of slightly
316*4882a593Smuzhiyun	  increased overhead in some places. If unsure say N here.
317*4882a593Smuzhiyun
318*4882a593Smuzhiyunconfig CMDLINE_BOOL
319*4882a593Smuzhiyun	bool "Default bootloader kernel arguments"
320*4882a593Smuzhiyun	depends on SPARC64
321*4882a593Smuzhiyun
322*4882a593Smuzhiyunconfig CMDLINE
323*4882a593Smuzhiyun	string "Initial kernel command string"
324*4882a593Smuzhiyun	depends on CMDLINE_BOOL
325*4882a593Smuzhiyun	default "console=ttyS0,9600 root=/dev/sda1"
326*4882a593Smuzhiyun	help
327*4882a593Smuzhiyun	  Say Y here if you want to be able to pass default arguments to
328*4882a593Smuzhiyun	  the kernel. This will be overridden by the bootloader, if you
329*4882a593Smuzhiyun	  use one (such as SILO). This is most useful if you want to boot
330*4882a593Smuzhiyun	  a kernel from TFTP, and want default options to be available
331*4882a593Smuzhiyun	  with having them passed on the command line.
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	  NOTE: This option WILL override the PROM bootargs setting!
334*4882a593Smuzhiyun
335*4882a593Smuzhiyunconfig SUN_PM
336*4882a593Smuzhiyun	bool
337*4882a593Smuzhiyun	default y if SPARC32
338*4882a593Smuzhiyun	help
339*4882a593Smuzhiyun	  Enable power management and CPU standby features on supported
340*4882a593Smuzhiyun	  SPARC platforms.
341*4882a593Smuzhiyun
342*4882a593Smuzhiyunconfig SPARC_LED
343*4882a593Smuzhiyun	tristate "Sun4m LED driver"
344*4882a593Smuzhiyun	depends on SPARC32
345*4882a593Smuzhiyun	help
346*4882a593Smuzhiyun	  This driver toggles the front-panel LED on sun4m systems
347*4882a593Smuzhiyun	  in a user-specifiable manner.  Its state can be probed
348*4882a593Smuzhiyun	  by reading /proc/led and its blinking mode can be changed
349*4882a593Smuzhiyun	  via writes to /proc/led
350*4882a593Smuzhiyun
351*4882a593Smuzhiyunconfig SERIAL_CONSOLE
352*4882a593Smuzhiyun	bool
353*4882a593Smuzhiyun	depends on SPARC32
354*4882a593Smuzhiyun	default y
355*4882a593Smuzhiyun	help
356*4882a593Smuzhiyun	  If you say Y here, it will be possible to use a serial port as the
357*4882a593Smuzhiyun	  system console (the system console is the device which receives all
358*4882a593Smuzhiyun	  kernel messages and warnings and which allows logins in single user
359*4882a593Smuzhiyun	  mode). This could be useful if some terminal or printer is connected
360*4882a593Smuzhiyun	  to that serial port.
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	  Even if you say Y here, the currently visible virtual console
363*4882a593Smuzhiyun	  (/dev/tty0) will still be used as the system console by default, but
364*4882a593Smuzhiyun	  you can alter that using a kernel command line option such as
365*4882a593Smuzhiyun	  "console=ttyS1". (Try "man bootparam" or see the documentation of
366*4882a593Smuzhiyun	  your boot loader (silo) about how to pass options to the kernel at
367*4882a593Smuzhiyun	  boot time.)
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun	  If you don't have a graphics card installed and you say Y here, the
370*4882a593Smuzhiyun	  kernel will automatically use the first serial line, /dev/ttyS0, as
371*4882a593Smuzhiyun	  system console.
372*4882a593Smuzhiyun
373*4882a593Smuzhiyun	  If unsure, say N.
374*4882a593Smuzhiyun
375*4882a593Smuzhiyunconfig SPARC_LEON
376*4882a593Smuzhiyun	bool "Sparc Leon processor family"
377*4882a593Smuzhiyun	depends on SPARC32
378*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_MMIO
379*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_DESC
380*4882a593Smuzhiyun	select USB_UHCI_BIG_ENDIAN_MMIO
381*4882a593Smuzhiyun	select USB_UHCI_BIG_ENDIAN_DESC
382*4882a593Smuzhiyun	help
383*4882a593Smuzhiyun	  If you say Y here if you are running on a SPARC-LEON processor.
384*4882a593Smuzhiyun	  The LEON processor is a synthesizable VHDL model of the
385*4882a593Smuzhiyun	  SPARC-v8 standard. LEON is  part of the GRLIB collection of
386*4882a593Smuzhiyun	  IP cores that are distributed under GPL. GRLIB can be downloaded
387*4882a593Smuzhiyun	  from www.gaisler.com. You can download a sparc-linux cross-compilation
388*4882a593Smuzhiyun	  toolchain at www.gaisler.com.
389*4882a593Smuzhiyun
390*4882a593Smuzhiyunif SPARC_LEON
391*4882a593Smuzhiyunmenu "U-Boot options"
392*4882a593Smuzhiyun
393*4882a593Smuzhiyunconfig UBOOT_LOAD_ADDR
394*4882a593Smuzhiyun	hex "uImage Load Address"
395*4882a593Smuzhiyun	default 0x40004000
396*4882a593Smuzhiyun	help
397*4882a593Smuzhiyun	 U-Boot kernel load address, the address in physical address space
398*4882a593Smuzhiyun	 where u-boot will place the Linux kernel before booting it.
399*4882a593Smuzhiyun	 This address is normally the base address of main memory + 0x4000.
400*4882a593Smuzhiyun
401*4882a593Smuzhiyunconfig UBOOT_FLASH_ADDR
402*4882a593Smuzhiyun	hex "uImage.o Load Address"
403*4882a593Smuzhiyun	default 0x00080000
404*4882a593Smuzhiyun	help
405*4882a593Smuzhiyun	 Optional setting only affecting the uImage.o ELF-image used to
406*4882a593Smuzhiyun	 download the uImage file to the target using a ELF-loader other than
407*4882a593Smuzhiyun	 U-Boot. It may for example be used to download an uImage to FLASH with
408*4882a593Smuzhiyun	 the GRMON utility before even starting u-boot.
409*4882a593Smuzhiyun
410*4882a593Smuzhiyunconfig UBOOT_ENTRY_ADDR
411*4882a593Smuzhiyun	hex "uImage Entry Address"
412*4882a593Smuzhiyun	default 0xf0004000
413*4882a593Smuzhiyun	help
414*4882a593Smuzhiyun	 Do not change this unless you know what you're doing. This is
415*4882a593Smuzhiyun	 hardcoded by the SPARC32 and LEON port.
416*4882a593Smuzhiyun
417*4882a593Smuzhiyun	 This is the virtual address u-boot jumps to when booting the Linux
418*4882a593Smuzhiyun	 Kernel.
419*4882a593Smuzhiyun
420*4882a593Smuzhiyunendmenu
421*4882a593Smuzhiyunendif
422*4882a593Smuzhiyun
423*4882a593Smuzhiyunendmenu
424*4882a593Smuzhiyun
425*4882a593Smuzhiyunmenu "Bus options (PCI etc.)"
426*4882a593Smuzhiyunconfig SBUS
427*4882a593Smuzhiyun	bool
428*4882a593Smuzhiyun	default y
429*4882a593Smuzhiyun
430*4882a593Smuzhiyunconfig SBUSCHAR
431*4882a593Smuzhiyun	bool
432*4882a593Smuzhiyun	default y
433*4882a593Smuzhiyun
434*4882a593Smuzhiyunconfig SUN_LDOMS
435*4882a593Smuzhiyun	bool "Sun Logical Domains support"
436*4882a593Smuzhiyun	depends on SPARC64
437*4882a593Smuzhiyun	help
438*4882a593Smuzhiyun	  Say Y here is you want to support virtual devices via
439*4882a593Smuzhiyun	  Logical Domains.
440*4882a593Smuzhiyun
441*4882a593Smuzhiyunconfig PCIC_PCI
442*4882a593Smuzhiyun	bool
443*4882a593Smuzhiyun	depends on PCI && SPARC32 && !SPARC_LEON
444*4882a593Smuzhiyun	default y
445*4882a593Smuzhiyun
446*4882a593Smuzhiyunconfig LEON_PCI
447*4882a593Smuzhiyun	bool
448*4882a593Smuzhiyun	depends on PCI && SPARC_LEON
449*4882a593Smuzhiyun	default y
450*4882a593Smuzhiyun
451*4882a593Smuzhiyunconfig SPARC_GRPCI1
452*4882a593Smuzhiyun	bool "GRPCI Host Bridge Support"
453*4882a593Smuzhiyun	depends on LEON_PCI
454*4882a593Smuzhiyun	default y
455*4882a593Smuzhiyun	help
456*4882a593Smuzhiyun	  Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
457*4882a593Smuzhiyun	  PCI host controller is typically found in GRLIB SPARC32/LEON
458*4882a593Smuzhiyun	  systems. The driver has one property (all_pci_errors) controlled
459*4882a593Smuzhiyun	  from the bootloader that makes the GRPCI to generate interrupts
460*4882a593Smuzhiyun	  on detected PCI Parity and System errors.
461*4882a593Smuzhiyun
462*4882a593Smuzhiyunconfig SPARC_GRPCI2
463*4882a593Smuzhiyun	bool "GRPCI2 Host Bridge Support"
464*4882a593Smuzhiyun	depends on LEON_PCI
465*4882a593Smuzhiyun	default y
466*4882a593Smuzhiyun	help
467*4882a593Smuzhiyun	  Say Y here to include the GRPCI2 Host Bridge Driver.
468*4882a593Smuzhiyun
469*4882a593Smuzhiyunconfig SUN_OPENPROMFS
470*4882a593Smuzhiyun	tristate "Openprom tree appears in /proc/openprom"
471*4882a593Smuzhiyun	help
472*4882a593Smuzhiyun	  If you say Y, the OpenPROM device tree will be available as a
473*4882a593Smuzhiyun	  virtual file system, which you can mount to /proc/openprom by "mount
474*4882a593Smuzhiyun	  -t openpromfs none /proc/openprom".
475*4882a593Smuzhiyun
476*4882a593Smuzhiyun	  To compile the /proc/openprom support as a module, choose M here: the
477*4882a593Smuzhiyun	  module will be called openpromfs.
478*4882a593Smuzhiyun
479*4882a593Smuzhiyun	  Only choose N if you know in advance that you will not need to modify
480*4882a593Smuzhiyun	  OpenPROM settings on the running system.
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun# Makefile helpers
483*4882a593Smuzhiyunconfig SPARC64_PCI
484*4882a593Smuzhiyun	bool
485*4882a593Smuzhiyun	default y
486*4882a593Smuzhiyun	depends on SPARC64 && PCI
487*4882a593Smuzhiyun
488*4882a593Smuzhiyunconfig SPARC64_PCI_MSI
489*4882a593Smuzhiyun	bool
490*4882a593Smuzhiyun	default y
491*4882a593Smuzhiyun	depends on SPARC64_PCI && PCI_MSI
492*4882a593Smuzhiyun
493*4882a593Smuzhiyunendmenu
494*4882a593Smuzhiyun
495*4882a593Smuzhiyunconfig COMPAT
496*4882a593Smuzhiyun	bool
497*4882a593Smuzhiyun	depends on SPARC64
498*4882a593Smuzhiyun	default y
499*4882a593Smuzhiyun	select COMPAT_BINFMT_ELF if BINFMT_ELF
500*4882a593Smuzhiyun	select HAVE_UID16
501*4882a593Smuzhiyun	select ARCH_WANT_OLD_COMPAT_IPC
502*4882a593Smuzhiyun	select COMPAT_OLD_SIGACTION
503*4882a593Smuzhiyun
504*4882a593Smuzhiyunconfig SYSVIPC_COMPAT
505*4882a593Smuzhiyun	bool
506*4882a593Smuzhiyun	depends on COMPAT && SYSVIPC
507*4882a593Smuzhiyun	default y
508*4882a593Smuzhiyun
509*4882a593Smuzhiyunsource "drivers/sbus/char/Kconfig"
510