diff options
Diffstat (limited to 'Documentation/ramoops.txt')
-rw-r--r-- | Documentation/ramoops.txt | 16 |
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 | ||
4 | Sergiu Iordache <sergiu@chromium.org> | 4 | Sergiu Iordache <sergiu@chromium.org> |
5 | 5 | ||
6 | Updated: 8 August 2011 | 6 | Updated: 17 November 2011 |
7 | 7 | ||
8 | 0. Introduction | 8 | 0. Introduction |
9 | 9 | ||
@@ -30,6 +30,11 @@ variable while setting 0 in that variable dumps only the panics. | |||
30 | The module uses a counter to record multiple dumps but the counter gets reset | 30 | The module uses a counter to record multiple dumps but the counter gets reset |
31 | on restart (i.e. new dumps after the restart will overwrite old ones). | 31 | on restart (i.e. new dumps after the restart will overwrite old ones). |
32 | 32 | ||
33 | Ramoops also supports software ECC protection of persistent memory regions. | ||
34 | This might be useful when a hardware reset was used to bring the machine back | ||
35 | to life (i.e. a watchdog triggered). In such cases, RAM may be somewhat | ||
36 | corrupt, but usually it is restorable. | ||
37 | |||
33 | 2. Setting the parameters | 38 | 2. Setting the parameters |
34 | 39 | ||
35 | Setting the ramoops parameters can be done in 2 different manners: | 40 | Setting 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 | ||
44 | static struct ramoops_platform_data ramoops_data = { | 49 | static 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 | ||
51 | static struct platform_device ramoops_dev = { | 57 | static struct platform_device ramoops_dev = { |
@@ -71,6 +77,6 @@ timestamp and a new line. The dump then continues with the actual data. | |||
71 | 77 | ||
72 | 4. Reading the data | 78 | 4. Reading the data |
73 | 79 | ||
74 | The dump data can be read from memory (through /dev/mem or other means). | 80 | The dump data can be read from the pstore filesystem. The format for these |
75 | Getting the module parameters, which are needed in order to parse the data, can | 81 | files is "dmesg-ramoops-N", where N is the record number in memory. To delete |
76 | be done through /sys/module/ramoops/parameters/* . | 82 | a stored record from RAM, simply unlink the respective pstore file. |