[PATCH 15/17] pylibfdt: Add add_mem_rsv() and del_mem_rsv()
Alexey Charkov <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
The memory reserve map can be read through num_mem_rsv() and
get_mem_rsv(), but changing it requires calling the raw fdt_* wrappers
with the private Fdt._fdt buffer, as the class exposes no methods for
the write side.
Add them next to the existing accessors.
This is a backport of dtc commit 89c99ce78ac8 ("pylibfdt: Add
add_mem_rsv() and del_mem_rsv()").
Link: https://github.com/dgibson/dtc/pull/190
Signed-off-by: David Gibson <[email protected]>
Signed-off-by: Alexey Charkov <[email protected]>
---
scripts/dtc/pylibfdt/libfdt.i_shipped | 36 +++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
index 1983ebaee335..127ec22de3fe 100644
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -640,6 +640,42 @@ class Fdt(FdtRo):
del self._fdt[self.totalsize():]
return err
+ def add_mem_rsv(self, addr, size, quiet=()):
+ """Add a memory reserve-map record
+
+ This asks the client program not to use the given region of memory,
+ e.g. because something was loaded there.
+
+ Args:
+ addr: Start address of the region to reserve
+ size: Size of the region to reserve, in bytes
+ quiet: Errors to ignore (empty to raise on all errors)
+
+ Returns:
+ Error code, or 0 if OK
+
+ Raises:
+ FdtException if there is no space for another record, or another
+ error occurs
+ """
+ return check_err(fdt_add_mem_rsv(self._fdt, addr, size), quiet)
+
+ def del_mem_rsv(self, index, quiet=()):
+ """Remove the indexed memory reserve-map record
+
+ Args:
+ index: Record to remove (0=first)
+ quiet: Errors to ignore (empty to raise on all errors)
+
+ Returns:
+ Error code, or 0 if OK
+
+ Raises:
+ FdtException if there is no record at @index, or another error
+ occurs
+ """
+ return check_err(fdt_del_mem_rsv(self._fdt, index), quiet)
+
def set_name(self, nodeoffset, name, quiet=()):
"""Set the name of a node
--
2.54.0