From dcec466a06e1d1abb293df7112948a00b5b032ce Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Sat, 26 May 2012 06:20:25 -0700 Subject: [PATCH] --- yaml --- r: 317337 b: refs/heads/master c: 958502d836cf18c6f39bdb787b76d53839e4d8aa h: refs/heads/master i: 317335: 11437404ef7f5eccec7432860c673baba135a3f8 v: v3 --- [refs] | 2 +- trunk/Documentation/ramoops.txt | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e9f4387b98ac..8bb35df9df34 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 602b5be4f14cabd5b751c340919958549475ab62 +refs/heads/master: 958502d836cf18c6f39bdb787b76d53839e4d8aa diff --git a/trunk/Documentation/ramoops.txt b/trunk/Documentation/ramoops.txt index 4ba7db231cb2..59a74a8ee2e5 100644 --- a/trunk/Documentation/ramoops.txt +++ b/trunk/Documentation/ramoops.txt @@ -40,6 +40,12 @@ corrupt, but usually it is restorable. Setting the ramoops parameters can be done in 2 different manners: 1. Use the module parameters (which have the names of the variables described as before). + For quick debugging, you can also reserve parts of memory during boot + and then use the reserved memory for ramoops. For example, assuming a machine + with > 128 MB of memory, the following kernel command line will tell the + kernel to use only the first 128 MB of memory, and place ECC-protected ramoops + region at 128 MB boundary: + "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1" 2. Use a platform device and set the platform data. The parameters can then be set through that platform data. An example of doing that is: @@ -70,6 +76,14 @@ if (ret) { return ret; } +You can specify either RAM memory or peripheral devices' memory. However, when +specifying RAM, be sure to reserve the memory by issuing memblock_reserve() +very early in the architecture code, e.g.: + +#include + +memblock_reserve(ramoops_data.mem_address, ramoops_data.mem_size); + 3. Dump format The data dump begins with a header, currently defined as "====" followed by a