162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig PROC_FS
362306a36Sopenharmony_ci	bool "/proc file system support" if EXPERT
462306a36Sopenharmony_ci	default y
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  This is a virtual file system providing information about the status
762306a36Sopenharmony_ci	  of the system. "Virtual" means that it doesn't take up any space on
862306a36Sopenharmony_ci	  your hard disk: the files are created on the fly by the kernel when
962306a36Sopenharmony_ci	  you try to access them. Also, you cannot read the files with older
1062306a36Sopenharmony_ci	  version of the program less: you need to use more or cat.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  It's totally cool; for example, "cat /proc/interrupts" gives
1362306a36Sopenharmony_ci	  information about what the different IRQs are used for at the moment
1462306a36Sopenharmony_ci	  (there is a small number of Interrupt ReQuest lines in your computer
1562306a36Sopenharmony_ci	  that are used by the attached devices to gain the CPU's attention --
1662306a36Sopenharmony_ci	  often a source of trouble if two devices are mistakenly configured
1762306a36Sopenharmony_ci	  to use the same IRQ). The program procinfo to display some
1862306a36Sopenharmony_ci	  information about your system gathered from the /proc file system.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  Before you can use the /proc file system, it has to be mounted,
2162306a36Sopenharmony_ci	  meaning it has to be given a location in the directory hierarchy.
2262306a36Sopenharmony_ci	  That location should be /proc. A command such as "mount -t proc proc
2362306a36Sopenharmony_ci	  /proc" or the equivalent line in /etc/fstab does the job.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  The /proc file system is explained in the file
2662306a36Sopenharmony_ci	  <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage
2762306a36Sopenharmony_ci	  ("man 5 proc").
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	  This option will enlarge your kernel by about 67 KB. Several
3062306a36Sopenharmony_ci	  programs depend on this, so everyone should say Y here.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig PROC_KCORE
3362306a36Sopenharmony_ci	bool "/proc/kcore support" if !ARM
3462306a36Sopenharmony_ci	depends on PROC_FS && MMU
3562306a36Sopenharmony_ci	select CRASH_CORE
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  Provides a virtual ELF core file of the live kernel.  This can
3862306a36Sopenharmony_ci	  be read with gdb and other ELF tools.  No modifications can be
3962306a36Sopenharmony_ci	  made using this mechanism.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig PROC_VMCORE
4262306a36Sopenharmony_ci	bool "/proc/vmcore support"
4362306a36Sopenharmony_ci	depends on PROC_FS && CRASH_DUMP
4462306a36Sopenharmony_ci	default y
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  Exports the dump image of crashed kernel in ELF format.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig PROC_VMCORE_DEVICE_DUMP
4962306a36Sopenharmony_ci	bool "Device Hardware/Firmware Log Collection"
5062306a36Sopenharmony_ci	depends on PROC_VMCORE
5162306a36Sopenharmony_ci	default n
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  After kernel panic, device drivers can collect the device
5462306a36Sopenharmony_ci	  specific snapshot of their hardware or firmware before the
5562306a36Sopenharmony_ci	  underlying devices are initialized in crash recovery kernel.
5662306a36Sopenharmony_ci	  Note that the device driver must be present in the crash
5762306a36Sopenharmony_ci	  recovery kernel's initramfs to collect its underlying device
5862306a36Sopenharmony_ci	  snapshot.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  If you say Y here, the collected device dumps will be added
6162306a36Sopenharmony_ci	  as ELF notes to /proc/vmcore. You can still disable device
6262306a36Sopenharmony_ci	  dump using the kernel command line option 'novmcoredd'.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig PROC_SYSCTL
6562306a36Sopenharmony_ci	bool "Sysctl support (/proc/sys)" if EXPERT
6662306a36Sopenharmony_ci	depends on PROC_FS
6762306a36Sopenharmony_ci	select SYSCTL
6862306a36Sopenharmony_ci	default y
6962306a36Sopenharmony_ci	help
7062306a36Sopenharmony_ci	  The sysctl interface provides a means of dynamically changing
7162306a36Sopenharmony_ci	  certain kernel parameters and variables on the fly without requiring
7262306a36Sopenharmony_ci	  a recompile of the kernel or reboot of the system.  The primary
7362306a36Sopenharmony_ci	  interface is through /proc/sys.  If you say Y here a tree of
7462306a36Sopenharmony_ci	  modifiable sysctl entries will be generated beneath the
7562306a36Sopenharmony_ci	  /proc/sys directory. They are explained in the files
7662306a36Sopenharmony_ci	  in <file:Documentation/admin-guide/sysctl/>.  Note that enabling this
7762306a36Sopenharmony_ci	  option will enlarge the kernel by at least 8 KB.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	  As it is generally a good thing, you should say Y here unless
8062306a36Sopenharmony_ci	  building a kernel for install/rescue disks or your system is very
8162306a36Sopenharmony_ci	  limited in memory.
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig PROC_PAGE_MONITOR
8462306a36Sopenharmony_ci 	default y
8562306a36Sopenharmony_ci	depends on PROC_FS && MMU
8662306a36Sopenharmony_ci	bool "Enable /proc page monitoring" if EXPERT
8762306a36Sopenharmony_ci 	help
8862306a36Sopenharmony_ci	  Various /proc files exist to monitor process memory utilization:
8962306a36Sopenharmony_ci	  /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap,
9062306a36Sopenharmony_ci	  /proc/kpagecount, and /proc/kpageflags. Disabling these
9162306a36Sopenharmony_ci	  interfaces will reduce the size of the kernel by approximately 4kb.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciconfig PROC_CHILDREN
9462306a36Sopenharmony_ci	bool "Include /proc/<pid>/task/<tid>/children file"
9562306a36Sopenharmony_ci	depends on PROC_FS
9662306a36Sopenharmony_ci	default n
9762306a36Sopenharmony_ci	help
9862306a36Sopenharmony_ci	  Provides a fast way to retrieve first level children pids of a task. See
9962306a36Sopenharmony_ci	  <file:Documentation/filesystems/proc.rst> for more information.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	  Say Y if you are running any user-space software which takes benefit from
10262306a36Sopenharmony_ci	  this interface. For example, rkt is such a piece of software.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ciconfig PROC_PID_ARCH_STATUS
10562306a36Sopenharmony_ci	def_bool n
10662306a36Sopenharmony_ci	depends on PROC_FS
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciconfig PROC_CPU_RESCTRL
10962306a36Sopenharmony_ci	def_bool n
11062306a36Sopenharmony_ci	depends on PROC_FS
111