xref: /OK3568_Linux_fs/kernel/arch/parisc/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyunconfig PARISC
3*4882a593Smuzhiyun	def_bool y
4*4882a593Smuzhiyun	select ARCH_32BIT_OFF_T if !64BIT
5*4882a593Smuzhiyun	select ARCH_MIGHT_HAVE_PC_PARPORT
6*4882a593Smuzhiyun	select HAVE_IDE
7*4882a593Smuzhiyun	select HAVE_OPROFILE
8*4882a593Smuzhiyun	select HAVE_FUNCTION_TRACER
9*4882a593Smuzhiyun	select HAVE_FUNCTION_GRAPH_TRACER
10*4882a593Smuzhiyun	select HAVE_SYSCALL_TRACEPOINTS
11*4882a593Smuzhiyun	select ARCH_WANT_FRAME_POINTERS
12*4882a593Smuzhiyun	select ARCH_HAS_ELF_RANDOMIZE
13*4882a593Smuzhiyun	select ARCH_HAS_STRICT_KERNEL_RWX
14*4882a593Smuzhiyun	select ARCH_HAS_STRICT_MODULE_RWX
15*4882a593Smuzhiyun	select ARCH_HAS_UBSAN_SANITIZE_ALL
16*4882a593Smuzhiyun	select ARCH_NO_SG_CHAIN
17*4882a593Smuzhiyun	select ARCH_SUPPORTS_MEMORY_FAILURE
18*4882a593Smuzhiyun	select DMA_OPS
19*4882a593Smuzhiyun	select RTC_CLASS
20*4882a593Smuzhiyun	select RTC_DRV_GENERIC
21*4882a593Smuzhiyun	select INIT_ALL_POSSIBLE
22*4882a593Smuzhiyun	select BUG
23*4882a593Smuzhiyun	select BUILDTIME_TABLE_SORT
24*4882a593Smuzhiyun	select HAVE_PCI
25*4882a593Smuzhiyun	select HAVE_PERF_EVENTS
26*4882a593Smuzhiyun	select HAVE_KERNEL_BZIP2
27*4882a593Smuzhiyun	select HAVE_KERNEL_GZIP
28*4882a593Smuzhiyun	select HAVE_KERNEL_LZ4
29*4882a593Smuzhiyun	select HAVE_KERNEL_LZMA
30*4882a593Smuzhiyun	select HAVE_KERNEL_LZO
31*4882a593Smuzhiyun	select HAVE_KERNEL_XZ
32*4882a593Smuzhiyun	select GENERIC_ATOMIC64 if !64BIT
33*4882a593Smuzhiyun	select GENERIC_IRQ_PROBE
34*4882a593Smuzhiyun	select GENERIC_PCI_IOMAP
35*4882a593Smuzhiyun	select ARCH_HAVE_NMI_SAFE_CMPXCHG
36*4882a593Smuzhiyun	select GENERIC_SMP_IDLE_THREAD
37*4882a593Smuzhiyun	select GENERIC_CPU_DEVICES
38*4882a593Smuzhiyun	select GENERIC_STRNCPY_FROM_USER
39*4882a593Smuzhiyun	select SYSCTL_ARCH_UNALIGN_ALLOW
40*4882a593Smuzhiyun	select SYSCTL_EXCEPTION_TRACE
41*4882a593Smuzhiyun	select HAVE_MOD_ARCH_SPECIFIC
42*4882a593Smuzhiyun	select VIRT_TO_BUS
43*4882a593Smuzhiyun	select MODULES_USE_ELF_RELA
44*4882a593Smuzhiyun	select CLONE_BACKWARDS
45*4882a593Smuzhiyun	select TTY # Needed for pdc_cons.c
46*4882a593Smuzhiyun	select HAVE_DEBUG_STACKOVERFLOW
47*4882a593Smuzhiyun	select HAVE_ARCH_AUDITSYSCALL
48*4882a593Smuzhiyun	select HAVE_ARCH_HASH
49*4882a593Smuzhiyun	select HAVE_ARCH_JUMP_LABEL
50*4882a593Smuzhiyun	select HAVE_ARCH_JUMP_LABEL_RELATIVE
51*4882a593Smuzhiyun	select HAVE_ARCH_SECCOMP_FILTER
52*4882a593Smuzhiyun	select HAVE_ARCH_TRACEHOOK
53*4882a593Smuzhiyun	select HAVE_REGS_AND_STACK_ACCESS_API
54*4882a593Smuzhiyun	select GENERIC_SCHED_CLOCK
55*4882a593Smuzhiyun	select HAVE_UNSTABLE_SCHED_CLOCK if SMP
56*4882a593Smuzhiyun	select GENERIC_CLOCKEVENTS
57*4882a593Smuzhiyun	select CPU_NO_EFFICIENT_FFS
58*4882a593Smuzhiyun	select NEED_DMA_MAP_STATE
59*4882a593Smuzhiyun	select NEED_SG_DMA_LENGTH
60*4882a593Smuzhiyun	select HAVE_ARCH_KGDB
61*4882a593Smuzhiyun	select HAVE_KPROBES
62*4882a593Smuzhiyun	select HAVE_KRETPROBES
63*4882a593Smuzhiyun	select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
64*4882a593Smuzhiyun	select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
65*4882a593Smuzhiyun	select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
66*4882a593Smuzhiyun	select HAVE_KPROBES_ON_FTRACE
67*4882a593Smuzhiyun	select HAVE_DYNAMIC_FTRACE_WITH_REGS
68*4882a593Smuzhiyun	select SET_FS
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	help
71*4882a593Smuzhiyun	  The PA-RISC microprocessor is designed by Hewlett-Packard and used
72*4882a593Smuzhiyun	  in many of their workstations & servers (HP9000 700 and 800 series,
73*4882a593Smuzhiyun	  and later HP3000 series).  The PA-RISC Linux project home page is
74*4882a593Smuzhiyun	  at <https://parisc.wiki.kernel.org>.
75*4882a593Smuzhiyun
76*4882a593Smuzhiyunconfig CPU_BIG_ENDIAN
77*4882a593Smuzhiyun	def_bool y
78*4882a593Smuzhiyun
79*4882a593Smuzhiyunconfig MMU
80*4882a593Smuzhiyun	def_bool y
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunconfig STACK_GROWSUP
83*4882a593Smuzhiyun	def_bool y
84*4882a593Smuzhiyun
85*4882a593Smuzhiyunconfig ARCH_DEFCONFIG
86*4882a593Smuzhiyun	string
87*4882a593Smuzhiyun	default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT
88*4882a593Smuzhiyun	default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig GENERIC_LOCKBREAK
91*4882a593Smuzhiyun	bool
92*4882a593Smuzhiyun	default y
93*4882a593Smuzhiyun	depends on SMP && PREEMPTION
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig ARCH_HAS_ILOG2_U32
96*4882a593Smuzhiyun	bool
97*4882a593Smuzhiyun	default n
98*4882a593Smuzhiyun
99*4882a593Smuzhiyunconfig ARCH_HAS_ILOG2_U64
100*4882a593Smuzhiyun	bool
101*4882a593Smuzhiyun	default n
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunconfig GENERIC_BUG
104*4882a593Smuzhiyun	bool
105*4882a593Smuzhiyun	default y
106*4882a593Smuzhiyun	depends on BUG
107*4882a593Smuzhiyun
108*4882a593Smuzhiyunconfig GENERIC_HWEIGHT
109*4882a593Smuzhiyun	bool
110*4882a593Smuzhiyun	default y
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig GENERIC_CALIBRATE_DELAY
113*4882a593Smuzhiyun	bool
114*4882a593Smuzhiyun	default y
115*4882a593Smuzhiyun
116*4882a593Smuzhiyunconfig TIME_LOW_RES
117*4882a593Smuzhiyun	bool
118*4882a593Smuzhiyun	depends on SMP
119*4882a593Smuzhiyun	default y
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun# unless you want to implement ACPI on PA-RISC ... ;-)
122*4882a593Smuzhiyunconfig PM
123*4882a593Smuzhiyun	bool
124*4882a593Smuzhiyun
125*4882a593Smuzhiyunconfig STACKTRACE_SUPPORT
126*4882a593Smuzhiyun	def_bool y
127*4882a593Smuzhiyun
128*4882a593Smuzhiyunconfig ISA_DMA_API
129*4882a593Smuzhiyun	bool
130*4882a593Smuzhiyun
131*4882a593Smuzhiyunconfig ARCH_MAY_HAVE_PC_FDC
132*4882a593Smuzhiyun	bool
133*4882a593Smuzhiyun	depends on BROKEN
134*4882a593Smuzhiyun	default y
135*4882a593Smuzhiyun
136*4882a593Smuzhiyunconfig PGTABLE_LEVELS
137*4882a593Smuzhiyun	int
138*4882a593Smuzhiyun	default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
139*4882a593Smuzhiyun	default 2
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunconfig SYS_SUPPORTS_HUGETLBFS
142*4882a593Smuzhiyun	def_bool y if PA20
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun
145*4882a593Smuzhiyunmenu "Processor type and features"
146*4882a593Smuzhiyun
147*4882a593Smuzhiyunchoice
148*4882a593Smuzhiyun	prompt "Processor type"
149*4882a593Smuzhiyun	default PA7000
150*4882a593Smuzhiyun
151*4882a593Smuzhiyunconfig PA7000
152*4882a593Smuzhiyun	bool "PA7000/PA7100"
153*4882a593Smuzhiyun	help
154*4882a593Smuzhiyun	  This is the processor type of your CPU.  This information is
155*4882a593Smuzhiyun	  used for optimizing purposes.  In order to compile a kernel
156*4882a593Smuzhiyun	  that can run on all 32-bit PA CPUs (albeit not optimally fast),
157*4882a593Smuzhiyun	  you can specify "PA7000" here.
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	  Specifying "PA8000" here will allow you to select a 64-bit kernel
160*4882a593Smuzhiyun	  which is required on some machines.
161*4882a593Smuzhiyun
162*4882a593Smuzhiyunconfig PA7100LC
163*4882a593Smuzhiyun	bool "PA7100LC"
164*4882a593Smuzhiyun	help
165*4882a593Smuzhiyun	  Select this option for the PCX-L processor, as used in the
166*4882a593Smuzhiyun	  712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
167*4882a593Smuzhiyun	  D200, D210, D300, D310 and E-class
168*4882a593Smuzhiyun
169*4882a593Smuzhiyunconfig PA7200
170*4882a593Smuzhiyun	bool "PA7200"
171*4882a593Smuzhiyun	help
172*4882a593Smuzhiyun	  Select this option for the PCX-T' processor, as used in the
173*4882a593Smuzhiyun	  C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
174*4882a593Smuzhiyun	  K100, K200, K210, K220, K400, K410 and K420
175*4882a593Smuzhiyun
176*4882a593Smuzhiyunconfig PA7300LC
177*4882a593Smuzhiyun	bool "PA7300LC"
178*4882a593Smuzhiyun	help
179*4882a593Smuzhiyun	  Select this option for the PCX-L2 processor, as used in the
180*4882a593Smuzhiyun	  744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
181*4882a593Smuzhiyun	  D220, D230, D320 and D330.
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunconfig PA8X00
184*4882a593Smuzhiyun	bool "PA8000 and up"
185*4882a593Smuzhiyun	help
186*4882a593Smuzhiyun	  Select this option for PCX-U to PCX-W2 processors.
187*4882a593Smuzhiyun
188*4882a593Smuzhiyunendchoice
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun# Define implied options from the CPU selection here
191*4882a593Smuzhiyun
192*4882a593Smuzhiyunconfig PA20
193*4882a593Smuzhiyun	def_bool y
194*4882a593Smuzhiyun	depends on PA8X00
195*4882a593Smuzhiyun
196*4882a593Smuzhiyunconfig PA11
197*4882a593Smuzhiyun	def_bool y
198*4882a593Smuzhiyun	depends on PA7000 || PA7100LC || PA7200 || PA7300LC
199*4882a593Smuzhiyun	select ARCH_HAS_SYNC_DMA_FOR_CPU
200*4882a593Smuzhiyun	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunconfig PREFETCH
203*4882a593Smuzhiyun	def_bool y
204*4882a593Smuzhiyun	depends on PA8X00 || PA7200
205*4882a593Smuzhiyun
206*4882a593Smuzhiyunconfig PARISC_HUGE_KERNEL
207*4882a593Smuzhiyun	def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig MLONGCALLS
210*4882a593Smuzhiyun	def_bool y if PARISC_HUGE_KERNEL
211*4882a593Smuzhiyun	bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
212*4882a593Smuzhiyun	depends on PA8X00
213*4882a593Smuzhiyun	help
214*4882a593Smuzhiyun	  If you configure the kernel to include many drivers built-in instead
215*4882a593Smuzhiyun	  as modules, the kernel executable may become too big, so that the
216*4882a593Smuzhiyun	  linker will not be able to resolve some long branches and fails to link
217*4882a593Smuzhiyun	  your vmlinux kernel. In that case enabling this option will help you
218*4882a593Smuzhiyun	  to overcome this limit by using the -mlong-calls compiler option.
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun	  Usually you want to say N here, unless you e.g. want to build
221*4882a593Smuzhiyun	  a kernel which includes all necessary drivers built-in and which can
222*4882a593Smuzhiyun	  be used for TFTP booting without the need to have an initrd ramdisk.
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun	  Enabling this option will probably slow down your kernel.
225*4882a593Smuzhiyun
226*4882a593Smuzhiyunconfig 64BIT
227*4882a593Smuzhiyun	bool "64-bit kernel"
228*4882a593Smuzhiyun	depends on PA8X00
229*4882a593Smuzhiyun	help
230*4882a593Smuzhiyun	  Enable this if you want to support 64bit kernel on PA-RISC platform.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun	  At the moment, only people willing to use more than 2GB of RAM,
233*4882a593Smuzhiyun	  or having a 64bit-only capable PA-RISC machine should say Y here.
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun	  Since there is no 64bit userland on PA-RISC, there is no point to
236*4882a593Smuzhiyun	  enable this option otherwise. The 64bit kernel is significantly bigger
237*4882a593Smuzhiyun	  and slower than the 32bit one.
238*4882a593Smuzhiyun
239*4882a593Smuzhiyunchoice
240*4882a593Smuzhiyun	prompt "Kernel page size"
241*4882a593Smuzhiyun	default PARISC_PAGE_SIZE_4KB
242*4882a593Smuzhiyun
243*4882a593Smuzhiyunconfig PARISC_PAGE_SIZE_4KB
244*4882a593Smuzhiyun	bool "4KB"
245*4882a593Smuzhiyun	help
246*4882a593Smuzhiyun	  This lets you select the page size of the kernel.  For best
247*4882a593Smuzhiyun	  performance, a page size of 16KB is recommended.  For best
248*4882a593Smuzhiyun	  compatibility with 32bit applications, a page size of 4KB should be
249*4882a593Smuzhiyun	  selected (the vast majority of 32bit binaries work perfectly fine
250*4882a593Smuzhiyun	  with a larger page size).
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun	  4KB                For best 32bit compatibility
253*4882a593Smuzhiyun	  16KB               For best performance
254*4882a593Smuzhiyun	  64KB               For best performance, might give more overhead.
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun	  If you don't know what to do, choose 4KB.
257*4882a593Smuzhiyun
258*4882a593Smuzhiyunconfig PARISC_PAGE_SIZE_16KB
259*4882a593Smuzhiyun	bool "16KB"
260*4882a593Smuzhiyun	depends on PA8X00 && BROKEN
261*4882a593Smuzhiyun
262*4882a593Smuzhiyunconfig PARISC_PAGE_SIZE_64KB
263*4882a593Smuzhiyun	bool "64KB"
264*4882a593Smuzhiyun	depends on PA8X00 && BROKEN
265*4882a593Smuzhiyun
266*4882a593Smuzhiyunendchoice
267*4882a593Smuzhiyun
268*4882a593Smuzhiyunconfig PARISC_SELF_EXTRACT
269*4882a593Smuzhiyun	bool "Build kernel as self-extracting executable"
270*4882a593Smuzhiyun	default y
271*4882a593Smuzhiyun	help
272*4882a593Smuzhiyun	  Say Y if you want to build the parisc kernel as a kind of
273*4882a593Smuzhiyun	  self-extracting executable.
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun	  If you say N here, the kernel will be compressed with gzip
276*4882a593Smuzhiyun	  which can be loaded by the palo bootloader directly too.
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun	  If you don't know what to do here, say Y.
279*4882a593Smuzhiyun
280*4882a593Smuzhiyunconfig SMP
281*4882a593Smuzhiyun	bool "Symmetric multi-processing support"
282*4882a593Smuzhiyun	help
283*4882a593Smuzhiyun	  This enables support for systems with more than one CPU. If you have
284*4882a593Smuzhiyun	  a system with only one CPU, say N. If you have a system with more
285*4882a593Smuzhiyun	  than one CPU, say Y.
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun	  If you say N here, the kernel will run on uni- and multiprocessor
288*4882a593Smuzhiyun	  machines, but will use only one CPU of a multiprocessor machine.
289*4882a593Smuzhiyun	  On a uniprocessor machine, the kernel will run faster if you say N.
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
292*4882a593Smuzhiyun	  available at <https://www.tldp.org/docs.html#howto>.
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun	  If you don't know what to do here, say N.
295*4882a593Smuzhiyun
296*4882a593Smuzhiyunconfig PARISC_CPU_TOPOLOGY
297*4882a593Smuzhiyun	bool "Support cpu topology definition"
298*4882a593Smuzhiyun	depends on SMP
299*4882a593Smuzhiyun	default y
300*4882a593Smuzhiyun	help
301*4882a593Smuzhiyun	  Support PARISC cpu topology definition.
302*4882a593Smuzhiyun
303*4882a593Smuzhiyunconfig SCHED_MC
304*4882a593Smuzhiyun	bool "Multi-core scheduler support"
305*4882a593Smuzhiyun	depends on PARISC_CPU_TOPOLOGY && PA8X00
306*4882a593Smuzhiyun	help
307*4882a593Smuzhiyun	  Multi-core scheduler support improves the CPU scheduler's decision
308*4882a593Smuzhiyun	  making when dealing with multi-core CPU chips at a cost of slightly
309*4882a593Smuzhiyun	  increased overhead in some places. If unsure say N here.
310*4882a593Smuzhiyun
311*4882a593Smuzhiyunconfig IRQSTACKS
312*4882a593Smuzhiyun	bool "Use separate kernel stacks when processing interrupts"
313*4882a593Smuzhiyun	default y
314*4882a593Smuzhiyun	help
315*4882a593Smuzhiyun	  If you say Y here the kernel will use separate kernel stacks
316*4882a593Smuzhiyun	  for handling hard and soft interrupts.  This can help avoid
317*4882a593Smuzhiyun	  overflowing the process kernel stacks.
318*4882a593Smuzhiyun
319*4882a593Smuzhiyunconfig TLB_PTLOCK
320*4882a593Smuzhiyun	bool "Use page table locks in TLB fault handler"
321*4882a593Smuzhiyun	depends on SMP
322*4882a593Smuzhiyun	default n
323*4882a593Smuzhiyun	help
324*4882a593Smuzhiyun	  Select this option to enable page table locking in the TLB
325*4882a593Smuzhiyun	  fault handler. This ensures that page table entries are
326*4882a593Smuzhiyun	  updated consistently on SMP machines at the expense of some
327*4882a593Smuzhiyun	  loss in performance.
328*4882a593Smuzhiyun
329*4882a593Smuzhiyunconfig HOTPLUG_CPU
330*4882a593Smuzhiyun	bool
331*4882a593Smuzhiyun	default y if SMP
332*4882a593Smuzhiyun
333*4882a593Smuzhiyunconfig ARCH_SELECT_MEMORY_MODEL
334*4882a593Smuzhiyun	def_bool y
335*4882a593Smuzhiyun	depends on 64BIT
336*4882a593Smuzhiyun
337*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_ENABLE
338*4882a593Smuzhiyun	def_bool y
339*4882a593Smuzhiyun	depends on 64BIT
340*4882a593Smuzhiyun
341*4882a593Smuzhiyunconfig ARCH_FLATMEM_ENABLE
342*4882a593Smuzhiyun	def_bool y
343*4882a593Smuzhiyun
344*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_DEFAULT
345*4882a593Smuzhiyun	def_bool y
346*4882a593Smuzhiyun	depends on ARCH_SPARSEMEM_ENABLE
347*4882a593Smuzhiyun
348*4882a593Smuzhiyunsource "kernel/Kconfig.hz"
349*4882a593Smuzhiyun
350*4882a593Smuzhiyunconfig COMPAT
351*4882a593Smuzhiyun	def_bool y
352*4882a593Smuzhiyun	depends on 64BIT
353*4882a593Smuzhiyun	select COMPAT_BINFMT_ELF if BINFMT_ELF
354*4882a593Smuzhiyun
355*4882a593Smuzhiyunconfig SYSVIPC_COMPAT
356*4882a593Smuzhiyun	def_bool y
357*4882a593Smuzhiyun	depends on COMPAT && SYSVIPC
358*4882a593Smuzhiyun
359*4882a593Smuzhiyunconfig AUDIT_ARCH
360*4882a593Smuzhiyun	def_bool y
361*4882a593Smuzhiyun
362*4882a593Smuzhiyunconfig NR_CPUS
363*4882a593Smuzhiyun	int "Maximum number of CPUs (2-32)"
364*4882a593Smuzhiyun	range 2 32
365*4882a593Smuzhiyun	depends on SMP
366*4882a593Smuzhiyun	default "4"
367*4882a593Smuzhiyun
368*4882a593Smuzhiyunconfig KEXEC
369*4882a593Smuzhiyun	bool "Kexec system call"
370*4882a593Smuzhiyun	select KEXEC_CORE
371*4882a593Smuzhiyun	help
372*4882a593Smuzhiyun	  kexec is a system call that implements the ability to shutdown your
373*4882a593Smuzhiyun	  current kernel, and to start another kernel.  It is like a reboot
374*4882a593Smuzhiyun	  but it is independent of the system firmware.   And like a reboot
375*4882a593Smuzhiyun	  you can start any kernel with it, not just Linux.
376*4882a593Smuzhiyun
377*4882a593Smuzhiyun	  It is an ongoing process to be certain the hardware in a machine
378*4882a593Smuzhiyun	  shutdown, so do not be surprised if this code does not
379*4882a593Smuzhiyun	  initially work for you.
380*4882a593Smuzhiyun
381*4882a593Smuzhiyunconfig KEXEC_FILE
382*4882a593Smuzhiyun	bool "kexec file based system call"
383*4882a593Smuzhiyun	select KEXEC_CORE
384*4882a593Smuzhiyun	select KEXEC_ELF
385*4882a593Smuzhiyun	help
386*4882a593Smuzhiyun	  This enables the kexec_file_load() System call. This is
387*4882a593Smuzhiyun	  file based and takes file descriptors as system call argument
388*4882a593Smuzhiyun	  for kernel and initramfs as opposed to list of segments as
389*4882a593Smuzhiyun	  accepted by previous system call.
390*4882a593Smuzhiyun
391*4882a593Smuzhiyunendmenu
392*4882a593Smuzhiyun
393*4882a593Smuzhiyunsource "drivers/firmware/Kconfig"
394*4882a593Smuzhiyun
395*4882a593Smuzhiyunsource "drivers/parisc/Kconfig"
396