aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/ramoops.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/ramoops.txt')
-rw-r--r--Documentation/ramoops.txt16
1 files changed, 11 insertions, 5 deletions
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt
index 8fb1ba7fe7b..4ba7db231cb 100644
--- a/Documentation/ramoops.txt
+++ b/Documentation/ramoops.txt
@@ -3,7 +3,7 @@ Ramoops oops/panic logger
3 3
4Sergiu Iordache <sergiu@chromium.org> 4Sergiu Iordache <sergiu@chromium.org>
5 5
6Updated: 8 August 2011 6Updated: 17 November 2011
7 7
80. Introduction 80. Introduction
9 9
@@ -30,6 +30,11 @@ variable while setting 0 in that variable dumps only the panics.
30The module uses a counter to record multiple dumps but the counter gets reset 30The module uses a counter to record multiple dumps but the counter gets reset
31on restart (i.e. new dumps after the restart will overwrite old ones). 31on restart (i.e. new dumps after the restart will overwrite old ones).
32 32
33Ramoops also supports software ECC protection of persistent memory regions.
34This might be useful when a hardware reset was used to bring the machine back
35to life (i.e. a watchdog triggered). In such cases, RAM may be somewhat
36corrupt, but usually it is restorable.
37
332. Setting the parameters 382. Setting the parameters
34 39
35Setting the ramoops parameters can be done in 2 different manners: 40Setting the ramoops parameters can be done in 2 different manners:
@@ -38,7 +43,7 @@ Setting the ramoops parameters can be done in 2 different manners:
38 2. Use a platform device and set the platform data. The parameters can then 43 2. Use a platform device and set the platform data. The parameters can then
39 be set through that platform data. An example of doing that is: 44 be set through that platform data. An example of doing that is:
40 45
41#include <linux/ramoops.h> 46#include <linux/pstore_ram.h>
42[...] 47[...]
43 48
44static struct ramoops_platform_data ramoops_data = { 49static struct ramoops_platform_data ramoops_data = {
@@ -46,6 +51,7 @@ static struct ramoops_platform_data ramoops_data = {
46 .mem_address = <...>, 51 .mem_address = <...>,
47 .record_size = <...>, 52 .record_size = <...>,
48 .dump_oops = <...>, 53 .dump_oops = <...>,
54 .ecc = <...>,
49}; 55};
50 56
51static struct platform_device ramoops_dev = { 57static struct platform_device ramoops_dev = {
@@ -71,6 +77,6 @@ timestamp and a new line. The dump then continues with the actual data.
71 77
724. Reading the data 784. Reading the data
73 79
74The dump data can be read from memory (through /dev/mem or other means). 80The dump data can be read from the pstore filesystem. The format for these
75Getting the module parameters, which are needed in order to parse the data, can 81files is "dmesg-ramoops-N", where N is the record number in memory. To delete
76be done through /sys/module/ramoops/parameters/* . 82a stored record from RAM, simply unlink the respective pstore file.