config PSTORE
	bool "Persistent store support"
	default n
	select ZLIB_DEFLATE
	select ZLIB_INFLATE
	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_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
	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
	depends on HAVE_MEMBLOCK
	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/ramoops.txt.
