mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 10:43:43 +00:00
1f1c153e40
- Enforce kernel RO, and implement STRICT_MODULE_RWX for 603. - Add support for livepatch to 32-bit. - Implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS. - Merge vdso64 and vdso32 into a single directory. - Fix build errors with newer binutils. - Add support for UADDR64 relocations, which are emitted by some toolchains. This allows powerpc to build with the latest lld. - Fix (another) potential userspace r13 corruption in transactional memory handling. - Cleanups of function descriptor handling & related fixes to LKDTM. Thanks to: Abdul Haleem, Alexey Kardashevskiy, Anders Roxell, Aneesh Kumar K.V, Anton Blanchard, Arnd Bergmann, Athira Rajeev, Bhaskar Chowdhury, Cédric Le Goater, Chen Jingwen, Christophe JAILLET, Christophe Leroy, Corentin Labbe, Daniel Axtens, Daniel Henrique Barboza, David Dai, Fabiano Rosas, Ganesh Goudar, Guo Zhengkui, Hangyu Hua, Haren Myneni, Hari Bathini, Igor Zhbanov, Jakob Koschel, Jason Wang, Jeremy Kerr, Joachim Wiberg, Jordan Niethe, Julia Lawall, Kajol Jain, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mamatha Inamdar, Maxime Bizon, Maxim Kiselev, Maxim Kochetkov, Michal Suchanek, Nageswara R Sastry, Nathan Lynch, Naveen N. Rao, Nicholas Piggin, Nour-eddine Taleb, Paul Menzel, Ping Fang, Pratik R. Sampat, Randy Dunlap, Ritesh Harjani, Rohan McLure, Russell Currey, Sachin Sant, Segher Boessenkool, Shivaprasad G Bhat, Sourabh Jain, Thierry Reding, Tobias Waldekranz, Tyrel Datwyler, Vaibhav Jain, Vladimir Oltean, Wedson Almeida Filho, YueHaibing. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAmI9TtQTHG1wZUBlbGxl cm1hbi5pZC5hdQAKCRBR6+o8yOGlgLp2D/0dwoliEJubRCfoawYUGhxTRZuo6ZYw EQzprOiFA/MtrZyPfbrX/FwxeeetzQWysaw2r5JAuQwx5Jb7Od9dNIrVmueFEktC hD4fkO8YT+QuOD3Xhp/rDQTImdw4fkeofIjnWIqEAtz0XGInmiRQKOnojVe/Po7f 72Yi1u80LxYBAnkN/Hhpmi/BsVmu0Nh3wELu+JZopQXjINj4RyD49ayCBSLbmiNc uo7oYzJ0/WsZHNTpX9kAzzCq+XmI3dKZPyf2AOCvoRxJTmUPCRZF9QCwsmQFikiI vZOdz4fI5e+C0aYJj8ODmWMrXiS+JUQdEShjGg9t9K6EN8idC8joKWpAuXjTA9KN kRjzXX7AvjxaMEGbLe8gjU0PmEjY3eSzMOy15Oc/C0DRRswXRzrXdx2AF+/J6bQb MWMM4aCKfcYs5/TENkEnV0xpbOCOy4ikHM1KZbxvVrShvjSlNIL9XTOnl/pNK5BJ XSSI2mfnjKkbI1+l0KQ4NBXIRTo6HLpu5jwY3Xh97Tq7kaEfqDbO5p2P2HoOCiLa ZjdzmpP99zM6wnqUSj+lyvjob7btyhoq6TKmPtxfKbR6OaSfRJ760BCJ5y15Y9Hc rHey4Y/NL7LqsVYFZxi4/T6Ncq1hNeYr2Fiis4gH+/1zjr6Cd4othnvw3Slaxhst AaHpN3pyx1QI6g== =8r2c -----END PGP SIGNATURE----- Merge tag 'powerpc-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc updates from Michael Ellerman: "Livepatch support for 32-bit is probably the standout new feature, otherwise mostly just lots of bits and pieces all over the board. There's a series of commits cleaning up function descriptor handling, which touches a few other arches as well as LKDTM. It has acks from Arnd, Kees and Helge. Summary: - Enforce kernel RO, and implement STRICT_MODULE_RWX for 603. - Add support for livepatch to 32-bit. - Implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS. - Merge vdso64 and vdso32 into a single directory. - Fix build errors with newer binutils. - Add support for UADDR64 relocations, which are emitted by some toolchains. This allows powerpc to build with the latest lld. - Fix (another) potential userspace r13 corruption in transactional memory handling. - Cleanups of function descriptor handling & related fixes to LKDTM. Thanks to Abdul Haleem, Alexey Kardashevskiy, Anders Roxell, Aneesh Kumar K.V, Anton Blanchard, Arnd Bergmann, Athira Rajeev, Bhaskar Chowdhury, Cédric Le Goater, Chen Jingwen, Christophe JAILLET, Christophe Leroy, Corentin Labbe, Daniel Axtens, Daniel Henrique Barboza, David Dai, Fabiano Rosas, Ganesh Goudar, Guo Zhengkui, Hangyu Hua, Haren Myneni, Hari Bathini, Igor Zhbanov, Jakob Koschel, Jason Wang, Jeremy Kerr, Joachim Wiberg, Jordan Niethe, Julia Lawall, Kajol Jain, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mamatha Inamdar, Maxime Bizon, Maxim Kiselev, Maxim Kochetkov, Michal Suchanek, Nageswara R Sastry, Nathan Lynch, Naveen N. Rao, Nicholas Piggin, Nour-eddine Taleb, Paul Menzel, Ping Fang, Pratik R. Sampat, Randy Dunlap, Ritesh Harjani, Rohan McLure, Russell Currey, Sachin Sant, Segher Boessenkool, Shivaprasad G Bhat, Sourabh Jain, Thierry Reding, Tobias Waldekranz, Tyrel Datwyler, Vaibhav Jain, Vladimir Oltean, Wedson Almeida Filho, and YueHaibing" * tag 'powerpc-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (179 commits) powerpc/pseries: Fix use after free in remove_phb_dynamic() powerpc/time: improve decrementer clockevent processing powerpc/time: Fix KVM host re-arming a timer beyond decrementer range powerpc/tm: Fix more userspace r13 corruption powerpc/xive: fix return value of __setup handler powerpc/64: Add UADDR64 relocation support powerpc: 8xx: fix a return value error in mpc8xx_pic_init powerpc/ps3: remove unneeded semicolons powerpc/64: Force inlining of prevent_user_access() and set_kuap() powerpc/bitops: Force inlining of fls() powerpc: declare unmodified attribute_group usages const powerpc/spufs: Fix build warning when CONFIG_PROC_FS=n powerpc/secvar: fix refcount leak in format_show() powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E powerpc: Move C prototypes out of asm-prototypes.h powerpc/kexec: Declare kexec_paca static powerpc/smp: Declare current_set static powerpc: Cleanup asm-prototypes.c powerpc/ftrace: Use STK_GOT in ftrace_mprofile.S powerpc/ftrace: Regroup PPC64 specific operations in ftrace_mprofile.S ...
380 lines
9.7 KiB
Plaintext
380 lines
9.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
config PARISC
|
|
def_bool y
|
|
select ALTERNATE_USER_ADDRESS_SPACE
|
|
select ARCH_32BIT_OFF_T if !64BIT
|
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select ARCH_WANT_FRAME_POINTERS
|
|
select ARCH_HAS_ELF_RANDOMIZE
|
|
select ARCH_HAS_STRICT_KERNEL_RWX
|
|
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
|
select ARCH_HAS_PTE_SPECIAL
|
|
select ARCH_NO_SG_CHAIN
|
|
select ARCH_SUPPORTS_HUGETLBFS if PA20
|
|
select ARCH_SUPPORTS_MEMORY_FAILURE
|
|
select ARCH_STACKWALK
|
|
select ARCH_HAS_DEBUG_VM_PGTABLE
|
|
select HAVE_RELIABLE_STACKTRACE
|
|
select DMA_OPS
|
|
select RTC_CLASS
|
|
select RTC_DRV_GENERIC
|
|
select INIT_ALL_POSSIBLE
|
|
select BUG
|
|
select BUILDTIME_TABLE_SORT
|
|
select HAVE_PCI
|
|
select HAVE_PERF_EVENTS
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_LZ4
|
|
select HAVE_KERNEL_LZMA
|
|
select HAVE_KERNEL_LZO
|
|
select HAVE_KERNEL_XZ
|
|
select GENERIC_ATOMIC64 if !64BIT
|
|
select GENERIC_IRQ_PROBE
|
|
select GENERIC_PCI_IOMAP
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select GENERIC_CPU_DEVICES
|
|
select GENERIC_LIB_DEVMEM_IS_ALLOWED
|
|
select SYSCTL_ARCH_UNALIGN_ALLOW
|
|
select SYSCTL_EXCEPTION_TRACE
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
|
select VIRT_TO_BUS
|
|
select MODULES_USE_ELF_RELA
|
|
select CLONE_BACKWARDS
|
|
select TTY # Needed for pdc_cons.c
|
|
select HAVE_DEBUG_STACKOVERFLOW
|
|
select HAVE_ARCH_AUDITSYSCALL
|
|
select HAVE_ARCH_HASH
|
|
select HAVE_ARCH_JUMP_LABEL
|
|
select HAVE_ARCH_JUMP_LABEL_RELATIVE
|
|
select HAVE_ARCH_KFENCE
|
|
select HAVE_ARCH_SECCOMP_FILTER
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
|
select GENERIC_SCHED_CLOCK
|
|
select HAVE_UNSTABLE_SCHED_CLOCK if SMP
|
|
select LEGACY_TIMER_TICK
|
|
select CPU_NO_EFFICIENT_FFS
|
|
select THREAD_INFO_IN_TASK
|
|
select NEED_DMA_MAP_STATE
|
|
select NEED_SG_DMA_LENGTH
|
|
select HAVE_ARCH_KGDB
|
|
select HAVE_KPROBES
|
|
select HAVE_KRETPROBES
|
|
select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
|
|
select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
|
|
select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
|
|
select HAVE_KPROBES_ON_FTRACE
|
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS
|
|
select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
|
|
select TRACE_IRQFLAGS_SUPPORT
|
|
select HAVE_FUNCTION_DESCRIPTORS if 64BIT
|
|
|
|
help
|
|
The PA-RISC microprocessor is designed by Hewlett-Packard and used
|
|
in many of their workstations & servers (HP9000 700 and 800 series,
|
|
and later HP3000 series). The PA-RISC Linux project home page is
|
|
at <https://parisc.wiki.kernel.org>.
|
|
|
|
config CPU_BIG_ENDIAN
|
|
def_bool y
|
|
|
|
config MMU
|
|
def_bool y
|
|
|
|
config STACK_GROWSUP
|
|
def_bool y
|
|
|
|
config GENERIC_LOCKBREAK
|
|
bool
|
|
default y
|
|
depends on SMP && PREEMPTION
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
config GENERIC_BUG
|
|
bool
|
|
default y
|
|
depends on BUG
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config TIME_LOW_RES
|
|
bool
|
|
depends on SMP
|
|
default y
|
|
|
|
# unless you want to implement ACPI on PA-RISC ... ;-)
|
|
config PM
|
|
bool
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config ISA_DMA_API
|
|
bool
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
bool
|
|
depends on BROKEN
|
|
default y
|
|
|
|
config PGTABLE_LEVELS
|
|
int
|
|
default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
|
|
default 2
|
|
|
|
menu "Processor type and features"
|
|
|
|
choice
|
|
prompt "Processor type"
|
|
default PA7000
|
|
|
|
config PA7000
|
|
bool "PA7000/PA7100"
|
|
help
|
|
This is the processor type of your CPU. This information is
|
|
used for optimizing purposes. In order to compile a kernel
|
|
that can run on all 32-bit PA CPUs (albeit not optimally fast),
|
|
you can specify "PA7000" here.
|
|
|
|
Specifying "PA8000" here will allow you to select a 64-bit kernel
|
|
which is required on some machines.
|
|
|
|
config PA7100LC
|
|
bool "PA7100LC"
|
|
help
|
|
Select this option for the PCX-L processor, as used in the
|
|
712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
|
|
D200, D210, D300, D310 and E-class
|
|
|
|
config PA7200
|
|
bool "PA7200"
|
|
help
|
|
Select this option for the PCX-T' processor, as used in the
|
|
C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
|
|
K100, K200, K210, K220, K400, K410 and K420
|
|
|
|
config PA7300LC
|
|
bool "PA7300LC"
|
|
help
|
|
Select this option for the PCX-L2 processor, as used in the
|
|
744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
|
|
D220, D230, D320 and D330.
|
|
|
|
config PA8X00
|
|
bool "PA8000 and up"
|
|
help
|
|
Select this option for PCX-U to PCX-W2 processors.
|
|
|
|
endchoice
|
|
|
|
# Define implied options from the CPU selection here
|
|
|
|
config PA20
|
|
def_bool y
|
|
depends on PA8X00
|
|
|
|
config PA11
|
|
def_bool y
|
|
depends on PA7000 || PA7100LC || PA7200 || PA7300LC
|
|
select ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
|
|
config PREFETCH
|
|
def_bool y
|
|
depends on PA8X00 || PA7200
|
|
|
|
config PARISC_HUGE_KERNEL
|
|
def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
|
|
|
|
config MLONGCALLS
|
|
def_bool y if PARISC_HUGE_KERNEL
|
|
bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
|
|
depends on PA8X00
|
|
help
|
|
If you configure the kernel to include many drivers built-in instead
|
|
as modules, the kernel executable may become too big, so that the
|
|
linker will not be able to resolve some long branches and fails to link
|
|
your vmlinux kernel. In that case enabling this option will help you
|
|
to overcome this limit by using the -mlong-calls compiler option.
|
|
|
|
Usually you want to say N here, unless you e.g. want to build
|
|
a kernel which includes all necessary drivers built-in and which can
|
|
be used for TFTP booting without the need to have an initrd ramdisk.
|
|
|
|
Enabling this option will probably slow down your kernel.
|
|
|
|
config 64BIT
|
|
bool "64-bit kernel"
|
|
depends on PA8X00
|
|
help
|
|
Enable this if you want to support 64bit kernel on PA-RISC platform.
|
|
|
|
At the moment, only people willing to use more than 2GB of RAM,
|
|
or having a 64bit-only capable PA-RISC machine should say Y here.
|
|
|
|
Since there is no 64bit userland on PA-RISC, there is no point to
|
|
enable this option otherwise. The 64bit kernel is significantly bigger
|
|
and slower than the 32bit one.
|
|
|
|
choice
|
|
prompt "Kernel page size"
|
|
default PARISC_PAGE_SIZE_4KB
|
|
|
|
config PARISC_PAGE_SIZE_4KB
|
|
bool "4KB"
|
|
help
|
|
This lets you select the page size of the kernel. For best
|
|
performance, a page size of 16KB is recommended. For best
|
|
compatibility with 32bit applications, a page size of 4KB should be
|
|
selected (the vast majority of 32bit binaries work perfectly fine
|
|
with a larger page size).
|
|
|
|
4KB For best 32bit compatibility
|
|
16KB For best performance
|
|
64KB For best performance, might give more overhead.
|
|
|
|
If you don't know what to do, choose 4KB.
|
|
|
|
config PARISC_PAGE_SIZE_16KB
|
|
bool "16KB"
|
|
depends on PA8X00 && BROKEN && !KFENCE
|
|
|
|
config PARISC_PAGE_SIZE_64KB
|
|
bool "64KB"
|
|
depends on PA8X00 && BROKEN && !KFENCE
|
|
|
|
endchoice
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
help
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine.
|
|
On a uniprocessor machine, the kernel will run faster if you say N.
|
|
|
|
See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
|
|
available at <https://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config PARISC_CPU_TOPOLOGY
|
|
bool "Support cpu topology definition"
|
|
depends on SMP
|
|
default y
|
|
help
|
|
Support PARISC cpu topology definition.
|
|
|
|
config SCHED_MC
|
|
bool "Multi-core scheduler support"
|
|
depends on PARISC_CPU_TOPOLOGY && PA8X00
|
|
help
|
|
Multi-core scheduler support improves the CPU scheduler's decision
|
|
making when dealing with multi-core CPU chips at a cost of slightly
|
|
increased overhead in some places. If unsure say N here.
|
|
|
|
config IRQSTACKS
|
|
bool "Use separate kernel stacks when processing interrupts"
|
|
default y
|
|
help
|
|
If you say Y here the kernel will use separate kernel stacks
|
|
for handling hard and soft interrupts. This can help avoid
|
|
overflowing the process kernel stacks.
|
|
|
|
config TLB_PTLOCK
|
|
bool "Use page table locks in TLB fault handler"
|
|
depends on SMP
|
|
default n
|
|
help
|
|
Select this option to enable page table locking in the TLB
|
|
fault handler. This ensures that page table entries are
|
|
updated consistently on SMP machines at the expense of some
|
|
loss in performance.
|
|
|
|
config HOTPLUG_CPU
|
|
bool
|
|
default y if SMP
|
|
|
|
config ARCH_SELECT_MEMORY_MODEL
|
|
def_bool y
|
|
depends on 64BIT
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
def_bool y
|
|
depends on 64BIT
|
|
|
|
config ARCH_FLATMEM_ENABLE
|
|
def_bool y
|
|
|
|
config ARCH_SPARSEMEM_DEFAULT
|
|
def_bool y
|
|
depends on ARCH_SPARSEMEM_ENABLE
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
config COMPAT
|
|
def_bool y
|
|
depends on 64BIT
|
|
|
|
config SYSVIPC_COMPAT
|
|
def_bool y
|
|
depends on COMPAT && SYSVIPC
|
|
|
|
config AUDIT_ARCH
|
|
def_bool y
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-32)"
|
|
range 2 32
|
|
depends on SMP
|
|
default "4" if 64BIT
|
|
default "16"
|
|
|
|
config KEXEC
|
|
bool "Kexec system call"
|
|
select KEXEC_CORE
|
|
help
|
|
kexec is a system call that implements the ability to shutdown your
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
but it is independent of the system firmware. And like a reboot
|
|
you can start any kernel with it, not just Linux.
|
|
|
|
It is an ongoing process to be certain the hardware in a machine
|
|
shutdown, so do not be surprised if this code does not
|
|
initially work for you.
|
|
|
|
config KEXEC_FILE
|
|
bool "kexec file based system call"
|
|
select KEXEC_CORE
|
|
select KEXEC_ELF
|
|
help
|
|
This enables the kexec_file_load() System call. This is
|
|
file based and takes file descriptors as system call argument
|
|
for kernel and initramfs as opposed to list of segments as
|
|
accepted by previous system call.
|
|
|
|
endmenu
|
|
|
|
source "drivers/parisc/Kconfig"
|