| # SPDX-License-Identifier: GPL-2.0 |
| config SW64 |
| bool |
| default y |
| select ACPI |
| select ACPI_REDUCED_HARDWARE_ONLY |
| select ARCH_HAS_ELF_RANDOMIZE |
| select ARCH_HAS_PHYS_TO_DMA |
| select ARCH_HAS_PTE_SPECIAL |
| select ARCH_HAS_SG_CHAIN |
| select ARCH_HAVE_NMI_SAFE_CMPXCHG |
| select ARCH_INLINE_READ_LOCK |
| select ARCH_INLINE_READ_LOCK_BH |
| select ARCH_INLINE_READ_LOCK_IRQ |
| select ARCH_INLINE_READ_LOCK_IRQSAVE |
| select ARCH_INLINE_READ_UNLOCK |
| select ARCH_INLINE_READ_UNLOCK_BH |
| select ARCH_INLINE_READ_UNLOCK_IRQ |
| select ARCH_INLINE_READ_UNLOCK_IRQRESTORE |
| select ARCH_INLINE_SPIN_LOCK |
| select ARCH_INLINE_SPIN_LOCK_BH |
| select ARCH_INLINE_SPIN_LOCK_IRQ |
| select ARCH_INLINE_SPIN_LOCK_IRQSAVE |
| select ARCH_INLINE_SPIN_TRYLOCK |
| select ARCH_INLINE_SPIN_TRYLOCK_BH |
| select ARCH_INLINE_SPIN_UNLOCK |
| select ARCH_INLINE_SPIN_UNLOCK_BH |
| select ARCH_INLINE_SPIN_UNLOCK_IRQ |
| select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE |
| select ARCH_INLINE_WRITE_LOCK |
| select ARCH_INLINE_WRITE_LOCK_BH |
| select ARCH_INLINE_WRITE_LOCK_IRQ |
| select ARCH_INLINE_WRITE_LOCK_IRQSAVE |
| select ARCH_INLINE_WRITE_UNLOCK |
| select ARCH_INLINE_WRITE_UNLOCK_BH |
| select ARCH_INLINE_WRITE_UNLOCK_IRQ |
| select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE |
| select ARCH_NO_PREEMPT |
| select ARCH_SUPPORTS_ACPI |
| select ARCH_SUPPORTS_ATOMIC_RMW |
| select ARCH_SUPPORTS_NUMA_BALANCING |
| select ARCH_SUPPORTS_UPROBES |
| select ARCH_USE_CMPXCHG_LOCKREF |
| select ARCH_USE_QUEUED_RWLOCKS |
| select ARCH_USE_QUEUED_SPINLOCKS |
| select ARCH_WANT_FRAME_POINTERS |
| select ARCH_WANT_IPC_PARSE_VERSION |
| select AUDIT_ARCH |
| select COMMON_CLK |
| select DMA_OPS if PCI |
| select GENERIC_CLOCKEVENTS |
| select GENERIC_IRQ_LEGACY |
| select GENERIC_IRQ_MIGRATION if SMP |
| select GENERIC_IRQ_PROBE |
| select GENERIC_IRQ_SHOW |
| select GENERIC_PCI_IOMAP if PCI |
| select GENERIC_SMP_IDLE_THREAD |
| select GENERIC_STRNCPY_FROM_USER |
| select GENERIC_STRNLEN_USER |
| select GENERIC_TIME_VSYSCALL |
| select HANDLE_DOMAIN_IRQ |
| select HARDIRQS_SW_RESEND |
| select HAVE_ARCH_AUDITSYSCALL |
| select HAVE_ARCH_JUMP_LABEL |
| select HAVE_ARCH_KGDB |
| select HAVE_ARCH_SECCOMP_FILTER |
| select HAVE_ARCH_TRACEHOOK |
| select HAVE_ARCH_TRANSPARENT_HUGEPAGE |
| select HAVE_ASM_MODVERSIONS |
| select HAVE_C_RECORDMCOUNT |
| select HAVE_DEBUG_BUGVERBOSE |
| select HAVE_DYNAMIC_FTRACE |
| select HAVE_EBPF_JIT |
| select HAVE_FAST_GUP |
| select HAVE_FTRACE_MCOUNT_RECORD |
| select HAVE_FUNCTION_GRAPH_TRACER |
| select HAVE_FUNCTION_TRACER |
| select HAVE_IDE |
| select HAVE_KPROBES |
| select HAVE_KRETPROBES |
| select HAVE_MEMBLOCK |
| select HAVE_MEMBLOCK_NODE_MAP |
| select HAVE_MOD_ARCH_SPECIFIC |
| select HAVE_OPROFILE |
| select HAVE_PCI |
| select HAVE_PCSPKR_PLATFORM |
| select HAVE_PERF_EVENTS |
| select HAVE_PERF_REGS |
| select HAVE_PERF_USER_STACK_DUMP |
| select HAVE_REGS_AND_STACK_ACCESS_API |
| select HAVE_SYSCALL_TRACEPOINTS |
| select IRQ_FORCED_THREADING |
| select MEMORY_HOTPLUG_SPARSE if MEMORY_HOTPLUG |
| select MODULES_USE_ELF_RELA |
| select NO_BOOTMEM |
| select OF_EARLY_FLATTREE if OF |
| select OLD_SIGSUSPEND |
| select PCI_MSI_ARCH_FALLBACKS |
| select SET_FS |
| select SPARSEMEM_EXTREME if SPARSEMEM |
| select SWIOTLB |
| |
| config LOCKDEP_SUPPORT |
| def_bool y |
| |
| config 64BIT |
| def_bool y |
| |
| config MMU |
| bool |
| default y |
| |
| config PGTABLE_LEVELS |
| int |
| default 4 |
| |
| config SYS_SUPPORTS_HUGETLBFS |
| def_bool y |
| |
| config RWSEM_GENERIC_SPINLOCK |
| bool |
| |
| config RWSEM_XCHGADD_ALGORITHM |
| bool |
| default y |
| |
| config ARCH_ENABLE_MEMORY_HOTPLUG |
| bool |
| default y |
| |
| config ARCH_ENABLE_MEMORY_HOTREMOVE |
| bool |
| default y |
| |
| config ARCH_HAS_ILOG2_U32 |
| bool |
| default n |
| |
| config ARCH_HAS_ILOG2_U64 |
| bool |
| default n |
| |
| config GENERIC_GPIO |
| bool |
| |
| config GENERIC_CALIBRATE_DELAY |
| bool |
| default y |
| |
| config ZONE_DMA32 |
| bool |
| default y |
| |
| config NEED_DMA_MAP_STATE |
| def_bool y |
| |
| config NEED_SG_DMA_LENGTH |
| def_bool y |
| |
| config ARCH_WANT_HUGE_PMD_SHARE |
| def_bool y |
| |
| config GENERIC_ISA_DMA |
| bool |
| default y |
| |
| config NONCACHE_PAGE |
| bool |
| depends on SW64 |
| default y |
| |
| |
| config AUDIT_ARCH |
| bool |
| |
| config SYS_HAS_EARLY_PRINTK |
| bool |
| |
| menu "System setup" |
| |
| menu "Machine Configuration" |
| |
| choice |
| prompt "Subarchitecture Configuration" |
| |
| config SUBARCH_C3B |
| bool "C3B" |
| |
| endchoice |
| |
| choice |
| prompt "Chipset Family" |
| |
| config SW64_CHIP3 |
| bool "Chip3" |
| depends on SUBARCH_C3B |
| endchoice |
| |
| choice |
| prompt "Runtime System" |
| depends on SW64_CHIP3 |
| default SW64_ASIC |
| |
| config SW64_FPGA |
| bool "FPGA" |
| help |
| Support for chip3 FPGA. |
| |
| config SW64_SIM |
| bool "Hardware Simulator" |
| help |
| Support for chip3 hardware simulator. |
| |
| config SW64_ASIC |
| bool "ASIC" |
| help |
| Support for chip3 asic. |
| |
| endchoice |
| |
| config SW64_CHIP3_ASIC_DEBUG |
| bool "Debug Support for Chip3 Asic" |
| depends on SW64_ASIC |
| help |
| Used for debug |
| |
| config CPUFREQ_DEBUGFS |
| bool "CPU Frequency debugfs interface for Chip3 Asic" |
| depends on SW64_CHIP3 && DEBUG_FS |
| help |
| Turns on the DebugFS interface for CPU Frequency. |
| |
| If you don't know what to do here, say N. |
| |
| choice |
| prompt "Platform Type" |
| |
| config PLATFORM_XUELANG |
| bool "Xuelang" |
| depends on SW64_CHIP3 |
| select SPARSE_IRQ |
| select SYS_HAS_EARLY_PRINTK |
| select SW64_INTC_V2 |
| help |
| Sunway chip3 board chipset |
| |
| endchoice |
| |
| config MIGHT_HAVE_PC_SERIO |
| bool "Use PC serio device i8042" |
| select ARCH_MIGHT_HAVE_PC_SERIO |
| default n |
| |
| endmenu |
| |
| config LOCK_MEMB |
| bool "Insert mem barrier before lock instruction" |
| default y |
| |
| menu "CPU Frequency scaling" |
| |
| config CPU_FREQ |
| bool "CPU Frequency scaling" |
| select SRCU |
| help |
| CPU Frequency scaling allows you to change the clock speed of |
| CPUs on the fly. This is a nice method to save power, because |
| the lower the CPU clock speed, the less power the CPU consumes. |
| |
| Note that this driver doesn't automatically change the CPU |
| clock speed, you need to either enable a dynamic cpufreq governor |
| (see below) after boot, or use a userspace tool. |
| |
| For details, take a look at <file:Documentation/cpu-freq>. |
| |
| If in doubt, say N. |
| |
| if CPU_FREQ |
| |
| config SW64_CPUFREQ |
| bool "sw64 CPU Frequency interface for Chip3 Asic" |
| depends on SW64_CHIP3 |
| default y |
| help |
| Turns on the interface for SW64_CPU Frequency. |
| |
| config SW64_CPUAUTOPLUG |
| bool "sw64 CPU Autoplug interface" |
| depends on SW64_CPUFREQ |
| default y |
| help |
| Turns on the interface for SW64_CPU CPUAUTOPLUG. |
| |
| config CPU_FREQ_GOV_ATTR_SET |
| bool |
| |
| config CPU_FREQ_GOV_COMMON |
| select CPU_FREQ_GOV_ATTR_SET |
| select IRQ_WORK |
| bool |
| |
| config CPU_FREQ_BOOST_SW |
| bool |
| depends on THERMAL |
| |
| config CPU_FREQ_STAT |
| bool "CPU frequency transition statistics" |
| help |
| Export CPU frequency statistics information through sysfs. |
| |
| If in doubt, say N. |
| |
| choice |
| prompt "Default CPUFreq governor" |
| default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ |
| default CPU_FREQ_DEFAULT_GOV_PERFORMANCE |
| help |
| This option sets which CPUFreq governor shall be loaded at |
| startup. If in doubt, select 'performance'. |
| |
| config CPU_FREQ_DEFAULT_GOV_PERFORMANCE |
| bool "performance" |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |
| Use the CPUFreq governor 'performance' as default. This sets |
| the frequency statically to the highest frequency supported by |
| the CPU. |
| |
| config CPU_FREQ_DEFAULT_GOV_POWERSAVE |
| bool "powersave" |
| select CPU_FREQ_GOV_POWERSAVE |
| help |
| Use the CPUFreq governor 'powersave' as default. This sets |
| the frequency statically to the lowest frequency supported by |
| the CPU. |
| |
| config CPU_FREQ_DEFAULT_GOV_USERSPACE |
| bool "userspace" |
| select CPU_FREQ_GOV_USERSPACE |
| help |
| Use the CPUFreq governor 'userspace' as default. This allows |
| you to set the CPU frequency manually or when a userspace |
| program shall be able to set the CPU dynamically without having |
| to enable the userspace governor manually. |
| |
| config CPU_FREQ_DEFAULT_GOV_ONDEMAND |
| bool "ondemand" |
| select CPU_FREQ_GOV_ONDEMAND |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |
| Use the CPUFreq governor 'ondemand' as default. This allows |
| you to get a full dynamic frequency capable system by simply |
| loading your cpufreq low-level hardware driver. |
| Be aware that not all cpufreq drivers support the ondemand |
| governor. If unsure have a look at the help section of the |
| driver. Fallback governor will be the performance governor. |
| |
| config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE |
| bool "conservative" |
| select CPU_FREQ_GOV_CONSERVATIVE |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |
| Use the CPUFreq governor 'conservative' as default. This allows |
| you to get a full dynamic frequency capable system by simply |
| loading your cpufreq low-level hardware driver. |
| Be aware that not all cpufreq drivers support the conservative |
| governor. If unsure have a look at the help section of the |
| driver. Fallback governor will be the performance governor. |
| |
| config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL |
| bool "schedutil" |
| depends on SMP |
| select CPU_FREQ_GOV_SCHEDUTIL |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |
| Use the 'schedutil' CPUFreq governor by default. If unsure, |
| have a look at the help section of that governor. The fallback |
| governor will be 'performance'. |
| |
| endchoice |
| |
| config CPU_FREQ_GOV_PERFORMANCE |
| tristate "'performance' governor" |
| help |
| This cpufreq governor sets the frequency statically to the |
| highest available CPU frequency. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cpufreq_performance. |
| |
| If in doubt, say Y. |
| |
| config CPU_FREQ_GOV_POWERSAVE |
| tristate "'powersave' governor" |
| help |
| This cpufreq governor sets the frequency statically to the |
| lowest available CPU frequency. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cpufreq_powersave. |
| |
| If in doubt, say Y. |
| |
| config CPU_FREQ_GOV_USERSPACE |
| tristate "'userspace' governor for userspace frequency scaling" |
| help |
| Enable this cpufreq governor when you either want to set the |
| CPU frequency manually or when a userspace program shall |
| be able to set the CPU dynamically, like on LART |
| <http://www.lartmaker.nl/>. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cpufreq_userspace. |
| |
| For details, take a look at <file:Documentation/cpu-freq/>. |
| |
| If in doubt, say Y. |
| |
| config CPU_FREQ_GOV_ONDEMAND |
| tristate "'ondemand' cpufreq policy governor" |
| select CPU_FREQ_GOV_COMMON |
| help |
| 'ondemand' - This driver adds a dynamic cpufreq policy governor. |
| The governor does a periodic polling and |
| changes frequency based on the CPU utilization. |
| The support for this governor depends on CPU capability to |
| do fast frequency switching (i.e, very low latency frequency |
| transitions). |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cpufreq_ondemand. |
| |
| For details, take a look at linux/Documentation/cpu-freq. |
| |
| If in doubt, say N. |
| |
| config CPU_FREQ_GOV_CONSERVATIVE |
| tristate "'conservative' cpufreq governor" |
| depends on CPU_FREQ |
| select CPU_FREQ_GOV_COMMON |
| help |
| 'conservative' - this driver is rather similar to the 'ondemand' |
| governor both in its source code and its purpose, the difference is |
| its optimisation for better suitability in a battery powered |
| environment. The frequency is gracefully increased and decreased |
| rather than jumping to 100% when speed is required. |
| |
| If you have a desktop machine then you should really be considering |
| the 'ondemand' governor instead, however if you are using a laptop, |
| PDA or even an AMD64 based computer (due to the unacceptable |
| step-by-step latency issues between the minimum and maximum frequency |
| transitions in the CPU) you will probably want to use this governor. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called cpufreq_conservative. |
| |
| For details, take a look at linux/Documentation/cpu-freq. |
| |
| If in doubt, say N. |
| |
| config CPU_FREQ_GOV_SCHEDUTIL |
| bool "'schedutil' cpufreq policy governor" |
| depends on CPU_FREQ && SMP |
| select CPU_FREQ_GOV_ATTR_SET |
| select IRQ_WORK |
| help |
| This governor makes decisions based on the utilization data provided |
| by the scheduler. It sets the CPU frequency to be proportional to |
| the utilization/capacity ratio coming from the scheduler. If the |
| utilization is frequency-invariant, the new frequency is also |
| proportional to the maximum available frequency. If that is not the |
| case, it is proportional to the current frequency of the CPU. The |
| frequency tipping point is at utilization/capacity equal to 80% in |
| both cases. |
| |
| If in doubt, say N. |
| |
| comment "CPU frequency scaling drivers" |
| |
| config CPUFREQ_DT |
| tristate "Generic DT based cpufreq driver" |
| depends on HAVE_CLK && OF |
| # if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y: |
| depends on !CPU_THERMAL || THERMAL |
| select CPUFREQ_DT_PLATDEV |
| select PM_OPP |
| help |
| This adds a generic DT based cpufreq driver for frequency management. |
| It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) |
| systems. |
| |
| If in doubt, say N. |
| |
| config CPUFREQ_DT_PLATDEV |
| bool |
| help |
| This adds a generic DT based cpufreq platdev driver for frequency |
| management. This creates a 'cpufreq-dt' platform device, on the |
| supported platforms. |
| |
| If in doubt, say N. |
| |
| endif |
| endmenu |
| |
| # clear all implied options (don't want default values for those): |
| # Most of these machines have ISA slots; not exactly sure which don't, |
| # and this doesn't activate hordes of code, so do it always. |
| config ISA |
| bool |
| default y |
| help |
| Find out whether you have ISA slots on your motherboard. ISA is the |
| name of a bus system, i.e. the way the CPU talks to the other stuff |
| inside your box. Other bus systems are PCI, EISA, MicroChannel |
| (MCA) or VESA. ISA is an older system, now being displaced by PCI; |
| newer boards don't support it. If you have ISA, say Y, otherwise N. |
| |
| config ISA_DMA_API |
| bool |
| default y |
| |
| config PCI_DOMAINS |
| def_bool PCI |
| |
| config PCI_SYSCALL |
| def_bool PCI |
| |
| config IOMMU_HELPER |
| def_bool PCI |
| |
| config PHYSICAL_START |
| hex "Physical address where the kernel starts" |
| default "0x900000" |
| help |
| This gives the physical address where the kernel starts, and it |
| is 0x10000 before _text. If you plan to use kernel for capturing |
| the crash dump change this value to start of the reserved region |
| (the "X" value as specified in the "crashkernel=YM@XM" command |
| line boot parameter passed to the panic-ed kernel). |
| |
| config KEXEC |
| bool "Kexec system call (EXPERIMENTAL)" |
| 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. |
| |
| The name comes from the similarity to the exec system call. |
| |
| It is an ongoing process to be certain the hardware in a machine |
| is properly shutdown, so do not be surprised if this code does not |
| initially work for you. As of this writing the exact hardware |
| interface is strongly in flux, so no good recommendation can be |
| made. |
| |
| config CRASH_DUMP |
| bool "Kernel crash dumps (EXPERIMENTAL)" |
| help |
| Generate crash dump after being started by kexec. |
| This should be normally only set in special crash dump kernels |
| which are loaded in the main kernel with kexec-tools into |
| a specially reserved region and then later executed after |
| a crash by kdump/kexec. The crash dump kernel must be compiled |
| to a memory address not used by the main kernel or firmware using |
| PHYSICAL_START. |
| |
| config SECCOMP |
| def_bool y |
| prompt "Enable seccomp to safely compute untrusted bytecode" |
| help |
| This kernel feature is useful for number crunching applications |
| that may need to compute untrusted bytecode during their |
| execution. By using pipes or other transports made available to |
| the process as file descriptors supporting the read/write |
| syscalls, it's possible to isolate those applications in |
| their own address space using seccomp. Once seccomp is |
| enabled via prctl(PR_SET_SECCOMP), it cannot be disabled |
| and the task is only allowed to execute a few safe syscalls |
| defined by each seccomp mode. |
| |
| If unsure, say Y. Only embedded should say N here. |
| |
| config GENERIC_HWEIGHT |
| bool |
| default y |
| |
| config LOCK_FIXUP |
| bool "fix up the lock" |
| depends on SW64 |
| help |
| Add an instruction("memb\n") to ensure the correctness of the lock. |
| |
| |
| config SMP |
| bool "Symmetric multi-processing support" |
| depends on SW64 |
| select USE_GENERIC_SMP_HELPERS |
| help |
| This enables support for systems with more than one CPU. If you have |
| a system with only one CPU, like most personal computers, say N. If |
| you have a system with more than one CPU, say Y. |
| |
| If you say N here, the kernel will run on single and multiprocessor |
| machines, but will use only one CPU of a multiprocessor machine. If |
| you say Y here, the kernel will run on many, but not all, |
| singleprocessor machines. On a singleprocessor machine, the kernel |
| will run faster if you say N here. |
| |
| See also the SMP-HOWTO available at |
| <http://www.tldp.org/docs.html#howto>. |
| |
| If you don't know what to do here, say N. |
| |
| config ARCH_PROC_KCORE_TEXT |
| def_bool y |
| |
| config HAVE_DEC_LOCK |
| bool "Use arch-specified dec_and_lock" |
| depends on SMP && !NUMA |
| default y |
| |
| config TRACE_IRQFLAGS_SUPPORT |
| def_bool y |
| |
| config ARCH_SUPPORTS_UPROBES |
| def_bool y |
| |
| config NR_CPUS |
| int "Maximum number of CPUs (2-256)" |
| range 2 256 |
| depends on SMP |
| default "64" if SW64_CHIP3 |
| help |
| SW6 support can handle a maximum of 256 CPUs. |
| |
| config HOTPLUG_CPU |
| bool "Support for hot-pluggable CPUs" |
| depends on SMP |
| help |
| Say Y here to allow turning CPUs off and on. CPUs can be |
| controlled through /sys/devices/system/cpu. |
| ( Note: power management support will enable this option |
| automatically on SMP systems. ) |
| Say N if you want to disable CPU hotplug. |
| |
| config ARCH_SPARSEMEM_ENABLE |
| bool "Sparse Memory Support" |
| depends on SMP |
| select SPARSEMEM_VMEMMAP_ENABLE |
| |
| config NUMA |
| bool "NUMA Support" |
| depends on SMP && !FLATMEM |
| help |
| Say Y to compile the kernel to support NUMA (Non-Uniform Memory |
| Access). This option is for configuring high-end multiprocessor |
| server machines. If in doubt, say N. |
| |
| config USE_PERCPU_NUMA_NODE_ID |
| def_bool y |
| depends on NUMA |
| |
| config NODES_SHIFT |
| int |
| default "7" |
| depends on NEED_MULTIPLE_NODES |
| |
| config RELOCATABLE |
| bool "Relocatable kernel" |
| help |
| This builds a kernel image that retains relocation information |
| so it can be loaded someplace besides the default 1MB. |
| The relocations make the kernel binary about 15% larger, |
| but are discarded at runtime |
| |
| config RELOCATION_TABLE_SIZE |
| hex "Relocation table size" |
| depends on RELOCATABLE |
| range 0x0 0x01000000 |
| default "0x80000" |
| help |
| A table of relocation data will be appended to the kernel binary |
| and parsed at boot to fix up the relocated kernel. |
| |
| This option allows the amount of space reserved for the table to be |
| adjusted, although the default of 1Mb should be ok in most cases. |
| |
| The build will fail and a valid size suggested if this is too small. |
| |
| If unsure, leave at the default value. |
| |
| config RANDOMIZE_BASE |
| bool "Randomize the address of the kernel image" |
| depends on RELOCATABLE |
| help |
| Randomizes the physical and virtual address at which the |
| kernel image is loaded, as a security feature that |
| deters exploit attempts relying on knowledge of the location |
| of kernel internals. |
| |
| Entropy is generated using any coprocessor 0 registers available. |
| |
| The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET. |
| |
| If unsure, say N. |
| |
| config RANDOMIZE_BASE_MAX_OFFSET |
| hex "Maximum kASLR offset" if EXPERT |
| depends on RANDOMIZE_BASE |
| range 0x0 0x20000000 |
| default "0x10000000" |
| help |
| When kASLR is active, this provides the maximum offset that will |
| be applied to the kernel image. It should be set according to the |
| amount of physical RAM available in the target system minus |
| PHYSICAL_START and must be a power of 2. |
| |
| This is limited by the size of KTEXT space, 512Mb. The default is 256MB. |
| |
| config HZ |
| int "HZ of the short timer" |
| default 500 |
| |
| source "drivers/eisa/Kconfig" |
| |
| source "drivers/pcmcia/Kconfig" |
| |
| source "fs/Kconfig.binfmt" |
| |
| source "arch/sw_64/lib/Kconfig" |
| |
| endmenu |
| |
| menu "Boot options" |
| |
| config USE_OF |
| bool "Flattened Device Tree support" |
| select OF |
| select IRQ_DOMAIN |
| help |
| Include support for flattened device tree machine descriptions. |
| |
| config SW64_BUILTIN_DTB |
| bool "Embed DTB in kernel image" |
| depends on OF |
| default n |
| help |
| Embeds a device tree binary in the kernel image. |
| |
| config SW64_BUILTIN_DTB_NAME |
| string "Built in DTB" |
| depends on SW64_BUILTIN_DTB |
| help |
| Set the name of the DTB to embed, leave blank to pick one |
| automatically based on kernel configuration. |
| |
| config EFI |
| bool "UEFI runtime support" |
| select UCS2_STRING |
| select EFI_RUNTIME_WRAPPERS |
| default y |
| help |
| This option provides support for runtime services provided |
| by UEFI firmware (such as non-volatile variables, realtime |
| clock, and platform reset). A UEFI stub is also provided to |
| allow the kernel to be booted as an EFI application. This |
| is only useful on systems that have UEFI firmware. |
| |
| config DMI |
| bool "Enable support for SMBIOS (DMI) tables" |
| depends on EFI |
| default y |
| help |
| This enables SMBIOS/DMI feature for systems. |
| |
| This option is only useful on systems that have UEFI firmware. |
| However, even with this option, the resultant kernel should |
| continue to boot on existing non-UEFI platforms. |
| |
| NOTE: This does *NOT* enable or encourage the use of DMI quirks, |
| i.e., the practice of identifying the platform via DMI to |
| decide whether certain workarounds for buggy hardware and/or |
| firmware need to be enabled. This would require the DMI subsystem |
| to be enabled much earlier than we do on ARM, which is non-trivial. |
| |
| config CMDLINE_BOOL |
| bool "Built-in kernel command line" |
| help |
| Allow for specifying boot arguments to the kernel at |
| build time. On some systems (e.g. embedded ones), it is |
| necessary or convenient to provide some or all of the |
| kernel boot arguments with the kernel itself (that is, |
| to not rely on the boot loader to provide them.) |
| |
| To compile command line arguments into the kernel, |
| set this option to 'Y', then fill in the |
| boot arguments in CONFIG_CMDLINE. |
| |
| Systems with fully functional boot loaders (i.e. non-embedded) |
| should leave this option set to 'N'. |
| |
| config CMDLINE |
| string "Built-in kernel command string" |
| depends on CMDLINE_BOOL |
| default "" |
| help |
| Enter arguments here that should be compiled into the kernel |
| image and used at boot time. If the boot loader provides a |
| command line at boot time, it is appended to this string to |
| form the full kernel command line, when the system boots. |
| |
| However, you can use the CONFIG_CMDLINE_OVERRIDE option to |
| change this behavior. |
| |
| In most cases, the command line (whether built-in or provided |
| by the boot loader) should specify the device for the root |
| file system. |
| |
| config CMDLINE_OVERRIDE |
| bool "Built-in command line overrides boot loader arguments" |
| depends on CMDLINE_BOOL |
| help |
| Set this option to 'Y' to have the kernel ignore the boot loader |
| command line, and use ONLY the built-in command line. |
| |
| This is used to work around broken boot loaders. This should |
| be set to 'N' under normal conditions. |
| |
| config FORCE_MAX_ZONEORDER |
| int |
| default "16" if (HUGETLB_PAGE) |
| default "11" |
| help |
| The kernel memory allocator divides physically contiguous memory |
| blocks into "zones", where each zone is a power of two number of |
| pages. This option selects the largest power of two that the kernel |
| keeps in the memory allocator. If you need to allocate very large |
| blocks of physically contiguous memory, then you may need to |
| increase this value. |
| |
| This config option is actually maximum order plus one. For example, |
| a value of 11 means that the largest free memory block is 2^10 pages. |
| |
| We make sure that we can allocate upto a HugePage size for each configuration. |
| Hence we have : |
| MAX_ORDER = (PMD_SHIFT - PAGE_SHIFT) + 1 => PAGE_SHIFT - 2 |
| |
| endmenu |
| |
| source "drivers/firmware/Kconfig" |
| |
| menu "Power management options" |
| |
| source "kernel/power/Kconfig" |
| |
| source "drivers/acpi/Kconfig" |
| |
| config ARCH_SUSPEND_POSSIBLE |
| depends on SW64 |
| def_bool y |
| |
| config ARCH_HIBERNATION_POSSIBLE |
| depends on SW64 |
| def_bool y |
| |
| config SW64_SUSPEND_DEEPSLEEP_NONBOOT_CORE |
| depends on SUSPEND |
| bool "SW64 non bootcore suspend into deep sleep mode" |
| default n |
| |
| config SW64_SUSPEND_DEEPSLEEP_BOOTCORE |
| depends on SUSPEND |
| bool "SW64 bootcore suspend into deep sleep mode" |
| default n |
| |
| config SW64_SUPPORT_S3_SLEEPING_STATE |
| depends on SUSPEND |
| bool "SW64 support S3 sleeping state" |
| default n |
| help |
| Only SW831 support S3 sleep option and needs SROM, HMCode and BIOS support. |
| |
| source "drivers/cpuidle/Kconfig" |
| |
| source "drivers/idle/Kconfig" |
| |
| endmenu |
| |
| source "arch/sw_64/kvm/Kconfig" |