summaryrefslogtreecommitdiffstats
path: root/fs/pstore/Kconfig
diff options
context:
space:
mode:
authorMarkus Pargmann <mpa@pengutronix.de>2015-12-08 10:39:32 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-12-10 08:49:52 +0100
commit160d2ed0ba18b5d849ecc98dfde25e350928e7b8 (patch)
treeb2fe1c487732571f7f2cd241e12ad19c910c9340 /fs/pstore/Kconfig
parent6c42710ae03bd642f68220dea4dac60b6cbd6d23 (diff)
downloadbarebox-160d2ed0ba18b5d849ecc98dfde25e350928e7b8.tar.gz
barebox-160d2ed0ba18b5d849ecc98dfde25e350928e7b8.tar.xz
fs: Add pstore filesystem
pstore is a persistent storage filesystem used for RAMOOPS. It is used to store console logs, panics, ftrace and other information in case of a crash/panic/oops/reboot. pstore is implemented for barebox as a read-only filesystem at the moment. It may be extended later on. The idea is to provide a way to extract essential data from the last running kernel. Most of the code is copied from the kernel. However this is only a lightweight implementation without real write support yet. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs/pstore/Kconfig')
-rw-r--r--fs/pstore/Kconfig86
1 files changed, 86 insertions, 0 deletions
diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig
new file mode 100644
index 0000000000..0c6f136920
--- /dev/null
+++ b/fs/pstore/Kconfig
@@ -0,0 +1,86 @@
+menuconfig FS_PSTORE
+ bool
+ prompt "pstore fs support"
+ help
+ Support for persistent storage to read data from the last crash, like
+ panic, dmesg and ftrace.
+
+if FS_PSTORE
+
+config FS_PSTORE_RAMOOPS
+ bool
+ depends on RELOCATABLE
+ depends on ARM
+ select REED_SOLOMON
+ prompt "pstore RAM backend"
+ help
+ Here the data is stored in a specific memory area that is neither
+ overwritten by barebox nor the kernel.
+
+if FS_PSTORE_RAMOOPS
+
+config FS_PSTORE_RAMOOPS_RO
+ bool
+ default y
+ prompt "pstore RAM backend read only"
+ help
+ This prevents the data from being erased by reinitializing the ramoops
+ area with new empty ECCs. Select this if you want to see the same
+ ramoops in the kernel.
+
+config FS_PSTORE_RAMOOPS_SIZE
+ int
+ prompt "Size of the RAMOOPS area"
+ default 2097152
+ help
+ Size of the RAMOOPS area that is reserved. This is passed to the
+ kernel as well as argument. Default is 2MiB.
+
+config FS_PSTORE_RAMOOPS_CONSOLE_SIZE
+ int
+ prompt "Size of the console area"
+ default 131072 # 2^17
+ range 4096 1073741824 # Random upper limitation of 1GiB
+ help
+ Size of the RAMOOPS console area that is reserved. This is passed to
+ the kernel as well as argument. It should be a power of 2.
+
+config FS_PSTORE_RAMOOPS_FTRACE_SIZE
+ int
+ prompt "Size of the ftrace area"
+ default 131072 # 2^17
+ range 4096 1073741824 # Random upper limitation of 1GiB
+ help
+ Size of the RAMOOPS ftrace area that is reserved. This is passed to
+ the kernel as well as argument. It should be a power of 2.
+
+config FS_PSTORE_RAMOOPS_PMSG_SIZE
+ int
+ prompt "Size of the userspace message area"
+ default 131072 # 2^17
+ range 4096 1073741824 # Random upper limitation of 1GiB
+ help
+ Size of the RAMOOPS pmsg area that is reserved. This is passed to
+ the kernel as well as argument. It should be a power of 2.
+
+config FS_PSTORE_RAMOOPS_RECORD_SIZE
+ int
+ prompt "Size of each oops area"
+ default 131072 # 2^17
+ range 4096 1073741824 # Random upper limitation of 1GiB
+ help
+ Size of each RAMOOPS oops area. There are multiple oops/panic areas
+ to store individual oops/panic messages. This is the size of each of
+ these areas. It should be a power of 2.
+
+config FS_PSTORE_ECC_SIZE
+ int
+ prompt "ECC size"
+ default 16
+ help
+ ECC size used. This is the amount of bytes for reed solomon codes
+ that is used. 0 disables ECC.
+
+endif
+
+endif