Some times in the device tree, we find an array of 2 u32 cells that really are a single u64 value. This patch adds a helper to make the creation of these easy.
Signed-off-by: Alexander Graf <ag...@suse.de> --- device_tree.c | 7 +++++++ device_tree.h | 2 ++ 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/device_tree.c b/device_tree.c index 317bdd0..b511b34 100644 --- a/device_tree.c +++ b/device_tree.c @@ -154,6 +154,13 @@ int qemu_devtree_setprop_cell(void *fdt, const char *node_path, return r; } +int qemu_devtree_setprop_cell64(void *fdt, const char *node_path, + const char *property, uint64_t val) +{ + val = cpu_to_be64(val); + return qemu_devtree_setprop(fdt, node_path, property, &val, sizeof(val)); +} + int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, const char *property, uint32_t val, uint32_t val2) diff --git a/device_tree.h b/device_tree.h index f37a4da..6f08483 100644 --- a/device_tree.h +++ b/device_tree.h @@ -21,6 +21,8 @@ int qemu_devtree_setprop(void *fdt, const char *node_path, const char *property, void *val_array, int size); int qemu_devtree_setprop_cell(void *fdt, const char *node_path, const char *property, uint32_t val); +int qemu_devtree_setprop_cell64(void *fdt, const char *node_path, + const char *property, uint64_t val); int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, const char *property, uint32_t val, uint32_t val2); -- 1.6.0.2