cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig (12960B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2config 64BIT
      3	bool "64-bit kernel" if "$(ARCH)" = "sparc"
      4	default "$(ARCH)" = "sparc64"
      5	help
      6	  SPARC is a family of RISC microprocessors designed and marketed by
      7	  Sun Microsystems, incorporated.  They are very widely found in Sun
      8	  workstations and clones.
      9
     10	  Say yes to build a 64-bit kernel - formerly known as sparc64
     11	  Say no to build a 32-bit kernel - formerly known as sparc
     12
     13config SPARC
     14	bool
     15	default y
     16	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
     17	select ARCH_MIGHT_HAVE_PC_SERIO
     18	select DMA_OPS
     19	select OF
     20	select OF_PROMTREE
     21	select HAVE_ASM_MODVERSIONS
     22	select HAVE_ARCH_KGDB if !SMP || SPARC64
     23	select HAVE_ARCH_TRACEHOOK
     24	select HAVE_ARCH_SECCOMP if SPARC64
     25	select HAVE_EXIT_THREAD
     26	select HAVE_PCI
     27	select SYSCTL_EXCEPTION_TRACE
     28	select RTC_CLASS
     29	select RTC_DRV_M48T59
     30	select RTC_SYSTOHC
     31	select HAVE_ARCH_JUMP_LABEL if SPARC64
     32	select GENERIC_IRQ_SHOW
     33	select ARCH_WANT_IPC_PARSE_VERSION
     34	select GENERIC_PCI_IOMAP
     35	select HAVE_NMI_WATCHDOG if SPARC64
     36	select HAVE_CBPF_JIT if SPARC32
     37	select HAVE_EBPF_JIT if SPARC64
     38	select HAVE_DEBUG_BUGVERBOSE
     39	select GENERIC_SMP_IDLE_THREAD
     40	select MODULES_USE_ELF_RELA
     41	select PCI_SYSCALL if PCI
     42	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
     43	select ODD_RT_SIGACTION
     44	select OLD_SIGSUSPEND
     45	select CPU_NO_EFFICIENT_FFS
     46	select LOCKDEP_SMALL if LOCKDEP
     47	select NEED_DMA_MAP_STATE
     48	select NEED_SG_DMA_LENGTH
     49	select TRACE_IRQFLAGS_SUPPORT
     50
     51config SPARC32
     52	def_bool !64BIT
     53	select ARCH_32BIT_OFF_T
     54	select ARCH_HAS_SYNC_DMA_FOR_CPU
     55	select CLZ_TAB
     56	select DMA_DIRECT_REMAP
     57	select GENERIC_ATOMIC64
     58	select HAVE_UID16
     59	select OLD_SIGACTION
     60	select ZONE_DMA
     61
     62config SPARC64
     63	def_bool 64BIT
     64	select ALTERNATE_USER_ADDRESS_SPACE
     65	select HAVE_FUNCTION_TRACER
     66	select HAVE_FUNCTION_GRAPH_TRACER
     67	select HAVE_KRETPROBES
     68	select HAVE_KPROBES
     69	select MMU_GATHER_RCU_TABLE_FREE if SMP
     70	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
     71	select HAVE_DYNAMIC_FTRACE
     72	select HAVE_FTRACE_MCOUNT_RECORD
     73	select HAVE_SYSCALL_TRACEPOINTS
     74	select HAVE_CONTEXT_TRACKING
     75	select HAVE_TIF_NOHZ
     76	select HAVE_DEBUG_KMEMLEAK
     77	select IOMMU_HELPER
     78	select SPARSE_IRQ
     79	select RTC_DRV_CMOS
     80	select RTC_DRV_BQ4802
     81	select RTC_DRV_SUN4V
     82	select RTC_DRV_STARFIRE
     83	select HAVE_PERF_EVENTS
     84	select PERF_USE_VMALLOC
     85	select ARCH_HAVE_NMI_SAFE_CMPXCHG
     86	select HAVE_C_RECORDMCOUNT
     87	select ARCH_HAS_VM_GET_PAGE_PROT
     88	select HAVE_ARCH_AUDITSYSCALL
     89	select ARCH_SUPPORTS_ATOMIC_RMW
     90	select ARCH_SUPPORTS_DEBUG_PAGEALLOC
     91	select HAVE_NMI
     92	select HAVE_REGS_AND_STACK_ACCESS_API
     93	select ARCH_USE_QUEUED_RWLOCKS
     94	select ARCH_USE_QUEUED_SPINLOCKS
     95	select GENERIC_TIME_VSYSCALL
     96	select ARCH_CLOCKSOURCE_DATA
     97	select ARCH_HAS_PTE_SPECIAL
     98	select PCI_DOMAINS if PCI
     99	select ARCH_HAS_GIGANTIC_PAGE
    100	select HAVE_SOFTIRQ_ON_OWN_STACK
    101	select HAVE_SETUP_PER_CPU_AREA
    102	select NEED_PER_CPU_EMBED_FIRST_CHUNK
    103	select NEED_PER_CPU_PAGE_FIRST_CHUNK
    104
    105config ARCH_PROC_KCORE_TEXT
    106	def_bool y
    107
    108config CPU_BIG_ENDIAN
    109	def_bool y
    110
    111config ARCH_ATU
    112	bool
    113	default y if SPARC64
    114
    115config STACKTRACE_SUPPORT
    116	bool
    117	default y if SPARC64
    118
    119config LOCKDEP_SUPPORT
    120	bool
    121	default y if SPARC64
    122
    123config ARCH_HIBERNATION_POSSIBLE
    124	def_bool y if SPARC64
    125
    126config AUDIT_ARCH
    127	bool
    128	default y
    129
    130config MMU
    131	bool
    132	default y
    133
    134config HIGHMEM
    135	bool
    136	default y if SPARC32
    137	select KMAP_LOCAL
    138
    139config GENERIC_ISA_DMA
    140	bool
    141	default y if SPARC32
    142
    143config PGTABLE_LEVELS
    144	default 4 if 64BIT
    145	default 3
    146
    147config ARCH_SUPPORTS_UPROBES
    148	def_bool y if SPARC64
    149
    150menu "Processor type and features"
    151
    152config SMP
    153	bool "Symmetric multi-processing support"
    154	help
    155	  This enables support for systems with more than one CPU. If you have
    156	  a system with only one CPU, say N. If you have a system with more
    157	  than one CPU, say Y.
    158
    159	  If you say N here, the kernel will run on uni- and multiprocessor
    160	  machines, but will use only one CPU of a multiprocessor machine. If
    161	  you say Y here, the kernel will run on many, but not all,
    162	  uniprocessor machines. On a uniprocessor machine, the kernel
    163	  will run faster if you say N here.
    164
    165	  People using multiprocessor machines who say Y here should also say
    166	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
    167	  Management" code will be disabled if you say Y here.
    168
    169	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
    170	  available at <https://www.tldp.org/docs.html#howto>.
    171
    172	  If you don't know what to do here, say N.
    173
    174config NR_CPUS
    175	int "Maximum number of CPUs"
    176	depends on SMP
    177	range 2 32 if SPARC32
    178	range 2 4096 if SPARC64
    179	default 32 if SPARC32
    180	default 4096 if SPARC64
    181
    182source "kernel/Kconfig.hz"
    183
    184config GENERIC_HWEIGHT
    185	bool
    186	default y
    187
    188config GENERIC_CALIBRATE_DELAY
    189	bool
    190	default y
    191
    192config ARCH_MAY_HAVE_PC_FDC
    193	bool
    194	default y
    195
    196config EMULATED_CMPXCHG
    197	bool
    198	default y if SPARC32
    199	help
    200	  Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
    201	  is emulated, and therefore it is not completely atomic.
    202
    203# Makefile helpers
    204config SPARC32_SMP
    205	bool
    206	default y
    207	depends on SPARC32 && SMP
    208
    209config SPARC64_SMP
    210	bool
    211	default y
    212	depends on SPARC64 && SMP
    213
    214config EARLYFB
    215	bool "Support for early boot text console"
    216	default y
    217	depends on SPARC64
    218	help
    219	  Say Y here to enable a faster early framebuffer boot console.
    220
    221config HOTPLUG_CPU
    222	bool "Support for hot-pluggable CPUs"
    223	depends on SPARC64 && SMP
    224	help
    225	  Say Y here to experiment with turning CPUs off and on.  CPUs
    226	  can be controlled through /sys/devices/system/cpu/cpu#.
    227	  Say N if you want to disable CPU hotplug.
    228
    229if SPARC64
    230source "drivers/cpufreq/Kconfig"
    231endif
    232
    233config US3_MC
    234	tristate "UltraSPARC-III Memory Controller driver"
    235	depends on SPARC64
    236	default y
    237	help
    238	  This adds a driver for the UltraSPARC-III memory controller.
    239	  Loading this driver allows exact mnemonic strings to be
    240	  printed in the event of a memory error, so that the faulty DIMM
    241	  on the motherboard can be matched to the error.
    242
    243	  If in doubt, say Y, as this information can be very useful.
    244
    245# Global things across all Sun machines.
    246config GENERIC_LOCKBREAK
    247	bool
    248	default y
    249	depends on SPARC64 && SMP && PREEMPTION
    250
    251config NUMA
    252	bool "NUMA support"
    253	depends on SPARC64 && SMP
    254
    255config NODES_SHIFT
    256	int "Maximum NUMA Nodes (as a power of 2)"
    257	range 4 5 if SPARC64
    258	default "5"
    259	depends on NUMA
    260	help
    261	  Specify the maximum number of NUMA Nodes available on the target
    262	  system.  Increases memory reserved to accommodate various tables.
    263
    264config ARCH_SPARSEMEM_ENABLE
    265	def_bool y if SPARC64
    266	select SPARSEMEM_VMEMMAP_ENABLE
    267
    268config ARCH_SPARSEMEM_DEFAULT
    269	def_bool y if SPARC64
    270
    271config FORCE_MAX_ZONEORDER
    272	int "Maximum zone order"
    273	default "13"
    274	help
    275	  The kernel memory allocator divides physically contiguous memory
    276	  blocks into "zones", where each zone is a power of two number of
    277	  pages.  This option selects the largest power of two that the kernel
    278	  keeps in the memory allocator.  If you need to allocate very large
    279	  blocks of physically contiguous memory, then you may need to
    280	  increase this value.
    281
    282	  This config option is actually maximum order plus one. For example,
    283	  a value of 13 means that the largest free memory block is 2^12 pages.
    284
    285if SPARC64
    286source "kernel/power/Kconfig"
    287endif
    288
    289config SCHED_SMT
    290	bool "SMT (Hyperthreading) scheduler support"
    291	depends on SPARC64 && SMP
    292	default y
    293	help
    294	  SMT scheduler support improves the CPU scheduler's decision making
    295	  when dealing with SPARC cpus at a cost of slightly increased overhead
    296	  in some places. If unsure say N here.
    297
    298config SCHED_MC
    299	bool "Multi-core scheduler support"
    300	depends on SPARC64 && SMP
    301	default y
    302	help
    303	  Multi-core scheduler support improves the CPU scheduler's decision
    304	  making when dealing with multi-core CPU chips at a cost of slightly
    305	  increased overhead in some places. If unsure say N here.
    306
    307config CMDLINE_BOOL
    308	bool "Default bootloader kernel arguments"
    309	depends on SPARC64
    310
    311config CMDLINE
    312	string "Initial kernel command string"
    313	depends on CMDLINE_BOOL
    314	default "console=ttyS0,9600 root=/dev/sda1"
    315	help
    316	  Say Y here if you want to be able to pass default arguments to
    317	  the kernel. This will be overridden by the bootloader, if you
    318	  use one (such as SILO). This is most useful if you want to boot
    319	  a kernel from TFTP, and want default options to be available
    320	  with having them passed on the command line.
    321
    322	  NOTE: This option WILL override the PROM bootargs setting!
    323
    324config SUN_PM
    325	bool
    326	default y if SPARC32
    327	help
    328	  Enable power management and CPU standby features on supported
    329	  SPARC platforms.
    330
    331config SPARC_LED
    332	tristate "Sun4m LED driver"
    333	depends on SPARC32
    334	help
    335	  This driver toggles the front-panel LED on sun4m systems
    336	  in a user-specifiable manner.  Its state can be probed
    337	  by reading /proc/led and its blinking mode can be changed
    338	  via writes to /proc/led
    339
    340config SERIAL_CONSOLE
    341	bool
    342	depends on SPARC32
    343	default y
    344	help
    345	  If you say Y here, it will be possible to use a serial port as the
    346	  system console (the system console is the device which receives all
    347	  kernel messages and warnings and which allows logins in single user
    348	  mode). This could be useful if some terminal or printer is connected
    349	  to that serial port.
    350
    351	  Even if you say Y here, the currently visible virtual console
    352	  (/dev/tty0) will still be used as the system console by default, but
    353	  you can alter that using a kernel command line option such as
    354	  "console=ttyS1". (Try "man bootparam" or see the documentation of
    355	  your boot loader (silo) about how to pass options to the kernel at
    356	  boot time.)
    357
    358	  If you don't have a graphics card installed and you say Y here, the
    359	  kernel will automatically use the first serial line, /dev/ttyS0, as
    360	  system console.
    361
    362	  If unsure, say N.
    363
    364config SPARC_LEON
    365	bool "Sparc Leon processor family"
    366	depends on SPARC32
    367	select USB_EHCI_BIG_ENDIAN_MMIO
    368	select USB_EHCI_BIG_ENDIAN_DESC
    369	select USB_UHCI_BIG_ENDIAN_MMIO
    370	select USB_UHCI_BIG_ENDIAN_DESC
    371	help
    372	  If you say Y here if you are running on a SPARC-LEON processor.
    373	  The LEON processor is a synthesizable VHDL model of the
    374	  SPARC-v8 standard. LEON is  part of the GRLIB collection of
    375	  IP cores that are distributed under GPL. GRLIB can be downloaded
    376	  from www.gaisler.com. You can download a sparc-linux cross-compilation
    377	  toolchain at www.gaisler.com.
    378
    379if SPARC_LEON
    380menu "U-Boot options"
    381
    382config UBOOT_LOAD_ADDR
    383	hex "uImage Load Address"
    384	default 0x40004000
    385	help
    386	 U-Boot kernel load address, the address in physical address space
    387	 where u-boot will place the Linux kernel before booting it.
    388	 This address is normally the base address of main memory + 0x4000.
    389
    390config UBOOT_FLASH_ADDR
    391	hex "uImage.o Load Address"
    392	default 0x00080000
    393	help
    394	 Optional setting only affecting the uImage.o ELF-image used to
    395	 download the uImage file to the target using a ELF-loader other than
    396	 U-Boot. It may for example be used to download an uImage to FLASH with
    397	 the GRMON utility before even starting u-boot.
    398
    399config UBOOT_ENTRY_ADDR
    400	hex "uImage Entry Address"
    401	default 0xf0004000
    402	help
    403	 Do not change this unless you know what you're doing. This is
    404	 hardcoded by the SPARC32 and LEON port.
    405
    406	 This is the virtual address u-boot jumps to when booting the Linux
    407	 Kernel.
    408
    409endmenu
    410endif
    411
    412endmenu
    413
    414menu "Bus options (PCI etc.)"
    415config SBUS
    416	bool
    417	default y
    418
    419config SBUSCHAR
    420	bool
    421	default y
    422
    423config SUN_LDOMS
    424	bool "Sun Logical Domains support"
    425	depends on SPARC64
    426	help
    427	  Say Y here is you want to support virtual devices via
    428	  Logical Domains.
    429
    430config PCIC_PCI
    431	bool
    432	depends on PCI && SPARC32 && !SPARC_LEON
    433	default y
    434
    435config LEON_PCI
    436	bool
    437	depends on PCI && SPARC_LEON
    438	default y
    439
    440config SPARC_GRPCI1
    441	bool "GRPCI Host Bridge Support"
    442	depends on LEON_PCI
    443	default y
    444	help
    445	  Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
    446	  PCI host controller is typically found in GRLIB SPARC32/LEON
    447	  systems. The driver has one property (all_pci_errors) controlled
    448	  from the bootloader that makes the GRPCI to generate interrupts
    449	  on detected PCI Parity and System errors.
    450
    451config SPARC_GRPCI2
    452	bool "GRPCI2 Host Bridge Support"
    453	depends on LEON_PCI
    454	default y
    455	help
    456	  Say Y here to include the GRPCI2 Host Bridge Driver.
    457
    458config SUN_OPENPROMFS
    459	tristate "Openprom tree appears in /proc/openprom"
    460	help
    461	  If you say Y, the OpenPROM device tree will be available as a
    462	  virtual file system, which you can mount to /proc/openprom by "mount
    463	  -t openpromfs none /proc/openprom".
    464
    465	  To compile the /proc/openprom support as a module, choose M here: the
    466	  module will be called openpromfs.
    467
    468	  Only choose N if you know in advance that you will not need to modify
    469	  OpenPROM settings on the running system.
    470
    471# Makefile helpers
    472config SPARC64_PCI
    473	bool
    474	default y
    475	depends on SPARC64 && PCI
    476
    477config SPARC64_PCI_MSI
    478	bool
    479	default y
    480	depends on SPARC64_PCI && PCI_MSI
    481
    482endmenu
    483
    484config COMPAT
    485	bool
    486	depends on SPARC64
    487	default y
    488	select HAVE_UID16
    489	select ARCH_WANT_OLD_COMPAT_IPC
    490	select COMPAT_OLD_SIGACTION
    491
    492source "drivers/sbus/char/Kconfig"