diff options
author | Simon Glass <sjg@chromium.org> | 2018-06-06 15:37:03 -0600 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2018-06-09 23:35:35 +1000 |
commit | 483e170625e1b6905fc4c40db92ee48d47ee3283 (patch) | |
tree | 04140f4db2ce60d6d8efb5e71454c299d86bec1b /pylibfdt | |
parent | 29bb05aa4200285ae3de07a45efd4e5bf1999980 (diff) | |
download | dtc-483e170625e1b6905fc4c40db92ee48d47ee3283.zip dtc-483e170625e1b6905fc4c40db92ee48d47ee3283.tar.gz dtc-483e170625e1b6905fc4c40db92ee48d47ee3283.tar.bz2 |
pylibfdt: Add support for reading the memory reserve map
Add a way to access this information from Python.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'pylibfdt')
-rw-r--r-- | pylibfdt/libfdt.i | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i index ce34b60..2074e9b 100644 --- a/pylibfdt/libfdt.i +++ b/pylibfdt/libfdt.i @@ -315,6 +315,25 @@ class Fdt: """ return fdt_size_dt_struct(self._fdt) + def num_mem_rsv(self, quiet=()): + """Return the number of memory reserve-map records + + Returns: + Number of memory reserve-map records + """ + return check_err(fdt_num_mem_rsv(self._fdt), quiet) + + def get_mem_rsv(self, index, quiet=()): + """Return the indexed memory reserve-map record + + Args: + index: Record to return (0=first) + + Returns: + Number of memory reserve-map records + """ + return check_err(fdt_get_mem_rsv(self._fdt, index), quiet) + def subnode_offset(self, parentoffset, name, quiet=()): """Get the offset of a named subnode @@ -586,6 +605,21 @@ typedef int fdt32_t; %apply int *depth { int *depth }; +/* typemaps for fdt_get_mem_rsv */ +%typemap(in, numinputs=0) uint64_t * (uint64_t temp) { + $1 = &temp; +} + +%typemap(argout) uint64_t * { + PyObject *val = PyLong_FromUnsignedLong(*arg$argnum); + if (!result) { + if (PyTuple_GET_SIZE(resultobj) == 0) + resultobj = val; + else + resultobj = SWIG_Python_AppendOutput(resultobj, val); + } +} + /* We have both struct fdt_property and a function fdt_property() */ %warnfilter(302) fdt_property; |