summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-08-05 23:52:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-05 23:52:52 -0400
commita02040d8d5d533773f98e02e1a8e56db5fa7a363 (patch)
tree5b490abce2688f80a9732346cf08127bbb48a3e3 /Documentation
parent0603006b450004213eeed22d4fbcc103c994c2e6 (diff)
parente976e56423dc1cc01686861fc3e0c6c0ec8cd8b7 (diff)
Merge tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull pstore fixes from Kees Cook: "Fixes for pstore ramoops driver to catch bad kfree() and to use better DT bindings" * tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: ramoops: use persistent_ram_free() instead of kfree() for freeing prz ramoops: use DT reserved-memory bindings
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/reserved-memory/ramoops.txt (renamed from Documentation/devicetree/bindings/misc/ramoops.txt)8
-rw-r--r--Documentation/ramoops.txt38
2 files changed, 31 insertions, 15 deletions
diff --git a/Documentation/devicetree/bindings/misc/ramoops.txt b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt
index cd02cec67d38..e81f821a2135 100644
--- a/Documentation/devicetree/bindings/misc/ramoops.txt
+++ b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt
@@ -2,8 +2,9 @@ Ramoops oops/panic logger
2========================= 2=========================
3 3
4ramoops provides persistent RAM storage for oops and panics, so they can be 4ramoops provides persistent RAM storage for oops and panics, so they can be
5recovered after a reboot. It is a backend to pstore, so this node is named 5recovered after a reboot. This is a child-node of "/reserved-memory", and
6"ramoops" after the backend, rather than "pstore" which is the subsystem. 6is named "ramoops" after the backend, rather than "pstore" which is the
7subsystem.
7 8
8Parts of this storage may be set aside for other persistent log buffers, such 9Parts of this storage may be set aside for other persistent log buffers, such
9as kernel log messages, or for optional ECC error-correction data. The total 10as kernel log messages, or for optional ECC error-correction data. The total
@@ -21,8 +22,7 @@ Required properties:
21 22
22- compatible: must be "ramoops" 23- compatible: must be "ramoops"
23 24
24- memory-region: phandle to a region of memory that is preserved between 25- reg: region of memory that is preserved between reboots
25 reboots
26 26
27 27
28Optional properties: 28Optional properties:
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt
index 9264bcab4099..26b9f31cf65a 100644
--- a/Documentation/ramoops.txt
+++ b/Documentation/ramoops.txt
@@ -45,18 +45,34 @@ corrupt, but usually it is restorable.
45 45
462. Setting the parameters 462. Setting the parameters
47 47
48Setting the ramoops parameters can be done in 3 different manners: 48Setting the ramoops parameters can be done in several different manners:
49 1. Use the module parameters (which have the names of the variables described 49
50 as before). 50 A. Use the module parameters (which have the names of the variables described
51 For quick debugging, you can also reserve parts of memory during boot 51 as before). For quick debugging, you can also reserve parts of memory during
52 and then use the reserved memory for ramoops. For example, assuming a machine 52 boot and then use the reserved memory for ramoops. For example, assuming a
53 with > 128 MB of memory, the following kernel command line will tell the 53 machine with > 128 MB of memory, the following kernel command line will tell
54 kernel to use only the first 128 MB of memory, and place ECC-protected ramoops 54 the kernel to use only the first 128 MB of memory, and place ECC-protected
55 region at 128 MB boundary: 55 ramoops region at 128 MB boundary:
56 "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1" 56 "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1"
57 2. Use Device Tree bindings, as described in 57
58 Documentation/device-tree/bindings/misc/ramoops.txt. 58 B. Use Device Tree bindings, as described in
59 3. Use a platform device and set the platform data. The parameters can then 59 Documentation/device-tree/bindings/reserved-memory/ramoops.txt.
60 For example:
61
62 reserved-memory {
63 #address-cells = <2>;
64 #size-cells = <2>;
65 ranges;
66
67 ramoops@8f000000 {
68 compatible = "ramoops";
69 reg = <0 0x8f000000 0 0x100000>;
70 record-size = <0x4000>;
71 console-size = <0x4000>;
72 };
73 };
74
75 C. Use a platform device and set the platform data. The parameters can then
60 be set through that platform data. An example of doing that is: 76 be set through that platform data. An example of doing that is:
61 77
62#include <linux/pstore_ram.h> 78#include <linux/pstore_ram.h>