Tony Luck | ca01d6d | 2010-12-28 14:25:21 -0800 | [diff] [blame] | 1 | config PSTORE |
Geliang Tang | ee1d267 | 2015-10-20 00:39:03 -0700 | [diff] [blame] | 2 | tristate "Persistent store support" |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 3 | select CRYPTO if PSTORE_COMPRESS |
Tony Luck | ca01d6d | 2010-12-28 14:25:21 -0800 | [diff] [blame] | 4 | default n |
| 5 | help |
| 6 | This option enables generic access to platform level |
| 7 | persistent storage via "pstore" filesystem that can |
| 8 | be mounted as /dev/pstore. Only useful if you have |
| 9 | a platform level driver that registers with pstore to |
| 10 | provide the data, so you probably should just go say "Y" |
| 11 | (or "M") to a platform specific persistent store driver |
| 12 | (e.g. ACPI_APEI on X86) which will select this for you. |
| 13 | If you don't have a platform persistent store driver, |
| 14 | say N. |
Anton Vorontsov | 1894a25 | 2012-05-16 05:43:08 -0700 | [diff] [blame] | 15 | |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 16 | config PSTORE_DEFLATE_COMPRESS |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 17 | tristate "DEFLATE (ZLIB) compression" |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 18 | default y |
| 19 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 20 | select CRYPTO_DEFLATE |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 21 | help |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 22 | This option enables DEFLATE (also known as ZLIB) compression |
| 23 | algorithm support. |
Geliang Tang | 8cfc8dd | 2016-02-18 22:04:22 +0800 | [diff] [blame] | 24 | |
| 25 | config PSTORE_LZO_COMPRESS |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 26 | tristate "LZO compression" |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 27 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 28 | select CRYPTO_LZO |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 29 | help |
| 30 | This option enables LZO compression algorithm support. |
Geliang Tang | 8cfc8dd | 2016-02-18 22:04:22 +0800 | [diff] [blame] | 31 | |
| 32 | config PSTORE_LZ4_COMPRESS |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 33 | tristate "LZ4 compression" |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 34 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 35 | select CRYPTO_LZ4 |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 36 | help |
| 37 | This option enables LZ4 compression algorithm support. |
Geliang Tang | 239b716 | 2018-02-13 14:40:39 +0800 | [diff] [blame] | 38 | |
| 39 | config PSTORE_LZ4HC_COMPRESS |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 40 | tristate "LZ4HC compression" |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 41 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 42 | select CRYPTO_LZ4HC |
Geliang Tang | 239b716 | 2018-02-13 14:40:39 +0800 | [diff] [blame] | 43 | help |
| 44 | This option enables LZ4HC (high compression) mode algorithm. |
| 45 | |
| 46 | config PSTORE_842_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 47 | bool "842 compression" |
| 48 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 49 | select CRYPTO_842 |
Geliang Tang | 239b716 | 2018-02-13 14:40:39 +0800 | [diff] [blame] | 50 | help |
| 51 | This option enables 842 compression algorithm support. |
| 52 | |
Geliang Tang | 1021bcf | 2018-08-01 19:23:37 +0800 | [diff] [blame] | 53 | config PSTORE_ZSTD_COMPRESS |
| 54 | bool "zstd compression" |
| 55 | depends on PSTORE |
| 56 | select CRYPTO_ZSTD |
| 57 | help |
| 58 | This option enables zstd compression algorithm support. |
| 59 | |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 60 | config PSTORE_COMPRESS |
| 61 | def_bool y |
| 62 | depends on PSTORE |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 63 | depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS || \ |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 64 | PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS || \ |
Geliang Tang | 1021bcf | 2018-08-01 19:23:37 +0800 | [diff] [blame] | 65 | PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 66 | |
| 67 | choice |
| 68 | prompt "Default pstore compression algorithm" |
| 69 | depends on PSTORE_COMPRESS |
| 70 | help |
| 71 | This option chooses the default active compression algorithm. |
| 72 | This change be changed at boot with "pstore.compress=..." on |
| 73 | the kernel command line. |
| 74 | |
Geliang Tang | 1021bcf | 2018-08-01 19:23:37 +0800 | [diff] [blame] | 75 | Currently, pstore has support for 6 compression algorithms: |
| 76 | deflate, lzo, lz4, lz4hc, 842 and zstd. |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 77 | |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 78 | The default compression algorithm is deflate. |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 79 | |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 80 | config PSTORE_DEFLATE_COMPRESS_DEFAULT |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 81 | bool "deflate" if PSTORE_DEFLATE_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 82 | |
| 83 | config PSTORE_LZO_COMPRESS_DEFAULT |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 84 | bool "lzo" if PSTORE_LZO_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 85 | |
| 86 | config PSTORE_LZ4_COMPRESS_DEFAULT |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 87 | bool "lz4" if PSTORE_LZ4_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 88 | |
| 89 | config PSTORE_LZ4HC_COMPRESS_DEFAULT |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 90 | bool "lz4hc" if PSTORE_LZ4HC_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 91 | |
| 92 | config PSTORE_842_COMPRESS_DEFAULT |
Arnd Bergmann | 58eb5b67 | 2018-03-15 16:34:08 +0100 | [diff] [blame] | 93 | bool "842" if PSTORE_842_COMPRESS |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 94 | |
Geliang Tang | 1021bcf | 2018-08-01 19:23:37 +0800 | [diff] [blame] | 95 | config PSTORE_ZSTD_COMPRESS_DEFAULT |
| 96 | bool "zstd" if PSTORE_ZSTD_COMPRESS |
| 97 | |
Geliang Tang | 8cfc8dd | 2016-02-18 22:04:22 +0800 | [diff] [blame] | 98 | endchoice |
| 99 | |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 100 | config PSTORE_COMPRESS_DEFAULT |
| 101 | string |
| 102 | depends on PSTORE_COMPRESS |
Geliang Tang | cb3bee0 | 2018-03-09 18:51:07 +0800 | [diff] [blame] | 103 | default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 104 | default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT |
| 105 | default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT |
| 106 | default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT |
| 107 | default "842" if PSTORE_842_COMPRESS_DEFAULT |
Geliang Tang | 1021bcf | 2018-08-01 19:23:37 +0800 | [diff] [blame] | 108 | default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT |
Kees Cook | fe1d475 | 2018-03-06 15:57:38 -0800 | [diff] [blame] | 109 | |
Anton Vorontsov | f29e595 | 2012-05-26 06:20:19 -0700 | [diff] [blame] | 110 | config PSTORE_CONSOLE |
| 111 | bool "Log kernel console messages" |
| 112 | depends on PSTORE |
| 113 | help |
| 114 | When the option is enabled, pstore will log all kernel |
| 115 | messages, even if no oops or panic happened. |
| 116 | |
Mark Salyzyn | 9d5438f | 2015-01-16 16:01:10 -0800 | [diff] [blame] | 117 | config PSTORE_PMSG |
| 118 | bool "Log user space messages" |
| 119 | depends on PSTORE |
| 120 | help |
| 121 | When the option is enabled, pstore will export a character |
| 122 | interface /dev/pmsg0 to log user space messages. On reboot |
| 123 | data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID]. |
| 124 | |
| 125 | If unsure, say N. |
| 126 | |
Anton Vorontsov | 060287b | 2012-07-09 17:10:41 -0700 | [diff] [blame] | 127 | config PSTORE_FTRACE |
| 128 | bool "Persistent function tracer" |
| 129 | depends on PSTORE |
| 130 | depends on FUNCTION_TRACER |
Anton Vorontsov | 65f8c95 | 2012-07-17 14:26:15 -0700 | [diff] [blame] | 131 | depends on DEBUG_FS |
Anton Vorontsov | 060287b | 2012-07-09 17:10:41 -0700 | [diff] [blame] | 132 | help |
| 133 | With this option kernel traces function calls into a persistent |
| 134 | ram buffer that can be decoded and dumped after reboot through |
| 135 | pstore filesystem. It can be used to determine what function |
| 136 | was last called before a reset or panic. |
| 137 | |
| 138 | If unsure, say N. |
| 139 | |
Anton Vorontsov | 1894a25 | 2012-05-16 05:43:08 -0700 | [diff] [blame] | 140 | config PSTORE_RAM |
| 141 | tristate "Log panic/oops to a RAM buffer" |
Anton Vorontsov | 1894a25 | 2012-05-16 05:43:08 -0700 | [diff] [blame] | 142 | depends on PSTORE |
Anton Vorontsov | cddb875 | 2012-05-17 00:15:08 -0700 | [diff] [blame] | 143 | depends on HAS_IOMEM |
| 144 | depends on HAVE_MEMBLOCK |
| 145 | select REED_SOLOMON |
| 146 | select REED_SOLOMON_ENC8 |
| 147 | select REED_SOLOMON_DEC8 |
Anton Vorontsov | 1894a25 | 2012-05-16 05:43:08 -0700 | [diff] [blame] | 148 | help |
| 149 | This enables panic and oops messages to be logged to a circular |
| 150 | buffer in RAM where it can be read back at some later point. |
| 151 | |
| 152 | Note that for historical reasons, the module will be named |
| 153 | "ramoops.ko". |
| 154 | |
Mauro Carvalho Chehab | 8c27ceff3 | 2016-10-18 10:12:27 -0200 | [diff] [blame] | 155 | For more information, see Documentation/admin-guide/ramoops.rst. |