forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/parisc/Kconfig
....@@ -1,6 +1,7 @@
11 # SPDX-License-Identifier: GPL-2.0
22 config PARISC
33 def_bool y
4
+ select ARCH_32BIT_OFF_T if !64BIT
45 select ARCH_MIGHT_HAVE_PC_PARPORT
56 select HAVE_IDE
67 select HAVE_OPROFILE
....@@ -10,15 +11,17 @@
1011 select ARCH_WANT_FRAME_POINTERS
1112 select ARCH_HAS_ELF_RANDOMIZE
1213 select ARCH_HAS_STRICT_KERNEL_RWX
14
+ select ARCH_HAS_STRICT_MODULE_RWX
1315 select ARCH_HAS_UBSAN_SANITIZE_ALL
16
+ select ARCH_NO_SG_CHAIN
1417 select ARCH_SUPPORTS_MEMORY_FAILURE
18
+ select DMA_OPS
1519 select RTC_CLASS
1620 select RTC_DRV_GENERIC
1721 select INIT_ALL_POSSIBLE
18
- select HAVE_MEMBLOCK
19
- select NO_BOOTMEM
2022 select BUG
21
- select BUILDTIME_EXTABLE_SORT
23
+ select BUILDTIME_TABLE_SORT
24
+ select HAVE_PCI
2225 select HAVE_PERF_EVENTS
2326 select HAVE_KERNEL_BZIP2
2427 select HAVE_KERNEL_GZIP
....@@ -35,7 +38,6 @@
3538 select GENERIC_STRNCPY_FROM_USER
3639 select SYSCTL_ARCH_UNALIGN_ALLOW
3740 select SYSCTL_EXCEPTION_TRACE
38
- select ARCH_DISCARD_MEMBLOCK
3941 select HAVE_MOD_ARCH_SPECIFIC
4042 select VIRT_TO_BUS
4143 select MODULES_USE_ELF_RELA
....@@ -44,22 +46,32 @@
4446 select HAVE_DEBUG_STACKOVERFLOW
4547 select HAVE_ARCH_AUDITSYSCALL
4648 select HAVE_ARCH_HASH
49
+ select HAVE_ARCH_JUMP_LABEL
50
+ select HAVE_ARCH_JUMP_LABEL_RELATIVE
4751 select HAVE_ARCH_SECCOMP_FILTER
4852 select HAVE_ARCH_TRACEHOOK
4953 select HAVE_REGS_AND_STACK_ACCESS_API
5054 select GENERIC_SCHED_CLOCK
5155 select HAVE_UNSTABLE_SCHED_CLOCK if SMP
5256 select GENERIC_CLOCKEVENTS
53
- select ARCH_NO_COHERENT_DMA_MMAP
5457 select CPU_NO_EFFICIENT_FFS
5558 select NEED_DMA_MAP_STATE
5659 select NEED_SG_DMA_LENGTH
60
+ select HAVE_ARCH_KGDB
61
+ select HAVE_KPROBES
62
+ select HAVE_KRETPROBES
63
+ select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
64
+ select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
65
+ select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
66
+ select HAVE_KPROBES_ON_FTRACE
67
+ select HAVE_DYNAMIC_FTRACE_WITH_REGS
68
+ select SET_FS
5769
5870 help
5971 The PA-RISC microprocessor is designed by Hewlett-Packard and used
6072 in many of their workstations & servers (HP9000 700 and 800 series,
6173 and later HP3000 series). The PA-RISC Linux project home page is
62
- at <http://www.parisc-linux.org/>.
74
+ at <https://parisc.wiki.kernel.org>.
6375
6476 config CPU_BIG_ENDIAN
6577 def_bool y
....@@ -70,16 +82,15 @@
7082 config STACK_GROWSUP
7183 def_bool y
7284
85
+config ARCH_DEFCONFIG
86
+ string
87
+ default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT
88
+ default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT
89
+
7390 config GENERIC_LOCKBREAK
7491 bool
7592 default y
76
- depends on SMP && PREEMPT
77
-
78
-config RWSEM_GENERIC_SPINLOCK
79
- def_bool y
80
-
81
-config RWSEM_XCHGADD_ALGORITHM
82
- bool
93
+ depends on SMP && PREEMPTION
8394
8495 config ARCH_HAS_ILOG2_U32
8596 bool
....@@ -139,7 +150,7 @@
139150
140151 config PA7000
141152 bool "PA7000/PA7100"
142
- ---help---
153
+ help
143154 This is the processor type of your CPU. This information is
144155 used for optimizing purposes. In order to compile a kernel
145156 that can run on all 32-bit PA CPUs (albeit not optimally fast),
....@@ -187,16 +198,17 @@
187198 depends on PA7000 || PA7100LC || PA7200 || PA7300LC
188199 select ARCH_HAS_SYNC_DMA_FOR_CPU
189200 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
190
- select DMA_NONCOHERENT_OPS
191
- select DMA_NONCOHERENT_CACHE_SYNC
192201
193202 config PREFETCH
194203 def_bool y
195204 depends on PA8X00 || PA7200
196205
206
+config PARISC_HUGE_KERNEL
207
+ def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
208
+
197209 config MLONGCALLS
198
- bool "Enable the -mlong-calls compiler option for big kernels"
199
- default y
210
+ def_bool y if PARISC_HUGE_KERNEL
211
+ bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
200212 depends on PA8X00
201213 help
202214 If you configure the kernel to include many drivers built-in instead
....@@ -267,7 +279,7 @@
267279
268280 config SMP
269281 bool "Symmetric multi-processing support"
270
- ---help---
282
+ help
271283 This enables support for systems with more than one CPU. If you have
272284 a system with only one CPU, say N. If you have a system with more
273285 than one CPU, say Y.
....@@ -276,8 +288,8 @@
276288 machines, but will use only one CPU of a multiprocessor machine.
277289 On a uniprocessor machine, the kernel will run faster if you say N.
278290
279
- See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
280
- available at <http://www.tldp.org/docs.html#howto>.
291
+ See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
292
+ available at <https://www.tldp.org/docs.html#howto>.
281293
282294 If you don't know what to do here, say N.
283295
....@@ -303,6 +315,16 @@
303315 If you say Y here the kernel will use separate kernel stacks
304316 for handling hard and soft interrupts. This can help avoid
305317 overflowing the process kernel stacks.
318
+
319
+config TLB_PTLOCK
320
+ bool "Use page table locks in TLB fault handler"
321
+ depends on SMP
322
+ default n
323
+ help
324
+ Select this option to enable page table locking in the TLB
325
+ fault handler. This ensures that page table entries are
326
+ updated consistently on SMP machines at the expense of some
327
+ loss in performance.
306328
307329 config HOTPLUG_CPU
308330 bool
....@@ -343,23 +365,31 @@
343365 depends on SMP
344366 default "4"
345367
368
+config KEXEC
369
+ bool "Kexec system call"
370
+ select KEXEC_CORE
371
+ help
372
+ kexec is a system call that implements the ability to shutdown your
373
+ current kernel, and to start another kernel. It is like a reboot
374
+ but it is independent of the system firmware. And like a reboot
375
+ you can start any kernel with it, not just Linux.
376
+
377
+ It is an ongoing process to be certain the hardware in a machine
378
+ shutdown, so do not be surprised if this code does not
379
+ initially work for you.
380
+
381
+config KEXEC_FILE
382
+ bool "kexec file based system call"
383
+ select KEXEC_CORE
384
+ select KEXEC_ELF
385
+ help
386
+ This enables the kexec_file_load() System call. This is
387
+ file based and takes file descriptors as system call argument
388
+ for kernel and initramfs as opposed to list of segments as
389
+ accepted by previous system call.
390
+
346391 endmenu
347392
393
+source "drivers/firmware/Kconfig"
348394
349395 source "drivers/parisc/Kconfig"
350
-
351
-config SECCOMP
352
- def_bool y
353
- prompt "Enable seccomp to safely compute untrusted bytecode"
354
- ---help---
355
- This kernel feature is useful for number crunching applications
356
- that may need to compute untrusted bytecode during their
357
- execution. By using pipes or other transports made available to
358
- the process as file descriptors supporting the read/write
359
- syscalls, it's possible to isolate those applications in
360
- their own address space using seccomp. Once seccomp is
361
- enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
362
- and the task is only allowed to execute a few safe syscalls
363
- defined by each seccomp mode.
364
-
365
- If unsure, say Y. Only embedded should say N here.