[v2,2/3] Documentation: admin-guide: ramoops.rst: Update the ramoops document
Commit Message
The reserved memory region for ramoops is assumed to be at a fixed
and known location when read from the devicetree. This is not desirable
in environments where it is preferred the region to be dynamically
allocated at runtime. So, update the document while adding the
support in the driver.
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
---
Change in v2:
- Added this patch as per changes going to be done in patch 3/3
Documentation/admin-guide/ramoops.rst | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
Comments
Hi,
On 1/13/2023 5:28 PM, Mukesh Ojha wrote:
> The reserved memory region for ramoops is assumed to be at a fixed
> and known location when read from the devicetree. This is not desirable
> in environments where it is preferred the region to be dynamically
> allocated at runtime. So, update the document while adding the
> support in the driver.
>
> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
> ---
> Change in v2:
> - Added this patch as per changes going to be done in patch 3/3
>
> Documentation/admin-guide/ramoops.rst | 25 ++++++++++++++++++++++---
> 1 file changed, 22 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/ramoops.rst b/Documentation/admin-guide/ramoops.rst
> index e9f8514..88884b2 100644
> --- a/Documentation/admin-guide/ramoops.rst
> +++ b/Documentation/admin-guide/ramoops.rst
> @@ -16,8 +16,9 @@ survive after a restart.
> Ramoops concepts
> ----------------
>
> -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:
> +Ramoops uses both predefined and dynamically 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
> @@ -70,7 +71,8 @@ Setting the ramoops parameters can be done in several different manners:
>
> B. Use Device Tree bindings, as described in
> ``Documentation/devicetree/bindings/reserved-memory/ramoops.yaml``.
> - For example::
> +
> + Example of statically reserved ramoops region::
>
> reserved-memory {
> #address-cells = <2>;
> @@ -85,6 +87,23 @@ Setting the ramoops parameters can be done in several different manners:
> };
> };
>
> + Example of dynamically reserved ramoops region::
> +
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + ramoops@8f000000 {
Will fix it as ramoops_region : ramoops ?
> + compatible = "ramoops";
> + alloc-ranges = <0x0 0x00000000 0xffffffff 0xffffffff>;
> + size = <0 0x100000>;
> + record-size = <0x4000>;
> + console-size = <0x4000>;
> + };
> + };
> +
> +
> C. 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:
>
-Mukesh
@@ -16,8 +16,9 @@ survive after a restart.
Ramoops concepts
----------------
-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:
+Ramoops uses both predefined and dynamically 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
@@ -70,7 +71,8 @@ Setting the ramoops parameters can be done in several different manners:
B. Use Device Tree bindings, as described in
``Documentation/devicetree/bindings/reserved-memory/ramoops.yaml``.
- For example::
+
+ Example of statically reserved ramoops region::
reserved-memory {
#address-cells = <2>;
@@ -85,6 +87,23 @@ Setting the ramoops parameters can be done in several different manners:
};
};
+ Example of dynamically reserved ramoops region::
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ ramoops@8f000000 {
+ compatible = "ramoops";
+ alloc-ranges = <0x0 0x00000000 0xffffffff 0xffffffff>;
+ size = <0 0x100000>;
+ record-size = <0x4000>;
+ console-size = <0x4000>;
+ };
+ };
+
+
C. 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: