Lines Matching +full:string +full:- +full:array +full:- +full:property

21 #include "qemu/error-report.h"
25 #include "qemu/guest-random.h"
29 #include "qemu/config-file.h"
30 #include "qapi/qapi-commands-machine.h"
92 if (dt_size > INT_MAX / 2 - 10000) { in load_device_tree()
133 #define SYSFS_DT_BASEDIR "/proc/device-tree"
140 * leaves (property files).
168 if (!g_strcmp0(de->d_name, ".") in read_fstree()
169 || !g_strcmp0(de->d_name, "..")) { in read_fstree()
173 tmpnam = g_strdup_printf("%s/%s", dirname, de->d_name); in read_fstree()
192 de->d_name, val, len); in read_fstree()
194 qemu_fdt_setprop(fdt, "/", de->d_name, val, len); in read_fstree()
201 parent_node, de->d_name); in read_fstree()
254 offset = fdt_next_node(fdt, -1, NULL); in qemu_fdt_node_unit_path()
267 == -FDT_ERR_NOSPACE) { in qemu_fdt_node_unit_path()
278 if (offset < 0 && offset != -FDT_ERR_NOTFOUND) { in qemu_fdt_node_unit_path()
281 for (iter = path_list; iter; iter = iter->next) { in qemu_fdt_node_unit_path()
282 g_free(iter->data); in qemu_fdt_node_unit_path()
289 path_array[n--] = NULL; in qemu_fdt_node_unit_path()
291 for (iter = path_list; iter; iter = iter->next) { in qemu_fdt_node_unit_path()
292 path_array[n--] = iter->data; in qemu_fdt_node_unit_path()
309 offset = fdt_node_offset_by_compatible(fdt, -1, compat); in qemu_fdt_node_path()
322 == -FDT_ERR_NOSPACE) { in qemu_fdt_node_path()
332 if (offset < 0 && offset != -FDT_ERR_NOTFOUND) { in qemu_fdt_node_path()
335 for (iter = path_list; iter; iter = iter->next) { in qemu_fdt_node_path()
336 g_free(iter->data); in qemu_fdt_node_path()
343 path_array[n--] = NULL; in qemu_fdt_node_path()
345 for (iter = path_list; iter; iter = iter->next) { in qemu_fdt_node_path()
346 path_array[n--] = iter->data; in qemu_fdt_node_path()
355 const char *property, const void *val, int size) in qemu_fdt_setprop() argument
359 r = fdt_setprop(fdt, findnode_nofail(fdt, node_path), property, val, size); in qemu_fdt_setprop()
362 property, fdt_strerror(r)); in qemu_fdt_setprop()
370 const char *property, uint32_t val) in qemu_fdt_setprop_cell() argument
374 r = fdt_setprop_cell(fdt, findnode_nofail(fdt, node_path), property, val); in qemu_fdt_setprop_cell()
377 node_path, property, val, fdt_strerror(r)); in qemu_fdt_setprop_cell()
385 const char *property, uint64_t val) in qemu_fdt_setprop_u64() argument
388 return qemu_fdt_setprop(fdt, node_path, property, &val, sizeof(val)); in qemu_fdt_setprop_u64()
392 const char *property, const char *string) in qemu_fdt_setprop_string() argument
396 r = fdt_setprop_string(fdt, findnode_nofail(fdt, node_path), property, string); in qemu_fdt_setprop_string()
399 node_path, property, string, fdt_strerror(r)); in qemu_fdt_setprop_string()
407 * libfdt doesn't allow us to add string arrays directly but they are
409 * the string up here so we can calculate the final length.
412 const char *prop, char **array, int len) in qemu_fdt_setprop_string_array() argument
417 total_len += strlen(array[i]) + 1; in qemu_fdt_setprop_string_array()
421 int offset = strlen(array[i]) + 1; in qemu_fdt_setprop_string_array()
422 pstrcpy(p, offset, array[i]); in qemu_fdt_setprop_string_array()
432 const char *property, int *lenp, Error **errp) in qemu_fdt_getprop() argument
440 r = fdt_getprop(fdt, findnode_nofail(fdt, node_path), property, lenp); in qemu_fdt_getprop()
443 node_path, property, fdt_strerror(*lenp)); in qemu_fdt_getprop()
449 const char *property, int *lenp, Error **errp) in qemu_fdt_getprop_cell() argument
457 p = qemu_fdt_getprop(fdt, node_path, property, lenp, errp); in qemu_fdt_getprop_cell()
462 __func__, node_path, property); in qemu_fdt_getprop_cell()
463 *lenp = -EINVAL; in qemu_fdt_getprop_cell()
484 const char *property, in qemu_fdt_setprop_phandle() argument
488 return qemu_fdt_setprop_cell(fdt, node_path, property, phandle); in qemu_fdt_setprop_phandle()
537 return -1; in qemu_fdt_add_subnode()
569 return -1; in qemu_fdt_add_path()
575 namelen = path != NULL ? path - name : strlen(name); in qemu_fdt_add_path()
578 if (retval < 0 && retval != -FDT_ERR_NOTFOUND) { in qemu_fdt_add_path()
582 } else if (retval == -FDT_ERR_NOTFOUND) { in qemu_fdt_add_path()
599 const char *property, in qemu_fdt_setprop_sized_cells_from_array() argument
615 ret = -1; in qemu_fdt_setprop_sized_cells_from_array()
623 ret = -1; in qemu_fdt_setprop_sized_cells_from_array()
629 ret = qemu_fdt_setprop(fdt, node_path, property, propcells, in qemu_fdt_setprop_sized_cells_from_array()
643 if (!current_machine->fdt) { in qmp_dumpdtb()
647 "you need to provide an FDT with the -fdt option?)\n"); in qmp_dumpdtb()
651 size = fdt_totalsize(current_machine->fdt); in qmp_dumpdtb()
655 if (!g_file_set_contents(filename, current_machine->fdt, size, &err)) { in qmp_dumpdtb()
657 filename, err->message); in qmp_dumpdtb()
674 if (!data || strcmp(name, "rng-seed")) in qemu_fdt_randomize_seeds()