18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig PARISC
38c2ecf20Sopenharmony_ci	def_bool y
48c2ecf20Sopenharmony_ci	select ARCH_32BIT_OFF_T if !64BIT
58c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
68c2ecf20Sopenharmony_ci	select HAVE_IDE
78c2ecf20Sopenharmony_ci	select HAVE_OPROFILE
88c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_TRACER
98c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
108c2ecf20Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
118c2ecf20Sopenharmony_ci	select ARCH_WANT_FRAME_POINTERS
128c2ecf20Sopenharmony_ci	select ARCH_HAS_ELF_RANDOMIZE
138c2ecf20Sopenharmony_ci	select ARCH_HAS_STRICT_KERNEL_RWX
148c2ecf20Sopenharmony_ci	select ARCH_HAS_STRICT_MODULE_RWX
158c2ecf20Sopenharmony_ci	select ARCH_HAS_UBSAN_SANITIZE_ALL
168c2ecf20Sopenharmony_ci	select ARCH_NO_SG_CHAIN
178c2ecf20Sopenharmony_ci	select ARCH_SUPPORTS_MEMORY_FAILURE
188c2ecf20Sopenharmony_ci	select DMA_OPS
198c2ecf20Sopenharmony_ci	select RTC_CLASS
208c2ecf20Sopenharmony_ci	select RTC_DRV_GENERIC
218c2ecf20Sopenharmony_ci	select INIT_ALL_POSSIBLE
228c2ecf20Sopenharmony_ci	select BUG
238c2ecf20Sopenharmony_ci	select BUILDTIME_TABLE_SORT
248c2ecf20Sopenharmony_ci	select HAVE_PCI
258c2ecf20Sopenharmony_ci	select HAVE_PERF_EVENTS
268c2ecf20Sopenharmony_ci	select HAVE_KERNEL_BZIP2
278c2ecf20Sopenharmony_ci	select HAVE_KERNEL_GZIP
288c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZ4
298c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZMA
308c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZO
318c2ecf20Sopenharmony_ci	select HAVE_KERNEL_XZ
328c2ecf20Sopenharmony_ci	select GENERIC_ATOMIC64 if !64BIT
338c2ecf20Sopenharmony_ci	select GENERIC_IRQ_PROBE
348c2ecf20Sopenharmony_ci	select GENERIC_PCI_IOMAP
358c2ecf20Sopenharmony_ci	select ARCH_HAVE_NMI_SAFE_CMPXCHG
368c2ecf20Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
378c2ecf20Sopenharmony_ci	select GENERIC_CPU_DEVICES
388c2ecf20Sopenharmony_ci	select GENERIC_STRNCPY_FROM_USER
398c2ecf20Sopenharmony_ci	select SYSCTL_ARCH_UNALIGN_ALLOW
408c2ecf20Sopenharmony_ci	select SYSCTL_EXCEPTION_TRACE
418c2ecf20Sopenharmony_ci	select HAVE_MOD_ARCH_SPECIFIC
428c2ecf20Sopenharmony_ci	select VIRT_TO_BUS
438c2ecf20Sopenharmony_ci	select MODULES_USE_ELF_RELA
448c2ecf20Sopenharmony_ci	select CLONE_BACKWARDS
458c2ecf20Sopenharmony_ci	select TTY # Needed for pdc_cons.c
468c2ecf20Sopenharmony_ci	select HAVE_DEBUG_STACKOVERFLOW
478c2ecf20Sopenharmony_ci	select HAVE_ARCH_AUDITSYSCALL
488c2ecf20Sopenharmony_ci	select HAVE_ARCH_HASH
498c2ecf20Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL
508c2ecf20Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL_RELATIVE
518c2ecf20Sopenharmony_ci	select HAVE_ARCH_SECCOMP_FILTER
528c2ecf20Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
538c2ecf20Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
548c2ecf20Sopenharmony_ci	select GENERIC_SCHED_CLOCK
558c2ecf20Sopenharmony_ci	select HAVE_UNSTABLE_SCHED_CLOCK if SMP
568c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS
578c2ecf20Sopenharmony_ci	select CPU_NO_EFFICIENT_FFS
588c2ecf20Sopenharmony_ci	select NEED_DMA_MAP_STATE
598c2ecf20Sopenharmony_ci	select NEED_SG_DMA_LENGTH
608c2ecf20Sopenharmony_ci	select HAVE_ARCH_KGDB
618c2ecf20Sopenharmony_ci	select HAVE_KPROBES
628c2ecf20Sopenharmony_ci	select HAVE_KRETPROBES
638c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
648c2ecf20Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
658c2ecf20Sopenharmony_ci	select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
668c2ecf20Sopenharmony_ci	select HAVE_KPROBES_ON_FTRACE
678c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE_WITH_REGS
688c2ecf20Sopenharmony_ci	select SET_FS
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	help
718c2ecf20Sopenharmony_ci	  The PA-RISC microprocessor is designed by Hewlett-Packard and used
728c2ecf20Sopenharmony_ci	  in many of their workstations & servers (HP9000 700 and 800 series,
738c2ecf20Sopenharmony_ci	  and later HP3000 series).  The PA-RISC Linux project home page is
748c2ecf20Sopenharmony_ci	  at <https://parisc.wiki.kernel.org>.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig CPU_BIG_ENDIAN
778c2ecf20Sopenharmony_ci	def_bool y
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig MMU
808c2ecf20Sopenharmony_ci	def_bool y
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig STACK_GROWSUP
838c2ecf20Sopenharmony_ci	def_bool y
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig ARCH_DEFCONFIG
868c2ecf20Sopenharmony_ci	string
878c2ecf20Sopenharmony_ci	default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT
888c2ecf20Sopenharmony_ci	default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig GENERIC_LOCKBREAK
918c2ecf20Sopenharmony_ci	bool
928c2ecf20Sopenharmony_ci	default y
938c2ecf20Sopenharmony_ci	depends on SMP && PREEMPTION
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U32
968c2ecf20Sopenharmony_ci	bool
978c2ecf20Sopenharmony_ci	default n
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U64
1008c2ecf20Sopenharmony_ci	bool
1018c2ecf20Sopenharmony_ci	default n
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciconfig GENERIC_BUG
1048c2ecf20Sopenharmony_ci	bool
1058c2ecf20Sopenharmony_ci	default y
1068c2ecf20Sopenharmony_ci	depends on BUG
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT
1098c2ecf20Sopenharmony_ci	bool
1108c2ecf20Sopenharmony_ci	default y
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY
1138c2ecf20Sopenharmony_ci	bool
1148c2ecf20Sopenharmony_ci	default y
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciconfig TIME_LOW_RES
1178c2ecf20Sopenharmony_ci	bool
1188c2ecf20Sopenharmony_ci	depends on SMP
1198c2ecf20Sopenharmony_ci	default y
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci# unless you want to implement ACPI on PA-RISC ... ;-)
1228c2ecf20Sopenharmony_ciconfig PM
1238c2ecf20Sopenharmony_ci	bool
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT
1268c2ecf20Sopenharmony_ci	def_bool y
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ciconfig ISA_DMA_API
1298c2ecf20Sopenharmony_ci	bool
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ciconfig ARCH_MAY_HAVE_PC_FDC
1328c2ecf20Sopenharmony_ci	bool
1338c2ecf20Sopenharmony_ci	depends on BROKEN
1348c2ecf20Sopenharmony_ci	default y
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS
1378c2ecf20Sopenharmony_ci	int
1388c2ecf20Sopenharmony_ci	default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
1398c2ecf20Sopenharmony_ci	default 2
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HUGETLBFS
1428c2ecf20Sopenharmony_ci	def_bool y if PA20
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_cimenu "Processor type and features"
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_cichoice
1488c2ecf20Sopenharmony_ci	prompt "Processor type"
1498c2ecf20Sopenharmony_ci	default PA7000
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciconfig PA7000
1528c2ecf20Sopenharmony_ci	bool "PA7000/PA7100"
1538c2ecf20Sopenharmony_ci	help
1548c2ecf20Sopenharmony_ci	  This is the processor type of your CPU.  This information is
1558c2ecf20Sopenharmony_ci	  used for optimizing purposes.  In order to compile a kernel
1568c2ecf20Sopenharmony_ci	  that can run on all 32-bit PA CPUs (albeit not optimally fast),
1578c2ecf20Sopenharmony_ci	  you can specify "PA7000" here.
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci	  Specifying "PA8000" here will allow you to select a 64-bit kernel
1608c2ecf20Sopenharmony_ci	  which is required on some machines.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig PA7100LC
1638c2ecf20Sopenharmony_ci	bool "PA7100LC"
1648c2ecf20Sopenharmony_ci	help
1658c2ecf20Sopenharmony_ci	  Select this option for the PCX-L processor, as used in the
1668c2ecf20Sopenharmony_ci	  712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
1678c2ecf20Sopenharmony_ci	  D200, D210, D300, D310 and E-class
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ciconfig PA7200
1708c2ecf20Sopenharmony_ci	bool "PA7200"
1718c2ecf20Sopenharmony_ci	help
1728c2ecf20Sopenharmony_ci	  Select this option for the PCX-T' processor, as used in the
1738c2ecf20Sopenharmony_ci	  C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
1748c2ecf20Sopenharmony_ci	  K100, K200, K210, K220, K400, K410 and K420
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig PA7300LC
1778c2ecf20Sopenharmony_ci	bool "PA7300LC"
1788c2ecf20Sopenharmony_ci	help
1798c2ecf20Sopenharmony_ci	  Select this option for the PCX-L2 processor, as used in the
1808c2ecf20Sopenharmony_ci	  744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
1818c2ecf20Sopenharmony_ci	  D220, D230, D320 and D330.
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig PA8X00
1848c2ecf20Sopenharmony_ci	bool "PA8000 and up"
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  Select this option for PCX-U to PCX-W2 processors.
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ciendchoice
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci# Define implied options from the CPU selection here
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ciconfig PA20
1938c2ecf20Sopenharmony_ci	def_bool y
1948c2ecf20Sopenharmony_ci	depends on PA8X00
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ciconfig PA11
1978c2ecf20Sopenharmony_ci	def_bool y
1988c2ecf20Sopenharmony_ci	depends on PA7000 || PA7100LC || PA7200 || PA7300LC
1998c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU
2008c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ciconfig PREFETCH
2038c2ecf20Sopenharmony_ci	def_bool y
2048c2ecf20Sopenharmony_ci	depends on PA8X00 || PA7200
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciconfig PARISC_HUGE_KERNEL
2078c2ecf20Sopenharmony_ci	def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ciconfig MLONGCALLS
2108c2ecf20Sopenharmony_ci	def_bool y if PARISC_HUGE_KERNEL
2118c2ecf20Sopenharmony_ci	bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
2128c2ecf20Sopenharmony_ci	depends on PA8X00
2138c2ecf20Sopenharmony_ci	help
2148c2ecf20Sopenharmony_ci	  If you configure the kernel to include many drivers built-in instead
2158c2ecf20Sopenharmony_ci	  as modules, the kernel executable may become too big, so that the
2168c2ecf20Sopenharmony_ci	  linker will not be able to resolve some long branches and fails to link
2178c2ecf20Sopenharmony_ci	  your vmlinux kernel. In that case enabling this option will help you
2188c2ecf20Sopenharmony_ci	  to overcome this limit by using the -mlong-calls compiler option.
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci	  Usually you want to say N here, unless you e.g. want to build
2218c2ecf20Sopenharmony_ci	  a kernel which includes all necessary drivers built-in and which can
2228c2ecf20Sopenharmony_ci	  be used for TFTP booting without the need to have an initrd ramdisk.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci	  Enabling this option will probably slow down your kernel.
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ciconfig 64BIT
2278c2ecf20Sopenharmony_ci	bool "64-bit kernel"
2288c2ecf20Sopenharmony_ci	depends on PA8X00
2298c2ecf20Sopenharmony_ci	help
2308c2ecf20Sopenharmony_ci	  Enable this if you want to support 64bit kernel on PA-RISC platform.
2318c2ecf20Sopenharmony_ci
2328c2ecf20Sopenharmony_ci	  At the moment, only people willing to use more than 2GB of RAM,
2338c2ecf20Sopenharmony_ci	  or having a 64bit-only capable PA-RISC machine should say Y here.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci	  Since there is no 64bit userland on PA-RISC, there is no point to
2368c2ecf20Sopenharmony_ci	  enable this option otherwise. The 64bit kernel is significantly bigger
2378c2ecf20Sopenharmony_ci	  and slower than the 32bit one.
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_cichoice
2408c2ecf20Sopenharmony_ci	prompt "Kernel page size"
2418c2ecf20Sopenharmony_ci	default PARISC_PAGE_SIZE_4KB
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ciconfig PARISC_PAGE_SIZE_4KB
2448c2ecf20Sopenharmony_ci	bool "4KB"
2458c2ecf20Sopenharmony_ci	help
2468c2ecf20Sopenharmony_ci	  This lets you select the page size of the kernel.  For best
2478c2ecf20Sopenharmony_ci	  performance, a page size of 16KB is recommended.  For best
2488c2ecf20Sopenharmony_ci	  compatibility with 32bit applications, a page size of 4KB should be
2498c2ecf20Sopenharmony_ci	  selected (the vast majority of 32bit binaries work perfectly fine
2508c2ecf20Sopenharmony_ci	  with a larger page size).
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci	  4KB                For best 32bit compatibility
2538c2ecf20Sopenharmony_ci	  16KB               For best performance
2548c2ecf20Sopenharmony_ci	  64KB               For best performance, might give more overhead.
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci	  If you don't know what to do, choose 4KB.
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ciconfig PARISC_PAGE_SIZE_16KB
2598c2ecf20Sopenharmony_ci	bool "16KB"
2608c2ecf20Sopenharmony_ci	depends on PA8X00 && BROKEN
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ciconfig PARISC_PAGE_SIZE_64KB
2638c2ecf20Sopenharmony_ci	bool "64KB"
2648c2ecf20Sopenharmony_ci	depends on PA8X00 && BROKEN
2658c2ecf20Sopenharmony_ci
2668c2ecf20Sopenharmony_ciendchoice
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciconfig PARISC_SELF_EXTRACT
2698c2ecf20Sopenharmony_ci	bool "Build kernel as self-extracting executable"
2708c2ecf20Sopenharmony_ci	default y
2718c2ecf20Sopenharmony_ci	help
2728c2ecf20Sopenharmony_ci	  Say Y if you want to build the parisc kernel as a kind of
2738c2ecf20Sopenharmony_ci	  self-extracting executable.
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci	  If you say N here, the kernel will be compressed with gzip
2768c2ecf20Sopenharmony_ci	  which can be loaded by the palo bootloader directly too.
2778c2ecf20Sopenharmony_ci
2788c2ecf20Sopenharmony_ci	  If you don't know what to do here, say Y.
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ciconfig SMP
2818c2ecf20Sopenharmony_ci	bool "Symmetric multi-processing support"
2828c2ecf20Sopenharmony_ci	help
2838c2ecf20Sopenharmony_ci	  This enables support for systems with more than one CPU. If you have
2848c2ecf20Sopenharmony_ci	  a system with only one CPU, say N. If you have a system with more
2858c2ecf20Sopenharmony_ci	  than one CPU, say Y.
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ci	  If you say N here, the kernel will run on uni- and multiprocessor
2888c2ecf20Sopenharmony_ci	  machines, but will use only one CPU of a multiprocessor machine.
2898c2ecf20Sopenharmony_ci	  On a uniprocessor machine, the kernel will run faster if you say N.
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ci	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
2928c2ecf20Sopenharmony_ci	  available at <https://www.tldp.org/docs.html#howto>.
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ci	  If you don't know what to do here, say N.
2958c2ecf20Sopenharmony_ci
2968c2ecf20Sopenharmony_ciconfig PARISC_CPU_TOPOLOGY
2978c2ecf20Sopenharmony_ci	bool "Support cpu topology definition"
2988c2ecf20Sopenharmony_ci	depends on SMP
2998c2ecf20Sopenharmony_ci	default y
3008c2ecf20Sopenharmony_ci	help
3018c2ecf20Sopenharmony_ci	  Support PARISC cpu topology definition.
3028c2ecf20Sopenharmony_ci
3038c2ecf20Sopenharmony_ciconfig SCHED_MC
3048c2ecf20Sopenharmony_ci	bool "Multi-core scheduler support"
3058c2ecf20Sopenharmony_ci	depends on PARISC_CPU_TOPOLOGY && PA8X00
3068c2ecf20Sopenharmony_ci	help
3078c2ecf20Sopenharmony_ci	  Multi-core scheduler support improves the CPU scheduler's decision
3088c2ecf20Sopenharmony_ci	  making when dealing with multi-core CPU chips at a cost of slightly
3098c2ecf20Sopenharmony_ci	  increased overhead in some places. If unsure say N here.
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ciconfig IRQSTACKS
3128c2ecf20Sopenharmony_ci	bool "Use separate kernel stacks when processing interrupts"
3138c2ecf20Sopenharmony_ci	default y
3148c2ecf20Sopenharmony_ci	help
3158c2ecf20Sopenharmony_ci	  If you say Y here the kernel will use separate kernel stacks
3168c2ecf20Sopenharmony_ci	  for handling hard and soft interrupts.  This can help avoid
3178c2ecf20Sopenharmony_ci	  overflowing the process kernel stacks.
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig TLB_PTLOCK
3208c2ecf20Sopenharmony_ci	bool "Use page table locks in TLB fault handler"
3218c2ecf20Sopenharmony_ci	depends on SMP
3228c2ecf20Sopenharmony_ci	default n
3238c2ecf20Sopenharmony_ci	help
3248c2ecf20Sopenharmony_ci	  Select this option to enable page table locking in the TLB
3258c2ecf20Sopenharmony_ci	  fault handler. This ensures that page table entries are
3268c2ecf20Sopenharmony_ci	  updated consistently on SMP machines at the expense of some
3278c2ecf20Sopenharmony_ci	  loss in performance.
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ciconfig HOTPLUG_CPU
3308c2ecf20Sopenharmony_ci	bool
3318c2ecf20Sopenharmony_ci	default y if SMP
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ciconfig ARCH_SELECT_MEMORY_MODEL
3348c2ecf20Sopenharmony_ci	def_bool y
3358c2ecf20Sopenharmony_ci	depends on 64BIT
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_ENABLE
3388c2ecf20Sopenharmony_ci	def_bool y
3398c2ecf20Sopenharmony_ci	depends on 64BIT
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ciconfig ARCH_FLATMEM_ENABLE
3428c2ecf20Sopenharmony_ci	def_bool y
3438c2ecf20Sopenharmony_ci
3448c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_DEFAULT
3458c2ecf20Sopenharmony_ci	def_bool y
3468c2ecf20Sopenharmony_ci	depends on ARCH_SPARSEMEM_ENABLE
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz"
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ciconfig COMPAT
3518c2ecf20Sopenharmony_ci	def_bool y
3528c2ecf20Sopenharmony_ci	depends on 64BIT
3538c2ecf20Sopenharmony_ci	select COMPAT_BINFMT_ELF if BINFMT_ELF
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ciconfig SYSVIPC_COMPAT
3568c2ecf20Sopenharmony_ci	def_bool y
3578c2ecf20Sopenharmony_ci	depends on COMPAT && SYSVIPC
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ciconfig AUDIT_ARCH
3608c2ecf20Sopenharmony_ci	def_bool y
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ciconfig NR_CPUS
3638c2ecf20Sopenharmony_ci	int "Maximum number of CPUs (2-32)"
3648c2ecf20Sopenharmony_ci	range 2 32
3658c2ecf20Sopenharmony_ci	depends on SMP
3668c2ecf20Sopenharmony_ci	default "4"
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ciconfig KEXEC
3698c2ecf20Sopenharmony_ci	bool "Kexec system call"
3708c2ecf20Sopenharmony_ci	select KEXEC_CORE
3718c2ecf20Sopenharmony_ci	help
3728c2ecf20Sopenharmony_ci	  kexec is a system call that implements the ability to shutdown your
3738c2ecf20Sopenharmony_ci	  current kernel, and to start another kernel.  It is like a reboot
3748c2ecf20Sopenharmony_ci	  but it is independent of the system firmware.   And like a reboot
3758c2ecf20Sopenharmony_ci	  you can start any kernel with it, not just Linux.
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_ci	  It is an ongoing process to be certain the hardware in a machine
3788c2ecf20Sopenharmony_ci	  shutdown, so do not be surprised if this code does not
3798c2ecf20Sopenharmony_ci	  initially work for you.
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ciconfig KEXEC_FILE
3828c2ecf20Sopenharmony_ci	bool "kexec file based system call"
3838c2ecf20Sopenharmony_ci	select KEXEC_CORE
3848c2ecf20Sopenharmony_ci	select KEXEC_ELF
3858c2ecf20Sopenharmony_ci	help
3868c2ecf20Sopenharmony_ci	  This enables the kexec_file_load() System call. This is
3878c2ecf20Sopenharmony_ci	  file based and takes file descriptors as system call argument
3888c2ecf20Sopenharmony_ci	  for kernel and initramfs as opposed to list of segments as
3898c2ecf20Sopenharmony_ci	  accepted by previous system call.
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ciendmenu
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_cisource "drivers/firmware/Kconfig"
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_cisource "drivers/parisc/Kconfig"
396