| # SPDX-License-Identifier: GPL-2.0-only |
| config PSTORE |
| tristate "Persistent store support" |
| default n |
| help |
| This option enables generic access to platform level |
| persistent storage via "pstore" filesystem that can |
| be mounted as /dev/pstore. Only useful if you have |
| a platform level driver that registers with pstore to |
| provide the data, so you probably should just go say "Y" |
| (or "M") to a platform specific persistent store driver |
| (e.g. ACPI_APEI on X86) which will select this for you. |
| If you don't have a platform persistent store driver, |
| say N. |
| |
| config PSTORE_DEFAULT_KMSG_BYTES |
| int "Default kernel log storage space" if EXPERT |
| depends on PSTORE |
| default "10240" |
| help |
| Defines default size of pstore kernel log storage. |
| Can be enlarged if needed, not recommended to shrink it. |
| |
| config PSTORE_COMPRESS |
| bool "Pstore compression (deflate)" |
| depends on PSTORE |
| select ZLIB_INFLATE |
| select ZLIB_DEFLATE |
| default y |
| help |
| Whether pstore records should be compressed before being written to |
| the backing store. This is implemented using the zlib 'deflate' |
| algorithm, using the library implementation instead of using the full |
| blown crypto API. This reduces the risk of secondary oopses or other |
| problems while pstore is recording panic metadata. |
| |
| config PSTORE_CONSOLE |
| bool "Log kernel console messages" |
| depends on PSTORE |
| help |
| When the option is enabled, pstore will log all kernel |
| messages, even if no oops or panic happened. |
| |
| config PSTORE_PMSG |
| bool "Log user space messages" |
| depends on PSTORE |
| select RT_MUTEXES |
| help |
| When the option is enabled, pstore will export a character |
| interface /dev/pmsg0 to log user space messages. On reboot |
| data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID]. |
| |
| If unsure, say N. |
| |
| config PSTORE_FTRACE |
| bool "Persistent function tracer" |
| depends on PSTORE |
| depends on FUNCTION_TRACER |
| depends on DEBUG_FS |
| help |
| With this option kernel traces function calls into a persistent |
| ram buffer that can be decoded and dumped after reboot through |
| pstore filesystem. It can be used to determine what function |
| was last called before a reset or panic. |
| |
| If unsure, say N. |
| |
| config PSTORE_RAM |
| tristate "Log panic/oops to a RAM buffer" |
| depends on PSTORE |
| depends on HAS_IOMEM |
| select REED_SOLOMON |
| select REED_SOLOMON_ENC8 |
| select REED_SOLOMON_DEC8 |
| help |
| This enables panic and oops messages to be logged to a circular |
| buffer in RAM where it can be read back at some later point. |
| |
| Note that for historical reasons, the module will be named |
| "ramoops.ko". |
| |
| For more information, see Documentation/admin-guide/ramoops.rst. |
| |
| config PSTORE_ZONE |
| tristate |
| depends on PSTORE |
| help |
| The common layer for pstore/blk (and pstore/ram in the future) |
| to manage storage in zones. |
| |
| config PSTORE_BLK |
| tristate "Log panic/oops to a block device" |
| depends on PSTORE |
| depends on BLOCK |
| select PSTORE_ZONE |
| default n |
| help |
| This enables panic and oops message to be logged to a block dev |
| where it can be read back at some later point. |
| |
| For more information, see Documentation/admin-guide/pstore-blk.rst |
| |
| If unsure, say N. |
| |
| config PSTORE_BLK_BLKDEV |
| string "block device identifier" |
| depends on PSTORE_BLK |
| default "" |
| help |
| Which block device should be used for pstore/blk. |
| |
| It accepts the following variants: |
| 1) <hex_major><hex_minor> device number in hexadecimal representation, |
| with no leading 0x, for example b302. |
| 2) /dev/<disk_name> represents the device name of disk |
| 3) /dev/<disk_name><decimal> represents the device name and number |
| of partition - device number of disk plus the partition number |
| 4) /dev/<disk_name>p<decimal> - same as the above, this form is |
| used when disk name of partitioned disk ends with a digit. |
| 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the |
| unique id of a partition if the partition table provides it. |
| The UUID may be either an EFI/GPT UUID, or refer to an MSDOS |
| partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero- |
| filled hex representation of the 32-bit "NT disk signature", and PP |
| is a zero-filled hex representation of the 1-based partition number. |
| 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation |
| to a partition with a known unique id. |
| 7) <major>:<minor> major and minor number of the device separated by |
| a colon. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |
| |
| config PSTORE_BLK_KMSG_SIZE |
| int "Size in Kbytes of kmsg dump log to store" |
| depends on PSTORE_BLK |
| default 64 |
| help |
| This just sets size of kmsg dump (oops, panic, etc) log for |
| pstore/blk. The size is in KB and must be a multiple of 4. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |
| |
| config PSTORE_BLK_MAX_REASON |
| int "Maximum kmsg dump reason to store" |
| depends on PSTORE_BLK |
| default 2 |
| help |
| The maximum reason for kmsg dumps to store. The default is |
| 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's |
| enum kmsg_dump_reason for more details. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |
| |
| config PSTORE_BLK_PMSG_SIZE |
| int "Size in Kbytes of pmsg to store" |
| depends on PSTORE_BLK |
| depends on PSTORE_PMSG |
| default 64 |
| help |
| This just sets size of pmsg (pmsg_size) for pstore/blk. The size is |
| in KB and must be a multiple of 4. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |
| |
| config PSTORE_BLK_CONSOLE_SIZE |
| int "Size in Kbytes of console log to store" |
| depends on PSTORE_BLK |
| depends on PSTORE_CONSOLE |
| default 64 |
| help |
| This just sets size of console log (console_size) to store via |
| pstore/blk. The size is in KB and must be a multiple of 4. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |
| |
| config PSTORE_BLK_FTRACE_SIZE |
| int "Size in Kbytes of ftrace log to store" |
| depends on PSTORE_BLK |
| depends on PSTORE_FTRACE |
| default 64 |
| help |
| This just sets size of ftrace log (ftrace_size) for pstore/blk. The |
| size is in KB and must be a multiple of 4. |
| |
| NOTE that, both Kconfig and module parameters can configure |
| pstore/blk, but module parameters have priority over Kconfig. |