~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/riscv/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/riscv/Kconfig (Version linux-6.12-rc7) and /arch/sparc/Kconfig (Version linux-2.6.0)


  1 # SPDX-License-Identifier: GPL-2.0-only        !!   1 # $Id: config.in,v 1.113 2002/01/24 22:14:44 davem Exp $
  2 #                                              << 
  3 # For a description of the syntax of this conf      2 # For a description of the syntax of this configuration file,
  4 # see Documentation/kbuild/kconfig-language.rs !!   3 # see Documentation/kbuild/kconfig-language.txt.
  5 #                                                   4 #
  6                                                     5 
  7 config 64BIT                                   !!   6 mainmenu "Linux/SPARC Kernel Configuration"
  8         bool                                   << 
  9                                                     7 
 10 config 32BIT                                   !!   8 config MMU
 11         bool                                        9         bool
 12                                                << 
 13 config RISCV                                   << 
 14         def_bool y                             << 
 15         select ACPI_GENERIC_GSI if ACPI        << 
 16         select ACPI_MCFG if (ACPI && PCI)      << 
 17         select ACPI_PPTT if ACPI               << 
 18         select ACPI_REDUCED_HARDWARE_ONLY if A << 
 19         select ACPI_SPCR_TABLE if ACPI         << 
 20         select ARCH_DMA_DEFAULT_COHERENT       << 
 21         select ARCH_ENABLE_HUGEPAGE_MIGRATION  << 
 22         select ARCH_ENABLE_MEMORY_HOTPLUG if S << 
 23         select ARCH_ENABLE_MEMORY_HOTREMOVE if << 
 24         select ARCH_ENABLE_SPLIT_PMD_PTLOCK if << 
 25         select ARCH_ENABLE_THP_MIGRATION if TR << 
 26         select ARCH_HAS_BINFMT_FLAT            << 
 27         select ARCH_HAS_CURRENT_STACK_POINTER  << 
 28         select ARCH_HAS_DEBUG_VIRTUAL if MMU   << 
 29         select ARCH_HAS_DEBUG_VM_PGTABLE       << 
 30         select ARCH_HAS_DEBUG_WX               << 
 31         select ARCH_HAS_FAST_MULTIPLIER        << 
 32         select ARCH_HAS_FORTIFY_SOURCE         << 
 33         select ARCH_HAS_GCOV_PROFILE_ALL       << 
 34         select ARCH_HAS_GIGANTIC_PAGE          << 
 35         select ARCH_HAS_KCOV                   << 
 36         select ARCH_HAS_KERNEL_FPU_SUPPORT if  << 
 37         select ARCH_HAS_MEMBARRIER_CALLBACKS   << 
 38         select ARCH_HAS_MEMBARRIER_SYNC_CORE   << 
 39         select ARCH_HAS_MMIOWB                 << 
 40         select ARCH_HAS_NON_OVERLAPPING_ADDRES << 
 41         select ARCH_HAS_PMEM_API               << 
 42         select ARCH_HAS_PREPARE_SYNC_CORE_CMD  << 
 43         select ARCH_HAS_PTE_DEVMAP if 64BIT && << 
 44         select ARCH_HAS_PTE_SPECIAL            << 
 45         select ARCH_HAS_SET_DIRECT_MAP if MMU  << 
 46         select ARCH_HAS_SET_MEMORY if MMU      << 
 47         select ARCH_HAS_STRICT_KERNEL_RWX if M << 
 48         select ARCH_HAS_STRICT_MODULE_RWX if M << 
 49         select ARCH_HAS_SYNC_CORE_BEFORE_USERM << 
 50         select ARCH_HAS_SYSCALL_WRAPPER        << 
 51         select ARCH_HAS_TICK_BROADCAST if GENE << 
 52         select ARCH_HAS_UBSAN                  << 
 53         select ARCH_HAS_VDSO_DATA              << 
 54         select ARCH_KEEP_MEMBLOCK if ACPI      << 
 55         select ARCH_MHP_MEMMAP_ON_MEMORY_ENABL << 
 56         select ARCH_OPTIONAL_KERNEL_RWX if ARC << 
 57         select ARCH_OPTIONAL_KERNEL_RWX_DEFAUL << 
 58         select ARCH_STACKWALK                  << 
 59         select ARCH_SUPPORTS_ATOMIC_RMW        << 
 60         select ARCH_SUPPORTS_CFI_CLANG         << 
 61         select ARCH_SUPPORTS_DEBUG_PAGEALLOC i << 
 62         select ARCH_SUPPORTS_HUGETLBFS if MMU  << 
 63         # LLD >= 14: https://github.com/llvm/l << 
 64         select ARCH_SUPPORTS_LTO_CLANG if LLD_ << 
 65         select ARCH_SUPPORTS_LTO_CLANG_THIN if << 
 66         select ARCH_SUPPORTS_PAGE_TABLE_CHECK  << 
 67         select ARCH_SUPPORTS_PER_VMA_LOCK if M << 
 68         select ARCH_SUPPORTS_RT                << 
 69         select ARCH_SUPPORTS_SHADOW_CALL_STACK << 
 70         select ARCH_USE_CMPXCHG_LOCKREF if 64B << 
 71         select ARCH_USE_MEMTEST                << 
 72         select ARCH_USE_QUEUED_RWLOCKS         << 
 73         select ARCH_USE_SYM_ANNOTATIONS        << 
 74         select ARCH_USES_CFI_TRAPS if CFI_CLAN << 
 75         select ARCH_WANT_BATCHED_UNMAP_TLB_FLU << 
 76         select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_ << 
 77         select ARCH_WANT_FRAME_POINTERS        << 
 78         select ARCH_WANT_GENERAL_HUGETLB if !R << 
 79         select ARCH_WANT_HUGE_PMD_SHARE if 64B << 
 80         select ARCH_WANT_LD_ORPHAN_WARN if !XI << 
 81         select ARCH_WANT_OPTIMIZE_DAX_VMEMMAP  << 
 82         select ARCH_WANT_OPTIMIZE_HUGETLB_VMEM << 
 83         select ARCH_WANTS_NO_INSTR             << 
 84         select ARCH_WANTS_THP_SWAP if HAVE_ARC << 
 85         select BINFMT_FLAT_NO_DATA_START_OFFSE << 
 86         select BUILDTIME_TABLE_SORT if MMU     << 
 87         select CLINT_TIMER if RISCV_M_MODE     << 
 88         select CLONE_BACKWARDS                 << 
 89         select COMMON_CLK                      << 
 90         select CPU_PM if CPU_IDLE || HIBERNATI << 
 91         select EDAC_SUPPORT                    << 
 92         select FRAME_POINTER if PERF_EVENTS || << 
 93         select FTRACE_MCOUNT_USE_PATCHABLE_FUN << 
 94         select GENERIC_ARCH_TOPOLOGY           << 
 95         select GENERIC_ATOMIC64 if !64BIT      << 
 96         select GENERIC_CLOCKEVENTS_BROADCAST i << 
 97         select GENERIC_CPU_DEVICES             << 
 98         select GENERIC_CPU_VULNERABILITIES     << 
 99         select GENERIC_EARLY_IOREMAP           << 
