18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig PROC_FS
38c2ecf20Sopenharmony_ci	bool "/proc file system support" if EXPERT
48c2ecf20Sopenharmony_ci	default y
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  This is a virtual file system providing information about the status
78c2ecf20Sopenharmony_ci	  of the system. "Virtual" means that it doesn't take up any space on
88c2ecf20Sopenharmony_ci	  your hard disk: the files are created on the fly by the kernel when
98c2ecf20Sopenharmony_ci	  you try to access them. Also, you cannot read the files with older
108c2ecf20Sopenharmony_ci	  version of the program less: you need to use more or cat.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	  It's totally cool; for example, "cat /proc/interrupts" gives
138c2ecf20Sopenharmony_ci	  information about what the different IRQs are used for at the moment
148c2ecf20Sopenharmony_ci	  (there is a small number of Interrupt ReQuest lines in your computer
158c2ecf20Sopenharmony_ci	  that are used by the attached devices to gain the CPU's attention --
168c2ecf20Sopenharmony_ci	  often a source of trouble if two devices are mistakenly configured
178c2ecf20Sopenharmony_ci	  to use the same IRQ). The program procinfo to display some
188c2ecf20Sopenharmony_ci	  information about your system gathered from the /proc file system.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  Before you can use the /proc file system, it has to be mounted,
218c2ecf20Sopenharmony_ci	  meaning it has to be given a location in the directory hierarchy.
228c2ecf20Sopenharmony_ci	  That location should be /proc. A command such as "mount -t proc proc
238c2ecf20Sopenharmony_ci	  /proc" or the equivalent line in /etc/fstab does the job.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	  The /proc file system is explained in the file
268c2ecf20Sopenharmony_ci	  <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage
278c2ecf20Sopenharmony_ci	  ("man 5 proc").
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  This option will enlarge your kernel by about 67 KB. Several
308c2ecf20Sopenharmony_ci	  programs depend on this, so everyone should say Y here.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig PROC_KCORE
338c2ecf20Sopenharmony_ci	bool "/proc/kcore support" if !ARM
348c2ecf20Sopenharmony_ci	depends on PROC_FS && MMU
358c2ecf20Sopenharmony_ci	select CRASH_CORE
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  Provides a virtual ELF core file of the live kernel.  This can
388c2ecf20Sopenharmony_ci	  be read with gdb and other ELF tools.  No modifications can be
398c2ecf20Sopenharmony_ci	  made using this mechanism.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig PROC_VMCORE
428c2ecf20Sopenharmony_ci	bool "/proc/vmcore support"
438c2ecf20Sopenharmony_ci	depends on PROC_FS && CRASH_DUMP
448c2ecf20Sopenharmony_ci	default y
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  Exports the dump image of crashed kernel in ELF format.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig PROC_VMCORE_DEVICE_DUMP
498c2ecf20Sopenharmony_ci	bool "Device Hardware/Firmware Log Collection"
508c2ecf20Sopenharmony_ci	depends on PROC_VMCORE
518c2ecf20Sopenharmony_ci	default n
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  After kernel panic, device drivers can collect the device
548c2ecf20Sopenharmony_ci	  specific snapshot of their hardware or firmware before the
558c2ecf20Sopenharmony_ci	  underlying devices are initialized in crash recovery kernel.
568c2ecf20Sopenharmony_ci	  Note that the device driver must be present in the crash
578c2ecf20Sopenharmony_ci	  recovery kernel's initramfs to collect its underlying device
588c2ecf20Sopenharmony_ci	  snapshot.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	  If you say Y here, the collected device dumps will be added
618c2ecf20Sopenharmony_ci	  as ELF notes to /proc/vmcore. You can still disable device
628c2ecf20Sopenharmony_ci	  dump using the kernel command line option 'novmcoredd'.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig PROC_SYSCTL
658c2ecf20Sopenharmony_ci	bool "Sysctl support (/proc/sys)" if EXPERT
668c2ecf20Sopenharmony_ci	depends on PROC_FS
678c2ecf20Sopenharmony_ci	select SYSCTL
688c2ecf20Sopenharmony_ci	default y
698c2ecf20Sopenharmony_ci	help
708c2ecf20Sopenharmony_ci	  The sysctl interface provides a means of dynamically changing
718c2ecf20Sopenharmony_ci	  certain kernel parameters and variables on the fly without requiring
728c2ecf20Sopenharmony_ci	  a recompile of the kernel or reboot of the system.  The primary
738c2ecf20Sopenharmony_ci	  interface is through /proc/sys.  If you say Y here a tree of
748c2ecf20Sopenharmony_ci	  modifiable sysctl entries will be generated beneath the
758c2ecf20Sopenharmony_ci	  /proc/sys directory. They are explained in the files
768c2ecf20Sopenharmony_ci	  in <file:Documentation/admin-guide/sysctl/>.  Note that enabling this
778c2ecf20Sopenharmony_ci	  option will enlarge the kernel by at least 8 KB.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	  As it is generally a good thing, you should say Y here unless
808c2ecf20Sopenharmony_ci	  building a kernel for install/rescue disks or your system is very
818c2ecf20Sopenharmony_ci	  limited in memory.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig PROC_PAGE_MONITOR
848c2ecf20Sopenharmony_ci 	default y
858c2ecf20Sopenharmony_ci	depends on PROC_FS && MMU
868c2ecf20Sopenharmony_ci	bool "Enable /proc page monitoring" if EXPERT
878c2ecf20Sopenharmony_ci 	help
888c2ecf20Sopenharmony_ci	  Various /proc files exist to monitor process memory utilization:
898c2ecf20Sopenharmony_ci	  /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap,
908c2ecf20Sopenharmony_ci	  /proc/kpagecount, and /proc/kpageflags. Disabling these
918c2ecf20Sopenharmony_ci	  interfaces will reduce the size of the kernel by approximately 4kb.
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciconfig PROC_CHILDREN
948c2ecf20Sopenharmony_ci	bool "Include /proc/<pid>/task/<tid>/children file"
958c2ecf20Sopenharmony_ci	default n
968c2ecf20Sopenharmony_ci	help
978c2ecf20Sopenharmony_ci	  Provides a fast way to retrieve first level children pids of a task. See
988c2ecf20Sopenharmony_ci	  <file:Documentation/filesystems/proc.rst> for more information.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci	  Say Y if you are running any user-space software which takes benefit from
1018c2ecf20Sopenharmony_ci	  this interface. For example, rkt is such a piece of software.
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciconfig PROC_PID_ARCH_STATUS
1048c2ecf20Sopenharmony_ci	def_bool n
1058c2ecf20Sopenharmony_ci	depends on PROC_FS
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ciconfig PROC_CPU_RESCTRL
1088c2ecf20Sopenharmony_ci	def_bool n
1098c2ecf20Sopenharmony_ci	depends on PROC_FS
110