# SPDX-License-Identifier: GPL-2.0-only
menuconfig AW_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.

if AW_PSTORE_BLK
config AW_PSTORE_BLK_BLKDEV
	string "block device identifier"
	depends on AW_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 AW_PSTORE_BLK_KMSG_SIZE
	int "Size in Kbytes of kmsg dump log to store"
	depends on AW_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 AW_PSTORE_BLK_MAX_REASON
	int "Maximum kmsg dump reason to store"
	depends on AW_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 AW_PSTORE_BLK_PMSG_SIZE
	int "Size in Kbytes of pmsg to store"
	depends on AW_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 AW_PSTORE_BLK_CONSOLE_SIZE
	int "Size in Kbytes of console log to store"
	depends on AW_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 AW_PSTORE_BLK_FTRACE_SIZE
	int "Size in Kbytes of ftrace log to store"
	depends on AW_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.
endif