100         select GENERIC_ENTRY                   << 
101         select GENERIC_GETTIMEOFDAY if HAVE_GE << 
102         select GENERIC_IDLE_POLL_SETUP         << 
103         select GENERIC_IOREMAP if MMU          << 
104         select GENERIC_IRQ_IPI if SMP          << 
105         select GENERIC_IRQ_IPI_MUX if SMP      << 
106         select GENERIC_IRQ_MULTI_HANDLER       << 
107         select GENERIC_IRQ_SHOW                << 
108         select GENERIC_IRQ_SHOW_LEVEL          << 
109         select GENERIC_LIB_DEVMEM_IS_ALLOWED   << 
110         select GENERIC_PCI_IOMAP               << 
111         select GENERIC_PTDUMP if MMU           << 
112         select GENERIC_SCHED_CLOCK             << 
113         select GENERIC_SMP_IDLE_THREAD         << 
114         select GENERIC_TIME_VSYSCALL if MMU && << 
115         select GENERIC_VDSO_TIME_NS if HAVE_GE << 
116         select HARDIRQS_SW_RESEND              << 
117         select HAS_IOPORT if MMU               << 
118         select HAVE_ARCH_AUDITSYSCALL          << 
119         select HAVE_ARCH_HUGE_VMALLOC if HAVE_ << 
120         select HAVE_ARCH_HUGE_VMAP if MMU && 6 << 
121         select HAVE_ARCH_JUMP_LABEL if !XIP_KE << 
122         select HAVE_ARCH_JUMP_LABEL_RELATIVE i << 
123         select HAVE_ARCH_KASAN if MMU && 64BIT << 
124         select HAVE_ARCH_KASAN_VMALLOC if MMU  << 
125         select HAVE_ARCH_KFENCE if MMU && 64BI << 
126         select HAVE_ARCH_KGDB if !XIP_KERNEL   << 
127         select HAVE_ARCH_KGDB_QXFER_PKT        << 
128         select HAVE_ARCH_MMAP_RND_BITS if MMU  << 
129         select HAVE_ARCH_MMAP_RND_COMPAT_BITS  << 
130         select HAVE_ARCH_RANDOMIZE_KSTACK_OFFS << 
131         select HAVE_ARCH_SECCOMP_FILTER        << 
132         select HAVE_ARCH_STACKLEAK             << 
133         select HAVE_ARCH_THREAD_STRUCT_WHITELI << 
134         select HAVE_ARCH_TRACEHOOK             << 
135         select HAVE_ARCH_TRANSPARENT_HUGEPAGE  << 
136         select HAVE_ARCH_USERFAULTFD_MINOR if  << 
137         select HAVE_ARCH_VMAP_STACK if MMU &&  << 
138         select HAVE_ASM_MODVERSIONS            << 
139         select HAVE_CONTEXT_TRACKING_USER      << 
140         select HAVE_DEBUG_KMEMLEAK             << 
141         select HAVE_DMA_CONTIGUOUS if MMU      << 
142         select HAVE_DYNAMIC_FTRACE if !XIP_KER << 
143         select HAVE_DYNAMIC_FTRACE_WITH_DIRECT << 
144         select HAVE_DYNAMIC_FTRACE_WITH_ARGS i << 
145         select HAVE_FTRACE_MCOUNT_RECORD if !X << 
146         select HAVE_FUNCTION_GRAPH_TRACER      << 
147         select HAVE_FUNCTION_GRAPH_RETVAL if H << 
148         select HAVE_FUNCTION_TRACER if !XIP_KE << 
149         select HAVE_EBPF_JIT if MMU            << 
150         select HAVE_GUP_FAST if MMU            << 
151         select HAVE_FUNCTION_ARG_ACCESS_API    << 
152         select HAVE_FUNCTION_ERROR_INJECTION   << 
153         select HAVE_GCC_PLUGINS                << 
154         select HAVE_GENERIC_VDSO if MMU && 64B << 
155         select HAVE_IRQ_TIME_ACCOUNTING        << 
156         select HAVE_KERNEL_BZIP2 if !XIP_KERNE << 
157         select HAVE_KERNEL_GZIP if !XIP_KERNEL << 
158         select HAVE_KERNEL_LZ4 if !XIP_KERNEL  << 
159         select HAVE_KERNEL_LZMA if !XIP_KERNEL << 
160         select HAVE_KERNEL_LZO if !XIP_KERNEL  << 
161         select HAVE_KERNEL_UNCOMPRESSED if !XI << 
162         select HAVE_KERNEL_ZSTD if !XIP_KERNEL << 
163         select HAVE_KERNEL_XZ if !XIP_KERNEL & << 
164         select HAVE_KPROBES if !XIP_KERNEL     << 
165         select HAVE_KRETPROBES if !XIP_KERNEL  << 
166         # https://github.com/ClangBuiltLinux/l << 
167         select HAVE_LD_DEAD_CODE_DATA_ELIMINAT << 
168         select HAVE_MOVE_PMD                   << 
169         select HAVE_MOVE_PUD                   << 
170         select HAVE_PAGE_SIZE_4KB              << 
171         select HAVE_PCI                        << 
172         select HAVE_PERF_EVENTS                << 
173         select HAVE_PERF_REGS                  << 
174         select HAVE_PERF_USER_STACK_DUMP       << 
175         select HAVE_POSIX_CPU_TIMERS_TASK_WORK << 
176         select HAVE_PREEMPT_DYNAMIC_KEY if !XI << 
177         select HAVE_REGS_AND_STACK_ACCESS_API  << 
178         select HAVE_RETHOOK if !XIP_KERNEL     << 
179         select HAVE_RSEQ                       << 
180         select HAVE_RUST if RUSTC_SUPPORTS_RIS << 
181         select HAVE_SAMPLE_FTRACE_DIRECT       << 
182         select HAVE_SAMPLE_FTRACE_DIRECT_MULTI << 
183         select HAVE_STACKPROTECTOR             << 
184         select HAVE_SYSCALL_TRACEPOINTS        << 
185         select HOTPLUG_CORE_SYNC_DEAD if HOTPL << 
186         select IRQ_DOMAIN                      << 
187         select IRQ_FORCED_THREADING            << 
188         select KASAN_VMALLOC if KASAN          << 
189         select LOCK_MM_AND_FIND_VMA            << 
190         select MMU_GATHER_RCU_TABLE_FREE if SM << 
191         select MODULES_USE_ELF_RELA if MODULES << 
192         select OF                              << 
193         select OF_EARLY_FLATTREE               << 
194         select OF_IRQ                          << 
195         select PCI_DOMAINS_GENERIC if PCI      << 
196         select PCI_ECAM if (ACPI && PCI)       << 
197         select PCI_MSI if PCI                  << 
198         select RISCV_ALTERNATIVE if !XIP_KERNE << 
199         select RISCV_APLIC                     << 
200         select RISCV_IMSIC                     << 
201         select RISCV_INTC                      << 
202         select RISCV_TIMER if RISCV_SBI        << 
203         select SIFIVE_PLIC                     << 
204         select SPARSE_IRQ                      << 
205         select SYSCTL_EXCEPTION_TRACE          << 
206         select THREAD_INFO_IN_TASK             << 
207         select TRACE_IRQFLAGS_SUPPORT          << 
208         select UACCESS_MEMCPY if !MMU          << 
209         select USER_STACKTRACE_SUPPORT         << 
210         select ZONE_DMA32 if 64BIT             << 
211                                                << 
212 config RUSTC_SUPPORTS_RISCV                    << 
213         def_bool y                             << 
214         depends on 64BIT                       << 
215         # Shadow call stack requires rustc ver << 
216         # -Zsanitizer=shadow-call-stack flag.  << 
217         depends on !SHADOW_CALL_STACK || RUSTC << 
218                                                << 
219 config CLANG_SUPPORTS_DYNAMIC_FTRACE           << 
220         def_bool CC_IS_CLANG                   << 
221         # https://github.com/ClangBuiltLinux/l << 
222         depends on AS_IS_GNU || (AS_IS_LLVM && << 
223                                                << 
224 config GCC_SUPPORTS_DYNAMIC_FTRACE             << 
225         def_bool CC_IS_GCC                     << 
226         depends on $(cc-option,-fpatchable-fun << 
227                                                << 
228 config HAVE_SHADOW_CALL_STACK                  << 
229         def_bool $(cc-option,-fsanitize=shadow << 
230         # https://github.com/riscv-non-isa/ris << 
231         depends on $(ld-option,--no-relax-gp)  << 
232                                                << 
233 config RISCV_USE_LINKER_RELAXATION             << 
234         def_bool y                             << 
235         # https://github.com/llvm/llvm-project << 
236         depends on !LD_IS_LLD || LLD_VERSION > << 
237                                                << 
238 # https://github.com/llvm/llvm-project/commit/ << 
239 config ARCH_HAS_BROKEN_DWARF5                  << 
240         def_bool y                             << 
241         depends on RISCV_USE_LINKER_RELAXATION << 
242         # https://github.com/llvm/llvm-project << 
243         depends on AS_IS_LLVM && AS_VERSION <  << 
244         # https://github.com/llvm/llvm-project << 
245         depends on LD_IS_LLD && LLD_VERSION <  << 
246                                                << 
247 config ARCH_MMAP_RND_BITS_MIN                  << 
248         default 18 if 64BIT                    << 
249         default 8                              << 
250                                                << 
251 config ARCH_MMAP_RND_COMPAT_BITS_MIN           << 
252         default 8                              << 
253                                                << 
254 # max bits determined by the following formula << 
255 #  VA_BITS - PAGE_SHIFT - 3                    << 
256 config ARCH_MMAP_RND_BITS_MAX                  << 
257         default 24 if 64BIT # SV39 based       << 
258         default 17                             << 
259                                                << 
260 config ARCH_MMAP_RND_COMPAT_BITS_MAX           << 
261         default 17                             << 
262                                                << 
263 # set if we run in machine mode, cleared if we << 
264 config RISCV_M_MODE                            << 
265         bool "Build a kernel that runs in mach << 
266         depends on !MMU                        << 
267         default y                                  10         default y
268         help                                   << 
269           Select this option if you want to ru << 
270           without the assistance of any other  << 
271                                                    11 
272 # set if we are running in S-mode and can use  !!  12 config UID16
273 config RISCV_SBI                               << 
274         bool                                       13         bool
275         depends on !RISCV_M_MODE               << 
276         default y                                  14         default y
277                                                    15 
278 config MMU                                     !!  16 config HIGHMEM
279         bool "MMU-based Paged Memory Managemen !!  17         bool
280         default y                                  18         default y
281         help                                   << 
282           Select if you want MMU-based virtual << 
283           support by paged memory management.  << 
284                                                << 
285 config PAGE_OFFSET                             << 
286         hex                                    << 
287         default 0x80000000 if !MMU && RISCV_M_ << 
288         default 0x80200000 if !MMU             << 
289         default 0xc0000000 if 32BIT            << 
290         default 0xff60000000000000 if 64BIT    << 
291                                                << 
292 config KASAN_SHADOW_OFFSET                     << 
293         hex                                    << 
294         depends on KASAN_GENERIC               << 
295         default 0xdfffffff00000000 if 64BIT    << 
296         default 0xffffffff if 32BIT            << 
297                                                << 
298 config ARCH_FLATMEM_ENABLE                     << 
299         def_bool !NUMA                         << 
300                                                << 
301 config ARCH_SPARSEMEM_ENABLE                   << 
302         def_bool y                             << 
303         depends on MMU                         << 
304         select SPARSEMEM_STATIC if 32BIT && SP << 
305         select SPARSEMEM_VMEMMAP_ENABLE if 64B << 
306                                                << 
307 config ARCH_SELECT_MEMORY_MODEL                << 
308         def_bool ARCH_SPARSEMEM_ENABLE         << 
309                                                << 
310 config ARCH_SUPPORTS_UPROBES                   << 
311         def_bool y                             << 
312                                                << 
313 config STACKTRACE_SUPPORT                      << 
314         def_bool y                             << 
315                                                << 
316 config GENERIC_BUG                             << 
317         def_bool y                             << 
318         depends on BUG                         << 
319         select GENERIC_BUG_RELATIVE_POINTERS i << 
320                                                    19 
321 config GENERIC_BUG_RELATIVE_POINTERS           !!  20 config GENERIC_ISA_DMA
322         bool                                       21         bool
                                                   >>  22         default y
323                                                    23 
324 config GENERIC_CALIBRATE_DELAY                 !!  24 source "init/Kconfig"
325         def_bool y                             << 
326                                                << 
327 config GENERIC_CSUM                            << 
328         def_bool y                             << 
329                                                << 
330 config GENERIC_HWEIGHT                         << 
331         def_bool y                             << 
332                                                << 
333 config FIX_EARLYCON_MEM                        << 
334         def_bool MMU                           << 
335                                                << 
336 config ILLEGAL_POINTER_VALUE                   << 
337         hex                                    << 
338         default 0 if 32BIT                     << 
339         default 0xdead000000000000 if 64BIT    << 
340                                                << 
341 config PGTABLE_LEVELS                          << 
342         int                                    << 
343         default 5 if 64BIT                     << 
344         default 2                              << 
345                                                    25 
346 config LOCKDEP_SUPPORT                         << 
347         def_bool y                             << 
348                                                    26 
349 config RISCV_DMA_NONCOHERENT                   !!  27 menu "General setup"
350         bool                                   << 
351         select ARCH_HAS_DMA_PREP_COHERENT      << 
352         select ARCH_HAS_SETUP_DMA_OPS          << 
353         select ARCH_HAS_SYNC_DMA_FOR_CPU       << 
354         select ARCH_HAS_SYNC_DMA_FOR_DEVICE    << 
355         select DMA_BOUNCE_UNALIGNED_KMALLOC if << 
356                                                    28 
357 config RISCV_NONSTANDARD_CACHE_OPS             !!  29 config VT
358         bool                                       30         bool
359         help                                   !!  31         default y
360           This enables function pointer suppor !!  32         ---help---
361           systems to handle cache management.  !!  33           If you say Y here, you will get support for terminal devices with
362                                                !!  34           display and keyboard devices. These are called "virtual" because you
363 config AS_HAS_INSN                             !!  35           can run several virtual terminals (also called virtual consoles) on
364         def_bool $(as-instr,.insn r 51$(comma) !!  36           one physical terminal. This is rather useful, for example one
365                                                !!  37           virtual terminal can collect system messages and warnings, another
366 config AS_HAS_OPTION_ARCH                      !!  38           one can be used for a text-mode user session, and a third could run
367         # https://github.com/llvm/llvm-project !!  39           an X session, all in parallel. Switching between virtual terminals
368         def_bool y                             !!  40           is done with certain key combinations, usually Alt-<function key>.
369         depends on $(as-instr, .option arch$(c << 
370                                                    41 
371 source "arch/riscv/Kconfig.socs"               !!  42           The setterm command ("man setterm") can be used to change the
372 source "arch/riscv/Kconfig.errata"             !!  43           properties (such as colors or beeping) of a virtual terminal. The
                                                   >>  44           man page console_codes(4) ("man console_codes") contains the special
                                                   >>  45           character sequences that can be used to change those properties
                                                   >>  46           directly. The fonts used on virtual terminals can be changed with
                                                   >>  47           the setfont ("man setfont") command and the key bindings are defined
                                                   >>  48           with the loadkeys ("man loadkeys") command.
373                                                    49 
374 menu "Platform type"                           !!  50           You need at least one virtual terminal device in order to make use
                                                   >>  51           of your keyboard and monitor. Therefore, only people configuring an
                                                   >>  52           embedded system would want to say N here in order to save some
                                                   >>  53           memory; the only way to log into such a system is then via a serial
                                                   >>  54           or network connection.
375                                                    55 
376 config NONPORTABLE                             !!  56           If unsure, say Y, or else you won't be able to do much with your new
377         bool "Allow configurations that result !!  57           shiny Linux system :-)
378         help                                   << 
379           RISC-V kernel binaries are compatibl << 
380           whenever possible, but there are som << 
381           satisfied by configurations that res << 
382           not portable between systems.        << 
383                                                << 
384           Selecting N does not guarantee kerne << 
385           systems.  Selecting any of the optio << 
386           result in kernel binaries that are u << 
387           systems.                             << 
388                                                    58 
389           If unsure, say N.                    !!  59 config VT_CONSOLE
                                                   >>  60         bool
                                                   >>  61         default y
                                                   >>  62         ---help---
                                                   >>  63           The system console is the device which receives all kernel messages
                                                   >>  64           and warnings and which allows logins in single user mode. If you
                                                   >>  65           answer Y here, a virtual terminal (the device used to interact with
                                                   >>  66           a physical terminal) can be used as system console. This is the most
                                                   >>  67           common mode of operations, so you should say Y here unless you want
                                                   >>  68           the kernel messages be output only to a serial port (in which case
                                                   >>  69           you should say Y to "Console on serial port", below).
390                                                    70 
391 choice                                         !!  71           If you do say Y here, by default the currently visible virtual
392         prompt "Base ISA"                      !!  72           terminal (/dev/tty0) will be used as system console. You can change
393         default ARCH_RV64I                     !!  73           that with a kernel command line option such as "console=tty3" which
394         help                                   !!  74           would use the third virtual terminal as system console. (Try "man
395           This selects the base ISA that this  !!  75           bootparam" or see the documentation of your boot loader (lilo or
396           the target platform.                 !!  76           loadlin) about how to pass options to the kernel at boot time.)
397                                                    77 
398 config ARCH_RV32I                              !!  78           If unsure, say Y.
399         bool "RV32I"                           << 
400         depends on NONPORTABLE                 << 
401         select 32BIT                           << 
402         select GENERIC_LIB_ASHLDI3             << 
403         select GENERIC_LIB_ASHRDI3             << 
404         select GENERIC_LIB_LSHRDI3             << 
405         select GENERIC_LIB_UCMPDI2             << 
406                                                << 
407 config ARCH_RV64I                              << 
408         bool "RV64I"                           << 
409         select 64BIT                           << 
410         select ARCH_SUPPORTS_INT128 if CC_HAS_ << 
411         select SWIOTLB if MMU                  << 
412                                                << 
413 endchoice                                      << 
414                                                << 
415 # We must be able to map all physical memory i << 
416 # is still a bit more efficient when generatin << 
417 # such that it can only map 2GiB of memory.    << 
418 choice                                         << 
419         prompt "Kernel Code Model"             << 
420         default CMODEL_MEDLOW if 32BIT         << 
421         default CMODEL_MEDANY if 64BIT         << 
422                                                << 
423         config CMODEL_MEDLOW                   << 
424                 bool "medium low code model"   << 
425         config CMODEL_MEDANY                   << 
426                 bool "medium any code model"   << 
427 endchoice                                      << 
428                                                    79 
429 config MODULE_SECTIONS                         !!  80 config HW_CONSOLE
430         bool                                       81         bool
431         select HAVE_MOD_ARCH_SPECIFIC          !!  82         default y
432                                                    83 
433 config SMP                                         84 config SMP
434         bool "Symmetric Multi-Processing"      !!  85         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
435         help                                   !!  86         ---help---
436           This enables support for systems wit !!  87           This enables support for systems with more than one CPU. If you have
437           you say N here, the kernel will run  !!  88           a system with only one CPU, like most personal computers, say N. If
438           multiprocessor machines, but will us !!  89           you have a system with more than one CPU, say Y.
439           multiprocessor machine. If you say Y !!  90 
440           on many, but not all, single process !!  91           If you say N here, the kernel will run on single and multiprocessor
441           processor machine, the kernel will r !!  92           machines, but will use only one CPU of a multiprocessor machine. If
442           here.                                !!  93           you say Y here, the kernel will run on many, but not all,
                                                   >>  94           singleprocessor machines. On a singleprocessor machine, the kernel
                                                   >>  95           will run faster if you say N here.
                                                   >>  96 
                                                   >>  97           Note that if you say Y here and choose architecture "586" or
                                                   >>  98           "Pentium" under "Processor family", the kernel will not work on 486
                                                   >>  99           architectures. Similarly, multiprocessor kernels for the "PPro"
                                                   >> 100           architecture may not work on all Pentium based boards.
                                                   >> 101 
                                                   >> 102           People using multiprocessor machines who say Y here should also say
                                                   >> 103           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
                                                   >> 104           Management" code will be disabled if you say Y here.
                                                   >> 105 
                                                   >> 106           See also the <file:Documentation/smp.tex>,
                                                   >> 107           <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
                                                   >> 108           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
                                                   >> 109           <http://www.tldp.org/docs.html#howto>.
443                                                   110 
444           If you don't know what to do here, s    111           If you don't know what to do here, say N.
445                                                   112 
446 config SCHED_MC                                << 
447         bool "Multi-core scheduler support"    << 
448         depends on SMP                         << 
449         help                                   << 
450           Multi-core scheduler support improve << 
451           making when dealing with multi-core  << 
452           increased overhead in some places. I << 
453                                                << 
454 config NR_CPUS                                    113 config NR_CPUS
455         int "Maximum number of CPUs (2-512)"   !! 114         int "Maximum number of CPUs (2-32)"
456         depends on SMP                         << 
457         range 2 512 if !RISCV_SBI_V01          << 
458         range 2 32 if RISCV_SBI_V01 && 32BIT   << 
459         range 2 64 if RISCV_SBI_V01 && 64BIT   << 
460         default "32" if 32BIT                  << 
461         default "64" if 64BIT                  << 
462                                                << 
463 config HOTPLUG_CPU                             << 
464         bool "Support for hot-pluggable CPUs"  << 
465         depends on SMP                            115         depends on SMP
466         select GENERIC_IRQ_MIGRATION           !! 116         default "32"
467         help                                   << 
468                                                << 
469           Say Y here to experiment with turnin << 
470           can be controlled through /sys/devic << 
471                                                << 
472           Say N if you want to disable CPU hot << 
473                                                   117 
474 choice                                         !! 118 # Identify this as a Sparc32 build
475         prompt "CPU Tuning"                    !! 119 config SPARC32
476         default TUNE_GENERIC                   !! 120         bool
477                                                !! 121         default y
478 config TUNE_GENERIC                            << 
479         bool "generic"                         << 
480                                                << 
481 endchoice                                      << 
482                                                << 
483 # Common NUMA Features                         << 
484 config NUMA                                    << 
485         bool "NUMA Memory Allocation and Sched << 
486         depends on SMP && MMU                  << 
487         select ARCH_SUPPORTS_NUMA_BALANCING    << 
488         select GENERIC_ARCH_NUMA               << 
489         select HAVE_SETUP_PER_CPU_AREA         << 
490         select NEED_PER_CPU_EMBED_FIRST_CHUNK  << 
491         select NEED_PER_CPU_PAGE_FIRST_CHUNK   << 
492         select OF_NUMA                         << 
493         select USE_PERCPU_NUMA_NODE_ID         << 
494         help                                      122         help
495           Enable NUMA (Non-Uniform Memory Acce !! 123           SPARC is a family of RISC microprocessors designed and marketed by
496                                                !! 124           Sun Microsystems, incorporated.  They are very widely found in Sun
497           The kernel will try to allocate memo !! 125           workstations and clones. This port covers the original 32-bit SPARC;
498           local memory of the CPU and add some !! 126           it is old and stable and usually considered one of the "big three"
                                                   >> 127           along with the Intel and Alpha ports.  The UltraLinux project
                                                   >> 128           maintains both the SPARC32 and SPARC64 ports; its web page is
                                                   >> 129           available at <http://www.ultralinux.org/>.
499                                                   130 
500 config NODES_SHIFT                             !! 131 # Global things across all Sun machines.
501         int "Maximum NUMA Nodes (as a power of !! 132 config ISA
502         range 1 10                             !! 133         bool
503         default "2"                            << 
504         depends on NUMA                        << 
505         help                                      134         help
506           Specify the maximum number of NUMA N !! 135           ISA is found on Espresso only and is not supported currently.
507           system.  Increases memory reserved t !! 136           Say N
508                                                   137 
509 config RISCV_ALTERNATIVE                       !! 138 config EISA
510         bool                                      139         bool
511         depends on !XIP_KERNEL                 << 
512         help                                      140         help
513           This Kconfig allows the kernel to au !! 141           EISA is not supported.
514           erratum or cpufeature required by th !! 142           Say N
515           time. The code patching overhead is  << 
516           once at boot and once on each module << 
517                                                   143 
518 config RISCV_ALTERNATIVE_EARLY                 !! 144 config MCA
519         bool                                      145         bool
520         depends on RISCV_ALTERNATIVE           << 
521         help                                      146         help
522           Allows early patching of the kernel  !! 147           MCA is not supported.
                                                   >> 148           Say N
                                                   >> 149 
                                                   >> 150 config PCMCIA
                                                   >> 151         tristate
                                                   >> 152         ---help---
                                                   >> 153           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
                                                   >> 154           computer.  These are credit-card size devices such as network cards,
                                                   >> 155           modems or hard drives often used with laptops computers.  There are
                                                   >> 156           actually two varieties of these cards: the older 16 bit PCMCIA cards
                                                   >> 157           and the newer 32 bit CardBus cards.  If you want to use CardBus
                                                   >> 158           cards, you need to say Y here and also to "CardBus support" below.
523                                                   159 
524 config RISCV_ISA_C                             !! 160           To use your PC-cards, you will need supporting software from David
525         bool "Emit compressed instructions whe !! 161           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
                                                   >> 162           for location).  Please also read the PCMCIA-HOWTO, available from
                                                   >> 163           <http://www.tldp.org/docs.html#howto>.
                                                   >> 164 
                                                   >> 165           To compile this driver as modules, choose M here: the
                                                   >> 166           modules will be called pcmcia_core and ds.
                                                   >> 167 
                                                   >> 168 config SBUS
                                                   >> 169         bool
526         default y                                 170         default y
527         help                                   !! 171 
528           Adds "C" to the ISA subsets that the !! 172 config SBUSCHAR
529           when building Linux, which results i !! 173         bool
530           Linux binary.                        << 
531                                                << 
532           If you don't know what to do here, s << 
533                                                << 
534 config RISCV_ISA_SVNAPOT                       << 
535         bool "Svnapot extension support for su << 
536         depends on 64BIT && MMU                << 
537         depends on RISCV_ALTERNATIVE           << 
538         default y                                 174         default y
539         help                                   << 
540           Allow kernel to detect the Svnapot I << 
541           time and enable its usage.           << 
542                                                   175 
543           The Svnapot extension is used to mar !! 176 config SERIAL_CONSOLE
544           of contiguous virtual-to-physical tr !! 177         bool
545           aligned power-of-2 (NAPOT) granulari << 
546           size. When HUGETLBFS is also selecte << 
547           allocates some memory for each NAPOT << 
548           When optimizing for low memory consu << 
549           the Svnapot extension, it may be bet << 
550                                                << 
551           If you don't know what to do here, s << 
552                                                << 
553 config RISCV_ISA_SVPBMT                        << 
554         bool "Svpbmt extension support for sup << 
555         depends on 64BIT && MMU                << 
556         depends on RISCV_ALTERNATIVE           << 
557         default y                                 178         default y
558         help                                   !! 179         ---help---
559            Adds support to dynamically detect  !! 180           If you say Y here, it will be possible to use a serial port as the
560            ISA-extension (Supervisor-mode: pag !! 181           system console (the system console is the device which receives all
561            enable its usage.                   !! 182           kernel messages and warnings and which allows logins in single user
                                                   >> 183           mode). This could be useful if some terminal or printer is connected
                                                   >> 184           to that serial port.
562                                                   185 
563            The memory type for a page contains !! 186           Even if you say Y here, the currently visible virtual console
564            that indicate the cacheability, ide !! 187           (/dev/tty0) will still be used as the system console by default, but
565            properties for access to that page. !! 188           you can alter that using a kernel command line option such as
                                                   >> 189           "console=ttyS1". (Try "man bootparam" or see the documentation of
                                                   >> 190           your boot loader (lilo or loadlin) about how to pass options to the
                                                   >> 191           kernel at boot time.)
566                                                   192 
567            The Svpbmt extension is only availa !! 193           If you don't have a VGA card installed and you say Y here, the
                                                   >> 194           kernel will automatically use the first serial line, /dev/ttyS0, as
                                                   >> 195           system console.
568                                                   196 
569            If you don't know what to do here,  !! 197           If unsure, say N.
570                                                   198 
571 config TOOLCHAIN_HAS_V                         !! 199 config SUN_AUXIO
572         bool                                      200         bool
573         default y                                 201         default y
574         depends on !64BIT || $(cc-option,-mabi << 
575         depends on !32BIT || $(cc-option,-mabi << 
576         depends on LLD_VERSION >= 140000 || LD << 
577         depends on AS_HAS_OPTION_ARCH          << 
578                                                << 
579 config RISCV_ISA_V                             << 
580         bool "VECTOR extension support"        << 
581         depends on TOOLCHAIN_HAS_V             << 
582         depends on FPU                         << 
583         select DYNAMIC_SIGFRAME                << 
584         default y                              << 
585         help                                   << 
586           Say N here if you want to disable al << 
587           in the kernel.                       << 
588                                                   202 
589           If you don't know what to do here, s !! 203 config SUN_IO
590                                                !! 204         bool
591 config RISCV_ISA_V_DEFAULT_ENABLE              << 
592         bool "Enable userspace Vector by defau << 
593         depends on RISCV_ISA_V                 << 
594         default y                                 205         default y
595         help                                   << 
596           Say Y here if you want to enable Vec << 
597           Otherwise, userspace has to make exp << 
598           Vector, or enable it via the sysctl  << 
599                                                << 
600           If you don't know what to do here, s << 
601                                                << 
602 config RISCV_ISA_V_UCOPY_THRESHOLD             << 
603         int "Threshold size for vectorized use << 
604         depends on RISCV_ISA_V                 << 
605         default 768                            << 
606         help                                   << 
607           Prefer using vectorized copy_to_user << 
608           workload size exceeds this value.    << 
609                                                   206 
610 config RISCV_ISA_V_PREEMPTIVE                  !! 207 config RWSEM_GENERIC_SPINLOCK
611         bool "Run kernel-mode Vector with kern !! 208         bool
612         depends on PREEMPTION                  << 
613         depends on RISCV_ISA_V                 << 
614         default y                              << 
615         help                                   << 
616           Usually, in-kernel SIMD routines are << 
617           Functions which envoke long running  << 
618           vector unit to prevent blocking othe << 
619                                                << 
620           This config allows kernel to run SIM << 
621           preemption. Enabling this config wil << 
622           consumption due to the allocation of << 
623                                                << 
624 config RISCV_ISA_ZAWRS                         << 
625         bool "Zawrs extension support for more << 
626         depends on RISCV_ALTERNATIVE           << 
627         default y                                 209         default y
628         help                                   << 
629           The Zawrs extension defines instruct << 
630           which allow a hart to enter a low-po << 
631           hypervisor while waiting on a store  << 
632           use of these instructions in the ker << 
633           detected at boot.                    << 
634                                                << 
635           If you don't know what to do here, s << 
636                                                   210 
637 config TOOLCHAIN_HAS_ZBB                       !! 211 config RWSEM_XCHGADD_ALGORITHM
638         bool                                      212         bool
639         default y                              << 
640         depends on !64BIT || $(cc-option,-mabi << 
641         depends on !32BIT || $(cc-option,-mabi << 
642         depends on LLD_VERSION >= 150000 || LD << 
643         depends on AS_HAS_OPTION_ARCH          << 
644                                                << 
645 # This symbol indicates that the toolchain sup << 
646 # extensions, including Zvk*, Zvbb, and Zvbc.  << 
647 # binutils added all except Zvkb, then added Z << 
648 config TOOLCHAIN_HAS_VECTOR_CRYPTO             << 
649         def_bool $(as-instr, .option arch$(com << 
650         depends on AS_HAS_OPTION_ARCH          << 
651                                                   213 
652 config RISCV_ISA_ZBA                           !! 214 config SUN_PM
653         bool "Zba extension support for bit ma !! 215         bool
654         default y                                 216         default y
655         help                                      217         help
656            Add support for enabling optimisati !! 218           Enable power management and CPU standby features on supported 
657            extension is detected at boot.      !! 219           SPARC platforms. 
658                                                   220 
659            The Zba extension provides instruct !! 221 config SUN4
660            of addresses that index into arrays !! 222         bool "Support for SUN4 machines (disables SUN4[CDM] support)"
                                                   >> 223         help
                                                   >> 224           Say Y here if, and only if, your machine is a sun4. Note that
                                                   >> 225           a kernel compiled with this option will run only on sun4.
                                                   >> 226           (And the current version will probably work only on sun4/330.)
661                                                   227 
662            If you don't know what to do here,  !! 228 if !SUN4
663                                                   229 
664 config RISCV_ISA_ZBB                           !! 230 config PCI
665         bool "Zbb extension support for bit ma !! 231         bool "Support for PCI and PS/2 keyboard/mouse"
666         depends on TOOLCHAIN_HAS_ZBB           << 
667         depends on RISCV_ALTERNATIVE           << 
668         default y                              << 
669         help                                      232         help
670            Adds support to dynamically detect  !! 233           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
671            extension (basic bit manipulation)  !! 234           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
                                                   >> 235           All of these platforms are extremely obscure, so say N if unsure.
672                                                   236 
673            The Zbb extension provides instruct !! 237 source "drivers/pci/Kconfig"
674            of bit-specific operations (count b << 
675            bitrotation, etc).                  << 
676                                                   238 
677            If you don't know what to do here,  !! 239 endif
678                                                   240 
679 config TOOLCHAIN_HAS_ZBC                       !! 241 config SUN_OPENPROMFS
680         bool                                   !! 242         tristate "Openprom tree appears in /proc/openprom"
681         default y                              << 
682         depends on !64BIT || $(cc-option,-mabi << 
683         depends on !32BIT || $(cc-option,-mabi << 
684         depends on LLD_VERSION >= 150000 || LD << 
685         depends on AS_HAS_OPTION_ARCH          << 
686                                                << 
687 config RISCV_ISA_ZBC                           << 
688         bool "Zbc extension support for carry- << 
689         depends on TOOLCHAIN_HAS_ZBC           << 
690         depends on MMU                         << 
691         depends on RISCV_ALTERNATIVE           << 
692         default y                              << 
693         help                                      243         help
694            Adds support to dynamically detect  !! 244           If you say Y, the OpenPROM device tree will be available as a
695            extension (carry-less multiplicatio !! 245           virtual file system, which you can mount to /proc/openprom by "mount
                                                   >> 246           -t openpromfs none /proc/openprom".
696                                                   247 
697            The Zbc extension could accelerate  !! 248           To compile the /proc/openprom support as a module, choose M here: the
698            calculations.                       !! 249           module will be called openpromfs.  If unsure, choose M.
699                                                   250 
700            If you don't know what to do here,  !! 251 source "fs/Kconfig.binfmt"
701                                                   252 
702 config RISCV_ISA_ZICBOM                        !! 253 config SUNOS_EMUL
703         bool "Zicbom extension support for non !! 254         bool "SunOS binary emulation"
704         depends on MMU                         << 
705         depends on RISCV_ALTERNATIVE           << 
706         default y                              << 
707         select RISCV_DMA_NONCOHERENT           << 
708         select DMA_DIRECT_REMAP                << 
709         help                                      255         help
710            Adds support to dynamically detect  !! 256           This allows you to run most SunOS binaries.  If you want to do this,
711            extension (Cache Block Management O !! 257           say Y here and place appropriate files in /usr/gnemul/sunos. See
712            usage.                              !! 258           <http://www.ultralinux.org/faq.html> for more information.  If you
713                                                !! 259           want to run SunOS binaries on an Ultra you must also say Y to
714            The Zicbom extension can be used to !! 260           "Kernel support for 32-bit a.out binaries" above.
715            non-coherent DMA support on devices << 
716                                                << 
717            If you don't know what to do here,  << 
718                                                << 
719 config RISCV_ISA_ZICBOZ                        << 
720         bool "Zicboz extension support for fas << 
721         depends on RISCV_ALTERNATIVE           << 
722         default y                              << 
723         help                                   << 
724            Enable the use of the Zicboz extens << 
725            when available.                     << 
726                                                   261 
727            The Zicboz extension is used for fa !! 262 source "drivers/parport/Kconfig"
728                                                   263 
729            If you don't know what to do here,  !! 264 config PRINTER
                                                   >> 265         tristate "Parallel printer support"
                                                   >> 266         depends on PARPORT
                                                   >> 267         ---help---
                                                   >> 268           If you intend to attach a printer to the parallel port of your Linux
                                                   >> 269           box (as opposed to using a serial printer; if the connector at the
                                                   >> 270           printer has 9 or 25 holes ["female"], then it's serial), say Y.
                                                   >> 271           Also read the Printing-HOWTO, available from
                                                   >> 272           <http://www.tldp.org/docs.html#howto>.
730                                                   273 
731 config TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI !! 274           It is possible to share one parallel port among several devices
732         def_bool y                             !! 275           (e.g. printer and ZIP drive) and it is safe to compile the
733         # https://sourceware.org/git/?p=binuti !! 276           corresponding drivers into the kernel.  If you want to compile this
734         # https://gcc.gnu.org/git/?p=gcc.git;a !! 277           driver as a module however, choose M here and read
735         depends on AS_IS_GNU && AS_VERSION >=  !! 278           <file:Documentation/parport.txt>.  The module will be called lp.
736         help                                   << 
737           Binutils-2.38 and GCC-12.1.0 bumped  << 
738           20191213 version, which moves some i << 
739           the Zicsr and Zifencei extensions. T << 
740           Zicsr and Zifencei when binutils >=  << 
741           and Zifencei are supported in binuti << 
742           To make life easier, and avoid forci << 
743           newer ISA spec to version 2.2, relax << 
744           For clang < 17 or GCC < 11.3.0, for  << 
745           special treatment, this is dealt wit << 
746                                                << 
747 config TOOLCHAIN_NEEDS_OLD_ISA_SPEC            << 
748         def_bool y                             << 
749         depends on TOOLCHAIN_NEEDS_EXPLICIT_ZI << 
750         # https://github.com/llvm/llvm-project << 
751         # https://gcc.gnu.org/git/?p=gcc.git;a << 
752         depends on (CC_IS_CLANG && CLANG_VERSI << 
753         help                                   << 
754           Certain versions of clang and GCC do << 
755           -march. This option causes an older  << 
756           versions of clang and GCC to be pass << 
757           as passing zicsr and zifencei to -ma << 
758                                                   279 
759 config FPU                                     !! 280           If you have several parallel ports, you can specify which ports to
760         bool "FPU support"                     !! 281           use with the "lp" kernel command line option.  (Try "man bootparam"
761         default y                              !! 282           or see the documentation of your boot loader (lilo or loadlin) about
762         help                                   !! 283           how to pass options to the kernel at boot time.)  The syntax of the
763           Say N here if you want to disable al !! 284           "lp" command line option can be found in <file:drivers/char/lp.c>.
764           in the kernel.                       << 
765                                                   285 
766           If you don't know what to do here, s !! 286           If you have more than 8 printers, you need to increase the LP_NO
                                                   >> 287           macro in lp.c and the PARPORT_MAX macro in parport.h.
767                                                   288 
768 config IRQ_STACKS                              !! 289 endmenu
769         bool "Independent irq & softirq stacks << 
770         default y                              << 
771         select HAVE_IRQ_EXIT_ON_IRQ_STACK      << 
772         select HAVE_SOFTIRQ_ON_OWN_STACK       << 
773         help                                   << 
774           Add independent irq & softirq stacks << 
775           overflows. We may save some memory f << 
776                                                   290 
777 config THREAD_SIZE_ORDER                       !! 291 source "drivers/base/Kconfig"
778         int "Kernel stack size (in power-of-tw << 
779         range 0 4                              << 
780         default 1 if 32BIT                     << 
781         default 2                              << 
782         help                                   << 
783           Specify the Pages of thread stack si << 
784           affects irq stack size, which is equ << 
785                                                   292 
786 config RISCV_MISALIGNED                        !! 293 source "drivers/video/Kconfig"
787         bool                                   << 
788         select SYSCTL_ARCH_UNALIGN_ALLOW       << 
789         help                                   << 
790           Embed support for emulating misalign << 
791                                                   294 
792 choice                                         !! 295 source "drivers/mtd/Kconfig"
793         prompt "Unaligned Accesses Support"    << 
794         default RISCV_PROBE_UNALIGNED_ACCESS   << 
795         help                                   << 
796           This determines the level of support << 
797           information is used by the kernel to << 
798           exposed to user space via the hwprob << 
799           probed at boot by default.           << 
800                                                << 
801 config RISCV_PROBE_UNALIGNED_ACCESS            << 
802         bool "Probe for hardware unaligned acc << 
803         select RISCV_MISALIGNED                << 
804         help                                   << 
805           During boot, the kernel will run a s << 
806           speed of unaligned accesses. This pr << 
807           the speed of unaligned accesses on t << 
808           memory accesses trap into the kernel << 
809           system, the kernel will emulate the  << 
810           UABI.                                << 
811                                                << 
812 config RISCV_EMULATED_UNALIGNED_ACCESS         << 
813         bool "Emulate unaligned access where s << 
814         select RISCV_MISALIGNED                << 
815         help                                   << 
816           If unaligned memory accesses trap in << 
817           supported by the system, the kernel  << 
818           accesses to preserve the UABI. When  << 
819           unaligned accesses, the unaligned ac << 
820                                                << 
821 config RISCV_SLOW_UNALIGNED_ACCESS             << 
822         bool "Assume the system supports slow  << 
823         depends on NONPORTABLE                 << 
824         help                                   << 
825           Assume that the system supports slow << 
826           kernel and userspace programs may no << 
827           that do not support unaligned memory << 
828                                                << 
829 config RISCV_EFFICIENT_UNALIGNED_ACCESS        << 
830         bool "Assume the system supports fast  << 
831         depends on NONPORTABLE                 << 
832         select DCACHE_WORD_ACCESS if MMU       << 
833         select HAVE_EFFICIENT_UNALIGNED_ACCESS << 
834         help                                   << 
835           Assume that the system supports fast << 
836           enabled, this option improves the pe << 
837           systems. However, the kernel and use << 
838           slowly, or will not be able to run a << 
839           support efficient unaligned memory a << 
840                                                   296 
841 endchoice                                      !! 297 source "drivers/serial/Kconfig"
842                                                   298 
843 source "arch/riscv/Kconfig.vendor"             !! 299 if !SUN4
                                                   >> 300 source "drivers/sbus/char/Kconfig"
                                                   >> 301 endif
844                                                   302 
845 endmenu # "Platform type"                      << 
846                                                   303 
847 menu "Kernel features"                         !! 304 menu "Block devices"
848                                                   305 
849 source "kernel/Kconfig.hz"                     !! 306 config BLK_DEV_FD
                                                   >> 307         bool "Normal floppy disk support"
                                                   >> 308         ---help---
                                                   >> 309           If you want to use the floppy disk drive(s) of your PC under Linux,
                                                   >> 310           say Y. Information about this driver, especially important for IBM
                                                   >> 311           Thinkpad users, is contained in <file:Documentation/floppy.txt>.
                                                   >> 312           That file also contains the location of the Floppy driver FAQ as
                                                   >> 313           well as location of the fdutils package used to configure additional
                                                   >> 314           parameters of the driver at run time.
850                                                   315 
851 config RISCV_SBI_V01                           !! 316           To compile this driver as a module, choose M here: the
852         bool "SBI v0.1 support"                !! 317           module will be called floppy.
853         depends on RISCV_SBI                   << 
854         help                                   << 
855           This config allows kernel to use SBI << 
856           deprecated in future once legacy M-m << 
857                                                   318 
858 config RISCV_BOOT_SPINWAIT                     !! 319 config BLK_DEV_LOOP
859         bool "Spinwait booting method"         !! 320         tristate "Loopback device support"
860         depends on SMP                         !! 321         ---help---
861         default y if RISCV_SBI_V01 || RISCV_M_ !! 322           Saying Y here will allow you to use a regular file as a block
862         help                                   !! 323           device; you can then create a file system on that block device and
863           This enables support for booting Lin !! 324           mount it just as you would mount other block devices such as hard
864           spinwait method, all cores randomly  !! 325           drive partitions, CD-ROM drives or floppy drives. The loop devices
865           gets chosen via lottery and all othe !! 326           are block special device files with major number 7 and typically
866           variable. This method cannot support !! 327           called /dev/loop0, /dev/loop1 etc.
867           scheme. It should be only enabled fo << 
868           on older firmware without SBI HSM ex << 
869           rely on ordered booting via SBI HSM  << 
870           dynamically at runtime if the firmwa << 
871                                                << 
872           Since spinwait is incompatible with  << 
873           NR_CPUS be large enough to contain t << 
874           hart to enter Linux.                 << 
875                                                << 
876           If unsure what to do here, say N.    << 
877                                                << 
878 config ARCH_SUPPORTS_KEXEC                     << 
879         def_bool y                             << 
880                                                << 
881 config ARCH_SELECTS_KEXEC                      << 
882         def_bool y                             << 
883         depends on KEXEC                       << 
884         select HOTPLUG_CPU if SMP              << 
885                                                << 
886 config ARCH_SUPPORTS_KEXEC_FILE                << 
887         def_bool 64BIT                         << 
888                                                << 
889 config ARCH_SELECTS_KEXEC_FILE                 << 
890         def_bool y                             << 
891         depends on KEXEC_FILE                  << 
892         select HAVE_IMA_KEXEC if IMA           << 
893         select KEXEC_ELF                       << 
894                                                << 
895 config ARCH_SUPPORTS_KEXEC_PURGATORY           << 
896         def_bool ARCH_SUPPORTS_KEXEC_FILE      << 
897                                                << 
898 config ARCH_SUPPORTS_CRASH_DUMP                << 
899         def_bool y                             << 
900                                                << 
901 config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATIO << 
902         def_bool CRASH_RESERVE                 << 
903                                                << 
904 config COMPAT                                  << 
905         bool "Kernel support for 32-bit U-mode << 
906         default 64BIT                          << 
907         depends on 64BIT && MMU                << 
908         help                                   << 
909           This option enables support for a 32 << 
910           kernel at S-mode. riscv32-specific c << 
911           the user helper functions (vdso), si << 
912           ptrace interface are handled appropr << 
913                                                << 
914           If you want to execute 32-bit usersp << 
915                                                << 
916 config PARAVIRT                                << 
917         bool "Enable paravirtualization code"  << 
918         depends on RISCV_SBI                   << 
919         help                                   << 
920           This changes the kernel so it can mo << 
921           under a hypervisor, potentially impr << 
922           over full virtualization.            << 
923                                                << 
924 config PARAVIRT_TIME_ACCOUNTING                << 
925         bool "Paravirtual steal time accountin << 
926         depends on PARAVIRT                    << 
927         help                                   << 
928           Select this option to enable fine gr << 
929           accounting. Time spent executing oth << 
930           the current vCPU is discounted from  << 
931           that, there can be a small performan << 
932                                                << 
933           If in doubt, say N here.             << 
934                                                << 
935 config RELOCATABLE                             << 
936         bool "Build a relocatable kernel"      << 
937         depends on MMU && 64BIT && !XIP_KERNEL << 
938         select MODULE_SECTIONS if MODULES      << 
939         help                                   << 
940           This builds a kernel as a Position I << 
941           which retains all relocation metadat << 
942           kernel binary at runtime to a differ << 
943           address it was linked at.            << 
944           Since RISCV uses the RELA relocation << 
945           relocation pass at runtime even if t << 
946           same address it was linked at.       << 
947                                                << 
948           If unsure, say N.                    << 
949                                                << 
950 config RANDOMIZE_BASE                          << 
951         bool "Randomize the address of the ker << 
952         select RELOCATABLE                     << 
953         depends on MMU && 64BIT && !XIP_KERNEL << 
954         help                                   << 
955           Randomizes the virtual address at wh << 
956           loaded, as a security feature that d << 
957           relying on knowledge of the location << 
958                                                << 
959           It is the bootloader's job to provid << 
960           random u64 value in /chosen/kaslr-se << 
961                                                << 
962           When booting via the UEFI stub, it w << 
963           EFI_RNG_PROTOCOL implementation (if  << 
964           to the kernel proper. In addition, i << 
965           location of the kernel Image as well << 
966                                                   328 
967           If unsure, say N.                    !! 329           This is useful if you want to check an ISO 9660 file system before
                                                   >> 330           burning the CD, or if you want to use floppy images without first
                                                   >> 331           writing them to floppy. Furthermore, some Linux distributions avoid
                                                   >> 332           the need for a dedicated Linux partition by keeping their complete
                                                   >> 333           root file system inside a DOS FAT file using this loop device
                                                   >> 334           driver.
968                                                   335 
969 endmenu # "Kernel features"                    !! 336           The loop device driver can also be used to "hide" a file system in a
                                                   >> 337           disk partition, floppy, or regular file, either using encryption
                                                   >> 338           (scrambling the data) or steganography (hiding the data in the low
                                                   >> 339           bits of, say, a sound file). This is also safe if the file resides
                                                   >> 340           on a remote file server. If you want to do this, you will first have
                                                   >> 341           to acquire and install a kernel patch from
                                                   >> 342           <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
                                                   >> 343           say Y to this option.
970                                                   344 
971 menu "Boot options"                            !! 345           Note that alternative ways to use encrypted file systems are
                                                   >> 346           provided by the cfs package, which can be gotten from
                                                   >> 347           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
                                                   >> 348           package, available at <http://tcfs.dia.unisa.it/>. You do not need
                                                   >> 349           to say Y here if you want to use one of these. However, using cfs
                                                   >> 350           requires saying Y to "NFS file system support" below while using
                                                   >> 351           tcfs requires applying a kernel patch. An alternative steganography
                                                   >> 352           solution is provided by StegFS, also available from
                                                   >> 353           <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.
972                                                   354 
973 config CMDLINE                                 !! 355           To use the loop device, you need the losetup utility and a recent
974         string "Built-in kernel command line"  !! 356           version of the mount program, both contained in the util-linux
975         help                                   !! 357           package. The location and current version number of util-linux is
976           For most platforms, the arguments fo !! 358           contained in the file <file:Documentation/Changes>.
977           are provided at run-time, during boo << 
978           where either no arguments are being  << 
979           arguments are insufficient or even i << 
980                                                << 
981           When that occurs, it is possible to  << 
982           line here and choose how the kernel  << 
983                                                << 
984 choice                                         << 
985         prompt "Built-in command line usage"   << 
986         depends on CMDLINE != ""               << 
987         default CMDLINE_FALLBACK               << 
988         help                                   << 
989           Choose how the kernel will handle th << 
990           line.                                << 
991                                                   359 
992 config CMDLINE_FALLBACK                        !! 360           Note that this loop device has nothing to do with the loopback
993         bool "Use bootloader kernel arguments  !! 361           device used for network connections from the machine to itself.
994         help                                   << 
995           Use the built-in command line as fal << 
996           during boot. This is the default beh << 
997                                                   362 
998 config CMDLINE_EXTEND                          !! 363           To compile this driver as a module, choose M here: the
999         bool "Extend bootloader kernel argumen !! 364           module will be called loop.
1000         help                                  << 
1001           The command-line arguments provided << 
1002           appended to the built-in command li << 
1003           cases where the provided arguments  << 
1004           you don't want to or cannot modify  << 
1005                                                  365 
1006 config CMDLINE_FORCE                          !! 366           Most users will answer N here.
1007         bool "Always use the default kernel c << 
1008         help                                  << 
1009           Always use the built-in command lin << 
1010           boot. This is useful in case you ne << 
1011           command line on systems where you d << 
1012           over it.                            << 
1013                                                  367 
1014 endchoice                                     !! 368 config BLK_DEV_NBD
                                                   >> 369         tristate "Network block device support"
                                                   >> 370         depends on NET
                                                   >> 371         ---help---
                                                   >> 372           Saying Y here will allow your computer to be a client for network
                                                   >> 373           block devices, i.e. it will be able to use block devices exported by
                                                   >> 374           servers (mount file systems on them etc.). Communication between
                                                   >> 375           client and server works over TCP/IP networking, but to the client
                                                   >> 376           program this is hidden: it looks like a regular local file access to
                                                   >> 377           a block device special file such as /dev/nd0.
1015                                                  378 
1016 config EFI_STUB                               !! 379           Network block devices also allows you to run a block-device in
1017         bool                                  !! 380           userland (making server and client physically the same computer,
                                                   >> 381           communicating using the loopback network device).
1018                                                  382 
1019 config EFI                                    !! 383           Read <file:Documentation/nbd.txt> for more information, especially
1020         bool "UEFI runtime support"           !! 384           about where to find the server code, which runs in user space and
1021         depends on OF && !XIP_KERNEL          !! 385           does not need special kernel support.
1022         depends on MMU                        << 
1023         default y                             << 
1024         select ARCH_SUPPORTS_ACPI if 64BIT    << 
1025         select EFI_GENERIC_STUB               << 
1026         select EFI_PARAMS_FROM_FDT            << 
1027         select EFI_RUNTIME_WRAPPERS           << 
1028         select EFI_STUB                       << 
1029         select LIBFDT                         << 
1030         select RISCV_ISA_C                    << 
1031         select UCS2_STRING                    << 
1032         help                                  << 
1033           This option provides support for ru << 
1034           by UEFI firmware (such as non-volat << 
1035           clock, and platform reset). A UEFI  << 
1036           allow the kernel to be booted as an << 
1037           is only useful on systems that have << 
1038                                               << 
1039 config DMI                                    << 
1040         bool "Enable support for SMBIOS (DMI) << 
1041         depends on EFI                        << 
1042         default y                             << 
1043         help                                  << 
1044           This enables SMBIOS/DMI feature for << 
1045                                                  386 
1046           This option is only useful on syste !! 387           Note that this has nothing to do with the network file systems NFS
1047           However, even with this option, the !! 388           or Coda; you can say N here even if you intend to use NFS or Coda.
1048           continue to boot on existing non-UE !! 389 
1049                                               !! 390           To compile this driver as a module, choose M here: the
1050 config CC_HAVE_STACKPROTECTOR_TLS             !! 391           module will be called nbd.
1051         def_bool $(cc-option,-mstack-protecto << 
1052                                               << 
1053 config STACKPROTECTOR_PER_TASK                << 
1054         def_bool y                            << 
1055         depends on !RANDSTRUCT                << 
1056         depends on STACKPROTECTOR && CC_HAVE_ << 
1057                                               << 
1058 config PHYS_RAM_BASE_FIXED                    << 
1059         bool "Explicitly specified physical R << 
1060         depends on NONPORTABLE                << 
1061         default n                             << 
1062                                               << 
1063 config PHYS_RAM_BASE                          << 
1064         hex "Platform Physical RAM address"   << 
1065         depends on PHYS_RAM_BASE_FIXED        << 
1066         default "0x80000000"                  << 
1067         help                                  << 
1068           This is the physical address of RAM << 
1069           explicitly specified to run early r << 
1070           from flash to RAM.                  << 
1071                                               << 
1072 config XIP_KERNEL                             << 
1073         bool "Kernel Execute-In-Place from RO << 
1074         depends on MMU && SPARSEMEM && NONPOR << 
1075         # This prevents XIP from being enable << 
1076         # fail to build since XIP doesn't sup << 
1077         depends on !COMPILE_TEST              << 
1078         select PHYS_RAM_BASE_FIXED            << 
1079         help                                  << 
1080           Execute-In-Place allows the kernel  << 
1081           directly addressable by the CPU, su << 
1082           space since the text section of the << 
1083           to RAM.  Read-write sections, such  << 
1084           are still copied to RAM.  The XIP k << 
1085           it has to run directly from flash,  << 
1086           store it.  The flash address used t << 
1087           and for storing it, is configuratio << 
1088           say Y here, you must know the prope << 
1089           store the kernel image depending on << 
1090                                               << 
1091           Also note that the make target beco << 
1092           "make zImage" or "make Image".  The << 
1093           ROM memory will be arch/riscv/boot/ << 
1094                                               << 
1095           SPARSEMEM is required because the k << 
1096           flash resident are not backed by me << 
1097           a struct page on those regions will << 
1098                                                  392 
1099           If unsure, say N.                      393           If unsure, say N.
1100                                                  394 
1101 config XIP_PHYS_ADDR                          !! 395 source "drivers/md/Kconfig"
1102         hex "XIP Kernel Physical Location"    << 
1103         depends on XIP_KERNEL                 << 
1104         default "0x21000000"                  << 
1105         help                                  << 
1106           This is the physical address in you << 
1107           be linked for and stored to.  This  << 
1108           own flash usage.                    << 
1109                                                  396 
1110 config RISCV_ISA_FALLBACK                     !! 397 config BLK_DEV_RAM
1111         bool "Permit falling back to parsing  !! 398         tristate "RAM disk support"
1112         default y                             !! 399         ---help---
                                                   >> 400           Saying Y here will allow you to use a portion of your RAM memory as
                                                   >> 401           a block device, so that you can make file systems on it, read and
                                                   >> 402           write to it and do all the other things that you can do with normal
                                                   >> 403           block devices (such as hard drives). It is usually used to load and
                                                   >> 404           store a copy of a minimal root file system off of a floppy into RAM
                                                   >> 405           during the initial install of Linux.
                                                   >> 406 
                                                   >> 407           Note that the kernel command line option "ramdisk=XX" is now
                                                   >> 408           obsolete. For details, read <file:Documentation/ramdisk.txt>.
                                                   >> 409 
                                                   >> 410           To compile this driver as a module, choose M here: the
                                                   >> 411           module will be called rd.
                                                   >> 412 
                                                   >> 413           Most normal users won't need the RAM disk functionality, and can
                                                   >> 414           thus say N here.
                                                   >> 415 
                                                   >> 416 config BLK_DEV_RAM_SIZE
                                                   >> 417         int "Default RAM disk size"
                                                   >> 418         depends on BLK_DEV_RAM
                                                   >> 419         default "4096"
1113         help                                     420         help
1114           Parsing the "riscv,isa" devicetree  !! 421           The default value is 4096. Only change this if you know what are
1115           replaced by a list of explicitly de !! 422           you doing. If you are using IBM S/390, then set this to 8192.
1116           with existing platforms, the kernel !! 423 
1117           "riscv,isa" property if the replace !! 424 config BLK_DEV_INITRD
1118                                               !! 425         bool "Initial RAM disk (initrd) support"
1119           Selecting N here will result in a k !! 426         depends on BLK_DEV_RAM=y
1120           fallback, unless the commandline "r << 
1121           present.                            << 
1122                                               << 
1123           Please see the dt-binding, located  << 
1124           Documentation/devicetree/bindings/r << 
1125           on the replacement properties, "ris << 
1126           "riscv,isa-extensions".             << 
1127                                               << 
1128 config BUILTIN_DTB                            << 
1129         bool "Built-in device tree"           << 
1130         depends on OF && NONPORTABLE          << 
1131         help                                     427         help
1132           Build a device tree into the Linux  !! 428           The initial RAM disk is a RAM disk that is loaded by the boot loader
1133           This option should be selected if n !! 429           (loadlin or lilo) and that is mounted as root before the normal boot
1134           If unsure, say N.                   !! 430           procedure. It is typically used to load modules needed to mount the
                                                   >> 431           "real" root file system, etc. See <file:Documentation/initrd.txt>
                                                   >> 432           for details.
                                                   >> 433 
                                                   >> 434 endmenu
                                                   >> 435 
                                                   >> 436 # Don't frighten a common SBus user
                                                   >> 437 if PCI
                                                   >> 438 
                                                   >> 439 source "drivers/ide/Kconfig"
                                                   >> 440 
                                                   >> 441 endif
                                                   >> 442 
                                                   >> 443 source "drivers/isdn/Kconfig"
                                                   >> 444 
                                                   >> 445 source "drivers/scsi/Kconfig"
                                                   >> 446 
                                                   >> 447 source "drivers/fc4/Kconfig"
                                                   >> 448 
                                                   >> 449 source "net/Kconfig"
1135                                                  450 
                                                   >> 451 # This one must be before the filesystem configs. -DaveM
1136                                                  452 
1137 config BUILTIN_DTB_SOURCE                     !! 453 menu "Unix98 PTY support"
1138         string "Built-in device tree source"  !! 454 
1139         depends on BUILTIN_DTB                !! 455 config UNIX98_PTYS
                                                   >> 456         bool "Unix98 PTY support"
                                                   >> 457         ---help---
                                                   >> 458           A pseudo terminal (PTY) is a software device consisting of two
                                                   >> 459           halves: a master and a slave. The slave device behaves identical to
                                                   >> 460           a physical terminal; the master device is used by a process to
                                                   >> 461           read data from and write data to the slave, thereby emulating a
                                                   >> 462           terminal. Typical programs for the master side are telnet servers
                                                   >> 463           and xterms.
                                                   >> 464 
                                                   >> 465           Linux has traditionally used the BSD-like names /dev/ptyxx for
                                                   >> 466           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
                                                   >> 467           has a number of problems. The GNU C library glibc 2.1 and later,
                                                   >> 468           however, supports the Unix98 naming standard: in order to acquire a
                                                   >> 469           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
                                                   >> 470           terminal is then made available to the process and the pseudo
                                                   >> 471           terminal slave can be accessed as /dev/pts/<number>. What was
                                                   >> 472           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
                                                   >> 473 
                                                   >> 474           The entries in /dev/pts/ are created on the fly by a virtual
                                                   >> 475           file system; therefore, if you say Y here you should say Y to
                                                   >> 476           "/dev/pts file system for Unix98 PTYs" as well.
                                                   >> 477 
                                                   >> 478           If you want to say Y here, you need to have the C library glibc 2.1
                                                   >> 479           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
                                                   >> 480           Read the instructions in <file:Documentation/Changes> pertaining to
                                                   >> 481           pseudo terminals. It's safe to say N.
                                                   >> 482 
                                                   >> 483 config UNIX98_PTY_COUNT
                                                   >> 484         int "Maximum number of Unix98 PTYs in use (0-2048)"
                                                   >> 485         depends on UNIX98_PTYS
                                                   >> 486         default "256"
1140         help                                     487         help
1141           DTS file path (without suffix, rela !! 488           The maximum number of Unix98 PTYs that can be used at any one time.
1142           for the DTS file that will be used  !! 489           The default is 256, and should be enough for desktop systems. Server
1143           kernel.                             !! 490           machines which support incoming telnet/rlogin/ssh connections and/or
                                                   >> 491           serve several X terminals may want to increase this: every incoming
                                                   >> 492           connection and every xterm uses up one PTY.
1144                                                  493 
1145 endmenu # "Boot options"                      !! 494           When not in use, each additional set of 256 PTYs occupy
                                                   >> 495           approximately 8 KB of kernel memory on 32-bit architectures.
1146                                                  496 
1147 config PORTABLE                               !! 497 endmenu
1148         bool                                  !! 498 
1149         default !NONPORTABLE                  !! 499 source "drivers/input/Kconfig"
1150         select EFI                            << 
1151         select MMU                            << 
1152         select OF                             << 
1153                                                  500 
1154 config ARCH_PROC_KCORE_TEXT                   !! 501 source "fs/Kconfig"
1155         def_bool y                            << 
1156                                                  502 
1157 menu "Power management options"               !! 503 source "sound/Kconfig"
1158                                                  504 
1159 source "kernel/power/Kconfig"                 !! 505 source "drivers/usb/Kconfig"
1160                                                  506 
1161 config ARCH_HIBERNATION_POSSIBLE              !! 507 menu "Watchdog"
1162         def_bool y                            !! 508 
                                                   >> 509 config SOFT_WATCHDOG
                                                   >> 510         tristate "Software watchdog"
                                                   >> 511         help
                                                   >> 512           A software monitoring watchdog. This will fail to reboot your system
                                                   >> 513           from some situations that the hardware watchdog will recover
                                                   >> 514           from. Equally it's a lot cheaper to install.
1163                                                  515 
1164 config ARCH_HIBERNATION_HEADER                !! 516           To compile this driver as a module, choose M here: the
1165         def_bool HIBERNATION                  !! 517           module will be called softdog.
1166                                                  518 
1167 config ARCH_SUSPEND_POSSIBLE                  !! 519 endmenu
1168         def_bool y                            << 
1169                                                  520 
1170 endmenu # "Power management options"          << 
1171                                                  521 
1172 menu "CPU Power Management"                   !! 522 menu "Kernel hacking"
                                                   >> 523 
                                                   >> 524 config DEBUG_SLAB
                                                   >> 525         bool "Debug memory allocations"
                                                   >> 526 
                                                   >> 527 config MAGIC_SYSRQ
                                                   >> 528         bool "Magic SysRq key"
                                                   >> 529         help
                                                   >> 530           If you say Y here, you will have some control over the system even
                                                   >> 531           if the system crashes for example during kernel debugging (e.g., you
                                                   >> 532           will be able to flush the buffer cache to disk, reboot the system
                                                   >> 533           immediately or dump some status information). This is accomplished
                                                   >> 534           by pressing various keys while holding SysRq (Alt+PrintScreen). It
                                                   >> 535           also works on a serial console (on PC hardware at least), if you
                                                   >> 536           send a BREAK and then within 5 seconds a command keypress. The
                                                   >> 537           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
                                                   >> 538           unless you really know what this hack does.
                                                   >> 539 
                                                   >> 540 config DEBUG_SPINLOCK
                                                   >> 541         bool "Spinlock debugging"
                                                   >> 542 
                                                   >> 543 config DEBUG_SPINLOCK_SLEEP
                                                   >> 544         bool "Sleep-inside-spinlock checking"
                                                   >> 545         help
                                                   >> 546           If you say Y here, various routines which may sleep will become very
                                                   >> 547           noisy if they are called with a spinlock held.        
                                                   >> 548 
                                                   >> 549 config DEBUG_BUGVERBOSE
                                                   >> 550         bool "Verbose BUG() reporting (adds 70K)"
                                                   >> 551         help
                                                   >> 552           Say Y here to make BUG() panics output the file name and line number
                                                   >> 553           of the BUG call as well as the EIP and oops trace.  This aids
                                                   >> 554           debugging but costs about 70-100K of memory.
1173                                                  555 
1174 source "drivers/cpuidle/Kconfig"              !! 556 endmenu
1175                                                  557 
1176 source "drivers/cpufreq/Kconfig"              !! 558 source "security/Kconfig"
1177                                                  559 
1178 endmenu # "CPU Power Management"              !! 560 source "crypto/Kconfig"
1179                                                  561 
1180 source "arch/riscv/kvm/Kconfig"               !! 562 source "lib/Kconfig"
1181                                                  563 
1182 source "drivers/acpi/Kconfig"                 << 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php