mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
394 lines
10 KiB
394 lines
10 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
config PARISC |
|
def_bool y |
|
select ARCH_32BIT_OFF_T if !64BIT |
|
select ARCH_MIGHT_HAVE_PC_PARPORT |
|
select HAVE_IDE |
|
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_NO_SG_CHAIN |
|
select ARCH_SUPPORTS_MEMORY_FAILURE |
|
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_STRNCPY_FROM_USER |
|
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_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 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 SET_FS |
|
|
|
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 ARCH_DEFCONFIG |
|
string |
|
default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT |
|
default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT |
|
|
|
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 |
|
|
|
config SYS_SUPPORTS_HUGETLBFS |
|
def_bool y if PA20 |
|
|
|
|
|
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 |
|
|
|
config PARISC_PAGE_SIZE_64KB |
|
bool "64KB" |
|
depends on PA8X00 && BROKEN |
|
|
|
endchoice |
|
|
|
config PARISC_SELF_EXTRACT |
|
bool "Build kernel as self-extracting executable" |
|
default y |
|
help |
|
Say Y if you want to build the parisc kernel as a kind of |
|
self-extracting executable. |
|
|
|
If you say N here, the kernel will be compressed with gzip |
|
which can be loaded by the palo bootloader directly too. |
|
|
|
If you don't know what to do here, say Y. |
|
|
|
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" |
|
|
|
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/firmware/Kconfig" |
|
|
|
source "drivers/parisc/Kconfig"
|
|
|