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 (8492B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2config PSTORE
      3	tristate "Persistent store support"
      4	select CRYPTO if PSTORE_COMPRESS
      5	default n
      6	help
      7	   This option enables generic access to platform level
      8	   persistent storage via "pstore" filesystem that can
      9	   be mounted as /dev/pstore.  Only useful if you have
     10	   a platform level driver that registers with pstore to
     11	   provide the data, so you probably should just go say "Y"
     12	   (or "M") to a platform specific persistent store driver
     13	   (e.g. ACPI_APEI on X86) which will select this for you.
     14	   If you don't have a platform persistent store driver,
     15	   say N.
     16
     17config PSTORE_DEFAULT_KMSG_BYTES
     18	int "Default kernel log storage space" if EXPERT
     19	depends on PSTORE
     20	default "10240"
     21	help
     22	  Defines default size of pstore kernel log storage.
     23	  Can be enlarged if needed, not recommended to shrink it.
     24
     25config PSTORE_DEFLATE_COMPRESS
     26	tristate "DEFLATE (ZLIB) compression"
     27	default y
     28	depends on PSTORE
     29	select CRYPTO_DEFLATE
     30	help
     31	  This option enables DEFLATE (also known as ZLIB) compression
     32	  algorithm support.
     33
     34config PSTORE_LZO_COMPRESS
     35	tristate "LZO compression"
     36	depends on PSTORE
     37	select CRYPTO_LZO
     38	help
     39	  This option enables LZO compression algorithm support.
     40
     41config PSTORE_LZ4_COMPRESS
     42	tristate "LZ4 compression"
     43	depends on PSTORE
     44	select CRYPTO_LZ4
     45	help
     46	  This option enables LZ4 compression algorithm support.
     47
     48config PSTORE_LZ4HC_COMPRESS
     49	tristate "LZ4HC compression"
     50	depends on PSTORE
     51	select CRYPTO_LZ4HC
     52	help
     53	  This option enables LZ4HC (high compression) mode algorithm.
     54
     55config PSTORE_842_COMPRESS
     56	bool "842 compression"
     57	depends on PSTORE
     58	select CRYPTO_842
     59	help
     60	  This option enables 842 compression algorithm support.
     61
     62config PSTORE_ZSTD_COMPRESS
     63	bool "zstd compression"
     64	depends on PSTORE
     65	select CRYPTO_ZSTD
     66	help
     67	  This option enables zstd compression algorithm support.
     68
     69config PSTORE_COMPRESS
     70	def_bool y
     71	depends on PSTORE
     72	depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS ||	\
     73		   PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS ||	\
     74		   PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS
     75
     76choice
     77	prompt "Default pstore compression algorithm"
     78	depends on PSTORE_COMPRESS
     79	help
     80	  This option chooses the default active compression algorithm.
     81	  This change be changed at boot with "pstore.compress=..." on
     82	  the kernel command line.
     83
     84	  Currently, pstore has support for 6 compression algorithms:
     85	  deflate, lzo, lz4, lz4hc, 842 and zstd.
     86
     87	  The default compression algorithm is deflate.
     88
     89	config PSTORE_DEFLATE_COMPRESS_DEFAULT
     90		bool "deflate" if PSTORE_DEFLATE_COMPRESS
     91
     92	config PSTORE_LZO_COMPRESS_DEFAULT
     93		bool "lzo" if PSTORE_LZO_COMPRESS
     94
     95	config PSTORE_LZ4_COMPRESS_DEFAULT
     96		bool "lz4" if PSTORE_LZ4_COMPRESS
     97
     98	config PSTORE_LZ4HC_COMPRESS_DEFAULT
     99		bool "lz4hc" if PSTORE_LZ4HC_COMPRESS
    100
    101	config PSTORE_842_COMPRESS_DEFAULT
    102		bool "842" if PSTORE_842_COMPRESS
    103
    104	config PSTORE_ZSTD_COMPRESS_DEFAULT
    105		bool "zstd" if PSTORE_ZSTD_COMPRESS
    106
    107endchoice
    108
    109config PSTORE_COMPRESS_DEFAULT
    110	string
    111	depends on PSTORE_COMPRESS
    112	default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT
    113	default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT
    114	default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT
    115	default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT
    116	default "842" if PSTORE_842_COMPRESS_DEFAULT
    117	default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT
    118
    119config PSTORE_CONSOLE
    120	bool "Log kernel console messages"
    121	depends on PSTORE
    122	help
    123	  When the option is enabled, pstore will log all kernel
    124	  messages, even if no oops or panic happened.
    125
    126config PSTORE_PMSG
    127	bool "Log user space messages"
    128	depends on PSTORE
    129	help
    130	  When the option is enabled, pstore will export a character
    131	  interface /dev/pmsg0 to log user space messages. On reboot
    132	  data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].
    133
    134	  If unsure, say N.
    135
    136config PSTORE_FTRACE
    137	bool "Persistent function tracer"
    138	depends on PSTORE
    139	depends on FUNCTION_TRACER
    140	depends on DEBUG_FS
    141	help
    142	  With this option kernel traces function calls into a persistent
    143	  ram buffer that can be decoded and dumped after reboot through
    144	  pstore filesystem. It can be used to determine what function
    145	  was last called before a reset or panic.
    146
    147	  If unsure, say N.
    148
    149config PSTORE_RAM
    150	tristate "Log panic/oops to a RAM buffer"
    151	depends on PSTORE
    152	depends on HAS_IOMEM
    153	select REED_SOLOMON
    154	select REED_SOLOMON_ENC8
    155	select REED_SOLOMON_DEC8
    156	help
    157	  This enables panic and oops messages to be logged to a circular
    158	  buffer in RAM where it can be read back at some later point.
    159
    160	  Note that for historical reasons, the module will be named
    161	  "ramoops.ko".
    162
    163	  For more information, see Documentation/admin-guide/ramoops.rst.
    164
    165config PSTORE_ZONE
    166	tristate
    167	depends on PSTORE
    168	help
    169	  The common layer for pstore/blk (and pstore/ram in the future)
    170	  to manage storage in zones.
    171
    172config PSTORE_BLK
    173	tristate "Log panic/oops to a block device"
    174	depends on PSTORE
    175	depends on BLOCK
    176	select PSTORE_ZONE
    177	default n
    178	help
    179	  This enables panic and oops message to be logged to a block dev
    180	  where it can be read back at some later point.
    181
    182	  For more information, see Documentation/admin-guide/pstore-blk.rst
    183
    184	  If unsure, say N.
    185
    186config PSTORE_BLK_BLKDEV
    187	string "block device identifier"
    188	depends on PSTORE_BLK
    189	default ""
    190	help
    191	  Which block device should be used for pstore/blk.
    192
    193	  It accepts the following variants:
    194	  1) <hex_major><hex_minor> device number in hexadecimal representation,
    195	     with no leading 0x, for example b302.
    196	  2) /dev/<disk_name> represents the device name of disk
    197	  3) /dev/<disk_name><decimal> represents the device name and number
    198	     of partition - device number of disk plus the partition number
    199	  4) /dev/<disk_name>p<decimal> - same as the above, this form is
    200	     used when disk name of partitioned disk ends with a digit.
    201	  5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the
    202	     unique id of a partition if the partition table provides it.
    203	     The UUID may be either an EFI/GPT UUID, or refer to an MSDOS
    204	     partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-
    205	     filled hex representation of the 32-bit "NT disk signature", and PP
    206	     is a zero-filled hex representation of the 1-based partition number.
    207	  6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation
    208	     to a partition with a known unique id.
    209	  7) <major>:<minor> major and minor number of the device separated by
    210	     a colon.
    211
    212	  NOTE that, both Kconfig and module parameters can configure
    213	  pstore/blk, but module parameters have priority over Kconfig.
    214
    215config PSTORE_BLK_KMSG_SIZE
    216	int "Size in Kbytes of kmsg dump log to store"
    217	depends on PSTORE_BLK
    218	default 64
    219	help
    220	  This just sets size of kmsg dump (oops, panic, etc) log for
    221	  pstore/blk. The size is in KB and must be a multiple of 4.
    222
    223	  NOTE that, both Kconfig and module parameters can configure
    224	  pstore/blk, but module parameters have priority over Kconfig.
    225
    226config PSTORE_BLK_MAX_REASON
    227	int "Maximum kmsg dump reason to store"
    228	depends on PSTORE_BLK
    229	default 2
    230	help
    231	  The maximum reason for kmsg dumps to store. The default is
    232	  2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's
    233	  enum kmsg_dump_reason for more details.
    234
    235	  NOTE that, both Kconfig and module parameters can configure
    236	  pstore/blk, but module parameters have priority over Kconfig.
    237
    238config PSTORE_BLK_PMSG_SIZE
    239	int "Size in Kbytes of pmsg to store"
    240	depends on PSTORE_BLK
    241	depends on PSTORE_PMSG
    242	default 64
    243	help
    244	  This just sets size of pmsg (pmsg_size) for pstore/blk. The size is
    245	  in KB and must be a multiple of 4.
    246
    247	  NOTE that, both Kconfig and module parameters can configure
    248	  pstore/blk, but module parameters have priority over Kconfig.
    249
    250config PSTORE_BLK_CONSOLE_SIZE
    251	int "Size in Kbytes of console log to store"
    252	depends on PSTORE_BLK
    253	depends on PSTORE_CONSOLE
    254	default 64
    255	help
    256	  This just sets size of console log (console_size) to store via
    257	  pstore/blk. The size is in KB and must be a multiple of 4.
    258
    259	  NOTE that, both Kconfig and module parameters can configure
    260	  pstore/blk, but module parameters have priority over Kconfig.
    261
    262config PSTORE_BLK_FTRACE_SIZE
    263	int "Size in Kbytes of ftrace log to store"
    264	depends on PSTORE_BLK
    265	depends on PSTORE_FTRACE
    266	default 64
    267	help
    268	  This just sets size of ftrace log (ftrace_size) for pstore/blk. The
    269	  size is in KB and must be a multiple of 4.
    270
    271	  NOTE that, both Kconfig and module parameters can configure
    272	  pstore/blk, but module parameters have priority over Kconfig.