diff options
Diffstat (limited to 'Documentation/ramoops.txt')
-rw-r--r-- | Documentation/ramoops.txt | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt index 69b3cac4749d..5d8675615e59 100644 --- a/Documentation/ramoops.txt +++ b/Documentation/ramoops.txt | |||
@@ -14,11 +14,19 @@ survive after a restart. | |||
14 | 14 | ||
15 | 1. Ramoops concepts | 15 | 1. Ramoops concepts |
16 | 16 | ||
17 | Ramoops uses a predefined memory area to store the dump. The start and size of | 17 | Ramoops uses a predefined memory area to store the dump. The start and size |
18 | the memory area are set using two variables: | 18 | and type of the memory area are set using three variables: |
19 | * "mem_address" for the start | 19 | * "mem_address" for the start |
20 | * "mem_size" for the size. The memory size will be rounded down to a | 20 | * "mem_size" for the size. The memory size will be rounded down to a |
21 | power of two. | 21 | power of two. |
22 | * "mem_type" to specifiy if the memory type (default is pgprot_writecombine). | ||
23 | |||
24 | Typically the default value of mem_type=0 should be used as that sets the pstore | ||
25 | mapping to pgprot_writecombine. Setting mem_type=1 attempts to use | ||
26 | pgprot_noncached, which only works on some platforms. This is because pstore | ||
27 | depends on atomic operations. At least on ARM, pgprot_noncached causes the | ||
28 | memory to be mapped strongly ordered, and atomic operations on strongly ordered | ||
29 | memory are implementation defined, and won't work on many ARMs such as omaps. | ||
22 | 30 | ||
23 | The memory area is divided into "record_size" chunks (also rounded down to | 31 | The memory area is divided into "record_size" chunks (also rounded down to |
24 | power of two) and each oops/panic writes a "record_size" chunk of | 32 | power of two) and each oops/panic writes a "record_size" chunk of |
@@ -55,6 +63,7 @@ Setting the ramoops parameters can be done in 2 different manners: | |||
55 | static struct ramoops_platform_data ramoops_data = { | 63 | static struct ramoops_platform_data ramoops_data = { |
56 | .mem_size = <...>, | 64 | .mem_size = <...>, |
57 | .mem_address = <...>, | 65 | .mem_address = <...>, |
66 | .mem_type = <...>, | ||
58 | .record_size = <...>, | 67 | .record_size = <...>, |
59 | .dump_oops = <...>, | 68 | .dump_oops = <...>, |
60 | .ecc = <...>, | 69 | .ecc = <...>, |