diff options
author | Mark Brown <broonie@kernel.org> | 2015-01-16 22:07:07 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-01-16 22:07:07 +0000 |
commit | 326dc1f1f301eaaf91619c359b85cd98c2ff4374 (patch) | |
tree | 627fe244b8cd12302cd94328223bbd8d74553c52 /Documentation | |
parent | 8b16dde2a85c26b48518758c99a7b4ce4820b019 (diff) | |
parent | a47897538c3e1f71c35691a1f73e73dd9149977c (diff) |
Merge branch 'linux-linaro-lsk-v3.14' into linux-linaro-lsk-v3.14-android
Diffstat (limited to 'Documentation')
-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. 1. Ramoops concepts -Ramoops uses a predefined memory area to store the dump. The start and size of -the memory area are set using two variables: +Ramoops uses a predefined memory area to store the dump. The start and size +and type of the memory area are set using three variables: * "mem_address" for the start * "mem_size" for the size. The memory size will be rounded down to a power of two. + * "mem_type" to specifiy if the memory type (default is pgprot_writecombine). + +Typically the default value of mem_type=0 should be used as that sets the pstore +mapping to pgprot_writecombine. Setting mem_type=1 attempts to use +pgprot_noncached, which only works on some platforms. This is because pstore +depends on atomic operations. At least on ARM, pgprot_noncached causes the +memory to be mapped strongly ordered, and atomic operations on strongly ordered +memory are implementation defined, and won't work on many ARMs such as omaps. The memory area is divided into "record_size" chunks (also rounded down to 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: static struct ramoops_platform_data ramoops_data = { .mem_size = <...>, .mem_address = <...>, + .mem_type = <...>, .record_size = <...>, .dump_oops = <...>, .ecc = <...>, |