xref: /kernel/linux/linux-6.6/arch/sparc/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig 64BIT
362306a36Sopenharmony_ci	bool "64-bit kernel" if "$(ARCH)" = "sparc"
462306a36Sopenharmony_ci	default "$(ARCH)" = "sparc64"
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  SPARC is a family of RISC microprocessors designed and marketed by
762306a36Sopenharmony_ci	  Sun Microsystems, incorporated.  They are very widely found in Sun
862306a36Sopenharmony_ci	  workstations and clones.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	  Say yes to build a 64-bit kernel - formerly known as sparc64
1162306a36Sopenharmony_ci	  Say no to build a 32-bit kernel - formerly known as sparc
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciconfig SPARC
1462306a36Sopenharmony_ci	bool
1562306a36Sopenharmony_ci	default y
1662306a36Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
1762306a36Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
1862306a36Sopenharmony_ci	select DMA_OPS
1962306a36Sopenharmony_ci	select OF
2062306a36Sopenharmony_ci	select OF_PROMTREE
2162306a36Sopenharmony_ci	select HAVE_ASM_MODVERSIONS
2262306a36Sopenharmony_ci	select HAVE_ARCH_KGDB if !SMP || SPARC64
2362306a36Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
2462306a36Sopenharmony_ci	select HAVE_ARCH_SECCOMP if SPARC64
2562306a36Sopenharmony_ci	select HAVE_EXIT_THREAD
2662306a36Sopenharmony_ci	select HAVE_PCI
2762306a36Sopenharmony_ci	select SYSCTL_EXCEPTION_TRACE
2862306a36Sopenharmony_ci	select RTC_CLASS
2962306a36Sopenharmony_ci	select RTC_DRV_M48T59
3062306a36Sopenharmony_ci	select RTC_SYSTOHC
3162306a36Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL if SPARC64
3262306a36Sopenharmony_ci	select GENERIC_IRQ_SHOW
3362306a36Sopenharmony_ci	select ARCH_WANT_IPC_PARSE_VERSION
3462306a36Sopenharmony_ci	select GENERIC_PCI_IOMAP
3562306a36Sopenharmony_ci	select HAS_IOPORT
3662306a36Sopenharmony_ci	select HAVE_HARDLOCKUP_DETECTOR_SPARC64 if SPARC64
3762306a36Sopenharmony_ci	select HAVE_CBPF_JIT if SPARC32
3862306a36Sopenharmony_ci	select HAVE_EBPF_JIT if SPARC64
3962306a36Sopenharmony_ci	select HAVE_DEBUG_BUGVERBOSE
4062306a36Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
4162306a36Sopenharmony_ci	select MODULES_USE_ELF_RELA
4262306a36Sopenharmony_ci	select PCI_SYSCALL if PCI
4362306a36Sopenharmony_ci	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
4462306a36Sopenharmony_ci	select ODD_RT_SIGACTION
4562306a36Sopenharmony_ci	select OLD_SIGSUSPEND
4662306a36Sopenharmony_ci	select CPU_NO_EFFICIENT_FFS
4762306a36Sopenharmony_ci	select LOCKDEP_SMALL if LOCKDEP
4862306a36Sopenharmony_ci	select NEED_DMA_MAP_STATE
4962306a36Sopenharmony_ci	select NEED_SG_DMA_LENGTH
5062306a36Sopenharmony_ci	select TRACE_IRQFLAGS_SUPPORT
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig SPARC32
5362306a36Sopenharmony_ci	def_bool !64BIT
5462306a36Sopenharmony_ci	select ARCH_32BIT_OFF_T
5562306a36Sopenharmony_ci	select ARCH_HAS_CPU_FINALIZE_INIT if !SMP
5662306a36Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU
5762306a36Sopenharmony_ci	select CLZ_TAB
5862306a36Sopenharmony_ci	select DMA_DIRECT_REMAP
5962306a36Sopenharmony_ci	select GENERIC_ATOMIC64
6062306a36Sopenharmony_ci	select HAVE_UID16
6162306a36Sopenharmony_ci	select LOCK_MM_AND_FIND_VMA
6262306a36Sopenharmony_ci	select OLD_SIGACTION
6362306a36Sopenharmony_ci	select ZONE_DMA
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig SPARC64
6662306a36Sopenharmony_ci	def_bool 64BIT
6762306a36Sopenharmony_ci	select ALTERNATE_USER_ADDRESS_SPACE
6862306a36Sopenharmony_ci	select HAVE_FUNCTION_TRACER
6962306a36Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
7062306a36Sopenharmony_ci	select HAVE_KRETPROBES
7162306a36Sopenharmony_ci	select HAVE_KPROBES
7262306a36Sopenharmony_ci	select MMU_GATHER_RCU_TABLE_FREE if SMP
7362306a36Sopenharmony_ci	select MMU_GATHER_MERGE_VMAS
7462306a36Sopenharmony_ci	select MMU_GATHER_NO_FLUSH_CACHE
7562306a36Sopenharmony_ci	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
7662306a36Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE
7762306a36Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD
7862306a36Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
7962306a36Sopenharmony_ci	select HAVE_CONTEXT_TRACKING_USER
8062306a36Sopenharmony_ci	select HAVE_TIF_NOHZ
8162306a36Sopenharmony_ci	select HAVE_DEBUG_KMEMLEAK
8262306a36Sopenharmony_ci	select IOMMU_HELPER
8362306a36Sopenharmony_ci	select SPARSE_IRQ
8462306a36Sopenharmony_ci	select RTC_DRV_CMOS
8562306a36Sopenharmony_ci	select RTC_DRV_BQ4802
8662306a36Sopenharmony_ci	select RTC_DRV_SUN4V
8762306a36Sopenharmony_ci	select RTC_DRV_STARFIRE
8862306a36Sopenharmony_ci	select HAVE_PERF_EVENTS
8962306a36Sopenharmony_ci	select PERF_USE_VMALLOC
9062306a36Sopenharmony_ci	select ARCH_HAVE_NMI_SAFE_CMPXCHG
9162306a36Sopenharmony_ci	select HAVE_C_RECORDMCOUNT
9262306a36Sopenharmony_ci	select HAVE_ARCH_AUDITSYSCALL
9362306a36Sopenharmony_ci	select ARCH_SUPPORTS_ATOMIC_RMW
9462306a36Sopenharmony_ci	select ARCH_SUPPORTS_DEBUG_PAGEALLOC
9562306a36Sopenharmony_ci	select HAVE_NMI
9662306a36Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
9762306a36Sopenharmony_ci	select ARCH_USE_QUEUED_RWLOCKS
9862306a36Sopenharmony_ci	select ARCH_USE_QUEUED_SPINLOCKS
9962306a36Sopenharmony_ci	select GENERIC_TIME_VSYSCALL
10062306a36Sopenharmony_ci	select ARCH_CLOCKSOURCE_DATA
10162306a36Sopenharmony_ci	select ARCH_HAS_PTE_SPECIAL
10262306a36Sopenharmony_ci	select PCI_DOMAINS if PCI
10362306a36Sopenharmony_ci	select ARCH_HAS_GIGANTIC_PAGE
10462306a36Sopenharmony_ci	select HAVE_SOFTIRQ_ON_OWN_STACK
10562306a36Sopenharmony_ci	select HAVE_SETUP_PER_CPU_AREA
10662306a36Sopenharmony_ci	select NEED_PER_CPU_EMBED_FIRST_CHUNK
10762306a36Sopenharmony_ci	select NEED_PER_CPU_PAGE_FIRST_CHUNK
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig ARCH_PROC_KCORE_TEXT
11062306a36Sopenharmony_ci	def_bool y
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciconfig CPU_BIG_ENDIAN
11362306a36Sopenharmony_ci	def_bool y
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig ARCH_ATU
11662306a36Sopenharmony_ci	bool
11762306a36Sopenharmony_ci	default y if SPARC64
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciconfig STACKTRACE_SUPPORT
12062306a36Sopenharmony_ci	bool
12162306a36Sopenharmony_ci	default y if SPARC64
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig LOCKDEP_SUPPORT
12462306a36Sopenharmony_ci	bool
12562306a36Sopenharmony_ci	default y if SPARC64
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig ARCH_HIBERNATION_POSSIBLE
12862306a36Sopenharmony_ci	def_bool y if SPARC64
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciconfig AUDIT_ARCH
13162306a36Sopenharmony_ci	bool
13262306a36Sopenharmony_ci	default y
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ciconfig MMU
13562306a36Sopenharmony_ci	bool
13662306a36Sopenharmony_ci	default y
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig HIGHMEM
13962306a36Sopenharmony_ci	bool
14062306a36Sopenharmony_ci	default y if SPARC32
14162306a36Sopenharmony_ci	select KMAP_LOCAL
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ciconfig GENERIC_ISA_DMA
14462306a36Sopenharmony_ci	bool
14562306a36Sopenharmony_ci	default y if SPARC32
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ciconfig PGTABLE_LEVELS
14862306a36Sopenharmony_ci	default 4 if 64BIT
14962306a36Sopenharmony_ci	default 3
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ciconfig ARCH_SUPPORTS_UPROBES
15262306a36Sopenharmony_ci	def_bool y if SPARC64
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_cimenu "Processor type and features"
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ciconfig SMP
15762306a36Sopenharmony_ci	bool "Symmetric multi-processing support"
15862306a36Sopenharmony_ci	help
15962306a36Sopenharmony_ci	  This enables support for systems with more than one CPU. If you have
16062306a36Sopenharmony_ci	  a system with only one CPU, say N. If you have a system with more
16162306a36Sopenharmony_ci	  than one CPU, say Y.
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  If you say N here, the kernel will run on uni- and multiprocessor
16462306a36Sopenharmony_ci	  machines, but will use only one CPU of a multiprocessor machine. If
16562306a36Sopenharmony_ci	  you say Y here, the kernel will run on many, but not all,
16662306a36Sopenharmony_ci	  uniprocessor machines. On a uniprocessor machine, the kernel
16762306a36Sopenharmony_ci	  will run faster if you say N here.
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci	  People using multiprocessor machines who say Y here should also say
17062306a36Sopenharmony_ci	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
17162306a36Sopenharmony_ci	  Management" code will be disabled if you say Y here.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
17462306a36Sopenharmony_ci	  available at <https://www.tldp.org/docs.html#howto>.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci	  If you don't know what to do here, say N.
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ciconfig NR_CPUS
17962306a36Sopenharmony_ci	int "Maximum number of CPUs"
18062306a36Sopenharmony_ci	depends on SMP
18162306a36Sopenharmony_ci	range 2 32 if SPARC32
18262306a36Sopenharmony_ci	range 2 4096 if SPARC64
18362306a36Sopenharmony_ci	default 32 if SPARC32
18462306a36Sopenharmony_ci	default 4096 if SPARC64
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_cisource "kernel/Kconfig.hz"
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ciconfig GENERIC_HWEIGHT
18962306a36Sopenharmony_ci	bool
19062306a36Sopenharmony_ci	default y
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY
19362306a36Sopenharmony_ci	bool
19462306a36Sopenharmony_ci	default y
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ciconfig ARCH_MAY_HAVE_PC_FDC
19762306a36Sopenharmony_ci	bool
19862306a36Sopenharmony_ci	default y
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ciconfig EMULATED_CMPXCHG
20162306a36Sopenharmony_ci	bool
20262306a36Sopenharmony_ci	default y if SPARC32
20362306a36Sopenharmony_ci	help
20462306a36Sopenharmony_ci	  Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
20562306a36Sopenharmony_ci	  is emulated, and therefore it is not completely atomic.
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci# Makefile helpers
20862306a36Sopenharmony_ciconfig SPARC32_SMP
20962306a36Sopenharmony_ci	bool
21062306a36Sopenharmony_ci	default y
21162306a36Sopenharmony_ci	depends on SPARC32 && SMP
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ciconfig SPARC64_SMP
21462306a36Sopenharmony_ci	bool
21562306a36Sopenharmony_ci	default y
21662306a36Sopenharmony_ci	depends on SPARC64 && SMP
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ciconfig EARLYFB
21962306a36Sopenharmony_ci	bool "Support for early boot text console"
22062306a36Sopenharmony_ci	default y
22162306a36Sopenharmony_ci	depends on SPARC64
22262306a36Sopenharmony_ci	help
22362306a36Sopenharmony_ci	  Say Y here to enable a faster early framebuffer boot console.
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ciconfig HOTPLUG_CPU
22662306a36Sopenharmony_ci	bool "Support for hot-pluggable CPUs"
22762306a36Sopenharmony_ci	depends on SPARC64 && SMP
22862306a36Sopenharmony_ci	help
22962306a36Sopenharmony_ci	  Say Y here to experiment with turning CPUs off and on.  CPUs
23062306a36Sopenharmony_ci	  can be controlled through /sys/devices/system/cpu/cpu#.
23162306a36Sopenharmony_ci	  Say N if you want to disable CPU hotplug.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciif SPARC64
23462306a36Sopenharmony_cisource "drivers/cpufreq/Kconfig"
23562306a36Sopenharmony_ciendif
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ciconfig US3_MC
23862306a36Sopenharmony_ci	tristate "UltraSPARC-III Memory Controller driver"
23962306a36Sopenharmony_ci	depends on SPARC64
24062306a36Sopenharmony_ci	default y
24162306a36Sopenharmony_ci	help
24262306a36Sopenharmony_ci	  This adds a driver for the UltraSPARC-III memory controller.
24362306a36Sopenharmony_ci	  Loading this driver allows exact mnemonic strings to be
24462306a36Sopenharmony_ci	  printed in the event of a memory error, so that the faulty DIMM
24562306a36Sopenharmony_ci	  on the motherboard can be matched to the error.
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci	  If in doubt, say Y, as this information can be very useful.
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci# Global things across all Sun machines.
25062306a36Sopenharmony_ciconfig GENERIC_LOCKBREAK
25162306a36Sopenharmony_ci	bool
25262306a36Sopenharmony_ci	default y
25362306a36Sopenharmony_ci	depends on SPARC64 && SMP && PREEMPTION
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ciconfig NUMA
25662306a36Sopenharmony_ci	bool "NUMA support"
25762306a36Sopenharmony_ci	depends on SPARC64 && SMP
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ciconfig NODES_SHIFT
26062306a36Sopenharmony_ci	int "Maximum NUMA Nodes (as a power of 2)"
26162306a36Sopenharmony_ci	range 4 5 if SPARC64
26262306a36Sopenharmony_ci	default "5"
26362306a36Sopenharmony_ci	depends on NUMA
26462306a36Sopenharmony_ci	help
26562306a36Sopenharmony_ci	  Specify the maximum number of NUMA Nodes available on the target
26662306a36Sopenharmony_ci	  system.  Increases memory reserved to accommodate various tables.
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ciconfig ARCH_SPARSEMEM_ENABLE
26962306a36Sopenharmony_ci	def_bool y if SPARC64
27062306a36Sopenharmony_ci	select SPARSEMEM_VMEMMAP_ENABLE
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ciconfig ARCH_SPARSEMEM_DEFAULT
27362306a36Sopenharmony_ci	def_bool y if SPARC64
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ciconfig ARCH_FORCE_MAX_ORDER
27662306a36Sopenharmony_ci	int "Order of maximal physically contiguous allocations"
27762306a36Sopenharmony_ci	default "12"
27862306a36Sopenharmony_ci	help
27962306a36Sopenharmony_ci	  The kernel page allocator limits the size of maximal physically
28062306a36Sopenharmony_ci	  contiguous allocations. The limit is called MAX_ORDER and it
28162306a36Sopenharmony_ci	  defines the maximal power of two of number of pages that can be
28262306a36Sopenharmony_ci	  allocated as a single contiguous block. This option allows
28362306a36Sopenharmony_ci	  overriding the default setting when ability to allocate very
28462306a36Sopenharmony_ci	  large blocks of physically contiguous memory is required.
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci	  Don't change if unsure.
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ciif SPARC64 || COMPILE_TEST
28962306a36Sopenharmony_cisource "kernel/power/Kconfig"
29062306a36Sopenharmony_ciendif
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ciconfig SCHED_SMT
29362306a36Sopenharmony_ci	bool "SMT (Hyperthreading) scheduler support"
29462306a36Sopenharmony_ci	depends on SPARC64 && SMP
29562306a36Sopenharmony_ci	default y
29662306a36Sopenharmony_ci	help
29762306a36Sopenharmony_ci	  SMT scheduler support improves the CPU scheduler's decision making
29862306a36Sopenharmony_ci	  when dealing with SPARC cpus at a cost of slightly increased overhead
29962306a36Sopenharmony_ci	  in some places. If unsure say N here.
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ciconfig SCHED_MC
30262306a36Sopenharmony_ci	bool "Multi-core scheduler support"
30362306a36Sopenharmony_ci	depends on SPARC64 && SMP
30462306a36Sopenharmony_ci	default y
30562306a36Sopenharmony_ci	help
30662306a36Sopenharmony_ci	  Multi-core scheduler support improves the CPU scheduler's decision
30762306a36Sopenharmony_ci	  making when dealing with multi-core CPU chips at a cost of slightly
30862306a36Sopenharmony_ci	  increased overhead in some places. If unsure say N here.
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ciconfig CMDLINE_BOOL
31162306a36Sopenharmony_ci	bool "Default bootloader kernel arguments"
31262306a36Sopenharmony_ci	depends on SPARC64
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ciconfig CMDLINE
31562306a36Sopenharmony_ci	string "Initial kernel command string"
31662306a36Sopenharmony_ci	depends on CMDLINE_BOOL
31762306a36Sopenharmony_ci	default "console=ttyS0,9600 root=/dev/sda1"
31862306a36Sopenharmony_ci	help
31962306a36Sopenharmony_ci	  Say Y here if you want to be able to pass default arguments to
32062306a36Sopenharmony_ci	  the kernel. This will be overridden by the bootloader, if you
32162306a36Sopenharmony_ci	  use one (such as SILO). This is most useful if you want to boot
32262306a36Sopenharmony_ci	  a kernel from TFTP, and want default options to be available
32362306a36Sopenharmony_ci	  with having them passed on the command line.
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci	  NOTE: This option WILL override the PROM bootargs setting!
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ciconfig SUN_PM
32862306a36Sopenharmony_ci	bool
32962306a36Sopenharmony_ci	default y if SPARC32
33062306a36Sopenharmony_ci	help
33162306a36Sopenharmony_ci	  Enable power management and CPU standby features on supported
33262306a36Sopenharmony_ci	  SPARC platforms.
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ciconfig SPARC_LED
33562306a36Sopenharmony_ci	tristate "Sun4m LED driver"
33662306a36Sopenharmony_ci	depends on SPARC32
33762306a36Sopenharmony_ci	help
33862306a36Sopenharmony_ci	  This driver toggles the front-panel LED on sun4m systems
33962306a36Sopenharmony_ci	  in a user-specifiable manner.  Its state can be probed
34062306a36Sopenharmony_ci	  by reading /proc/led and its blinking mode can be changed
34162306a36Sopenharmony_ci	  via writes to /proc/led
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ciconfig SERIAL_CONSOLE
34462306a36Sopenharmony_ci	bool
34562306a36Sopenharmony_ci	depends on SPARC32
34662306a36Sopenharmony_ci	default y
34762306a36Sopenharmony_ci	help
34862306a36Sopenharmony_ci	  If you say Y here, it will be possible to use a serial port as the
34962306a36Sopenharmony_ci	  system console (the system console is the device which receives all
35062306a36Sopenharmony_ci	  kernel messages and warnings and which allows logins in single user
35162306a36Sopenharmony_ci	  mode). This could be useful if some terminal or printer is connected
35262306a36Sopenharmony_ci	  to that serial port.
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
35562306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
35662306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
35762306a36Sopenharmony_ci	  "console=ttyS1". (Try "man bootparam" or see the documentation of
35862306a36Sopenharmony_ci	  your boot loader (silo) about how to pass options to the kernel at
35962306a36Sopenharmony_ci	  boot time.)
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci	  If you don't have a graphics card installed and you say Y here, the
36262306a36Sopenharmony_ci	  kernel will automatically use the first serial line, /dev/ttyS0, as
36362306a36Sopenharmony_ci	  system console.
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci	  If unsure, say N.
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ciconfig SPARC_LEON
36862306a36Sopenharmony_ci	bool "Sparc Leon processor family"
36962306a36Sopenharmony_ci	depends on SPARC32
37062306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
37162306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC
37262306a36Sopenharmony_ci	select USB_UHCI_BIG_ENDIAN_MMIO
37362306a36Sopenharmony_ci	select USB_UHCI_BIG_ENDIAN_DESC
37462306a36Sopenharmony_ci	help
37562306a36Sopenharmony_ci	  If you say Y here if you are running on a SPARC-LEON processor.
37662306a36Sopenharmony_ci	  The LEON processor is a synthesizable VHDL model of the
37762306a36Sopenharmony_ci	  SPARC-v8 standard. LEON is  part of the GRLIB collection of
37862306a36Sopenharmony_ci	  IP cores that are distributed under GPL. GRLIB can be downloaded
37962306a36Sopenharmony_ci	  from www.gaisler.com. You can download a sparc-linux cross-compilation
38062306a36Sopenharmony_ci	  toolchain at www.gaisler.com.
38162306a36Sopenharmony_ci
38262306a36Sopenharmony_ciif SPARC_LEON
38362306a36Sopenharmony_cimenu "U-Boot options"
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ciconfig UBOOT_LOAD_ADDR
38662306a36Sopenharmony_ci	hex "uImage Load Address"
38762306a36Sopenharmony_ci	default 0x40004000
38862306a36Sopenharmony_ci	help
38962306a36Sopenharmony_ci	 U-Boot kernel load address, the address in physical address space
39062306a36Sopenharmony_ci	 where u-boot will place the Linux kernel before booting it.
39162306a36Sopenharmony_ci	 This address is normally the base address of main memory + 0x4000.
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ciconfig UBOOT_FLASH_ADDR
39462306a36Sopenharmony_ci	hex "uImage.o Load Address"
39562306a36Sopenharmony_ci	default 0x00080000
39662306a36Sopenharmony_ci	help
39762306a36Sopenharmony_ci	 Optional setting only affecting the uImage.o ELF-image used to
39862306a36Sopenharmony_ci	 download the uImage file to the target using a ELF-loader other than
39962306a36Sopenharmony_ci	 U-Boot. It may for example be used to download an uImage to FLASH with
40062306a36Sopenharmony_ci	 the GRMON utility before even starting u-boot.
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ciconfig UBOOT_ENTRY_ADDR
40362306a36Sopenharmony_ci	hex "uImage Entry Address"
40462306a36Sopenharmony_ci	default 0xf0004000
40562306a36Sopenharmony_ci	help
40662306a36Sopenharmony_ci	 Do not change this unless you know what you're doing. This is
40762306a36Sopenharmony_ci	 hardcoded by the SPARC32 and LEON port.
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci	 This is the virtual address u-boot jumps to when booting the Linux
41062306a36Sopenharmony_ci	 Kernel.
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ciendmenu
41362306a36Sopenharmony_ciendif
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ciendmenu
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_cimenu "Bus options (PCI etc.)"
41862306a36Sopenharmony_ciconfig SBUS
41962306a36Sopenharmony_ci	bool
42062306a36Sopenharmony_ci	default y
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ciconfig SBUSCHAR
42362306a36Sopenharmony_ci	bool
42462306a36Sopenharmony_ci	default y
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ciconfig SUN_LDOMS
42762306a36Sopenharmony_ci	bool "Sun Logical Domains support"
42862306a36Sopenharmony_ci	depends on SPARC64
42962306a36Sopenharmony_ci	help
43062306a36Sopenharmony_ci	  Say Y here is you want to support virtual devices via
43162306a36Sopenharmony_ci	  Logical Domains.
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ciconfig PCIC_PCI
43462306a36Sopenharmony_ci	bool
43562306a36Sopenharmony_ci	depends on PCI && SPARC32 && !SPARC_LEON
43662306a36Sopenharmony_ci	default y
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ciconfig LEON_PCI
43962306a36Sopenharmony_ci	bool
44062306a36Sopenharmony_ci	depends on PCI && SPARC_LEON
44162306a36Sopenharmony_ci	default y
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ciconfig SPARC_GRPCI1
44462306a36Sopenharmony_ci	bool "GRPCI Host Bridge Support"
44562306a36Sopenharmony_ci	depends on LEON_PCI
44662306a36Sopenharmony_ci	default y
44762306a36Sopenharmony_ci	help
44862306a36Sopenharmony_ci	  Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
44962306a36Sopenharmony_ci	  PCI host controller is typically found in GRLIB SPARC32/LEON
45062306a36Sopenharmony_ci	  systems. The driver has one property (all_pci_errors) controlled
45162306a36Sopenharmony_ci	  from the bootloader that makes the GRPCI to generate interrupts
45262306a36Sopenharmony_ci	  on detected PCI Parity and System errors.
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_ciconfig SPARC_GRPCI2
45562306a36Sopenharmony_ci	bool "GRPCI2 Host Bridge Support"
45662306a36Sopenharmony_ci	depends on LEON_PCI
45762306a36Sopenharmony_ci	default y
45862306a36Sopenharmony_ci	help
45962306a36Sopenharmony_ci	  Say Y here to include the GRPCI2 Host Bridge Driver.
46062306a36Sopenharmony_ci
46162306a36Sopenharmony_ciconfig SUN_OPENPROMFS
46262306a36Sopenharmony_ci	tristate "Openprom tree appears in /proc/openprom"
46362306a36Sopenharmony_ci	help
46462306a36Sopenharmony_ci	  If you say Y, the OpenPROM device tree will be available as a
46562306a36Sopenharmony_ci	  virtual file system, which you can mount to /proc/openprom by "mount
46662306a36Sopenharmony_ci	  -t openpromfs none /proc/openprom".
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci	  To compile the /proc/openprom support as a module, choose M here: the
46962306a36Sopenharmony_ci	  module will be called openpromfs.
47062306a36Sopenharmony_ci
47162306a36Sopenharmony_ci	  Only choose N if you know in advance that you will not need to modify
47262306a36Sopenharmony_ci	  OpenPROM settings on the running system.
47362306a36Sopenharmony_ci
47462306a36Sopenharmony_ci# Makefile helpers
47562306a36Sopenharmony_ciconfig SPARC64_PCI
47662306a36Sopenharmony_ci	bool
47762306a36Sopenharmony_ci	default y
47862306a36Sopenharmony_ci	depends on SPARC64 && PCI
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ciconfig SPARC64_PCI_MSI
48162306a36Sopenharmony_ci	bool
48262306a36Sopenharmony_ci	default y
48362306a36Sopenharmony_ci	depends on SPARC64_PCI && PCI_MSI
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ciendmenu
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ciconfig COMPAT
48862306a36Sopenharmony_ci	bool
48962306a36Sopenharmony_ci	depends on SPARC64
49062306a36Sopenharmony_ci	default y
49162306a36Sopenharmony_ci	select HAVE_UID16
49262306a36Sopenharmony_ci	select ARCH_WANT_OLD_COMPAT_IPC
49362306a36Sopenharmony_ci	select COMPAT_OLD_SIGACTION
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_cisource "drivers/sbus/char/Kconfig"
496