Lines Matching refs:fit
110 static void fit_get_debug(const void *fit, int noffset, in fit_get_debug() argument
114 prop_name, (ulong)fit, noffset, fit_get_name(fit, noffset, NULL), in fit_get_debug()
126 int fit_get_subimage_count(const void *fit, int images_noffset) in fit_get_subimage_count() argument
134 noffset = fdt_next_node(fit, images_noffset, &ndepth); in fit_get_subimage_count()
136 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_get_subimage_count()
161 static void fit_image_print_data(const void *fit, int noffset, const char *p, in fit_image_print_data() argument
172 fit_get_name(fit, noffset, NULL)); in fit_image_print_data()
174 if (fit_image_hash_get_algo(fit, noffset, &algo)) { in fit_image_print_data()
179 keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); in fit_image_print_data()
180 required = fdt_getprop(fit, noffset, "required", NULL) != NULL; in fit_image_print_data()
187 ret = fit_image_hash_get_value(fit, noffset, &value, in fit_image_print_data()
205 if (fit_get_timestamp(fit, noffset, ×tamp)) in fit_image_print_data()
223 static void fit_image_print_verification_data(const void *fit, int noffset, in fit_image_print_verification_data() argument
233 name = fit_get_name(fit, noffset, NULL); in fit_image_print_verification_data()
235 fit_image_print_data(fit, noffset, p, "Hash"); in fit_image_print_verification_data()
238 fit_image_print_data(fit, noffset, p, "Sign"); in fit_image_print_verification_data()
254 static void fit_conf_print(const void *fit, int noffset, const char *p) in fit_conf_print() argument
263 ret = fit_get_desc(fit, noffset, &desc); in fit_conf_print()
270 uname = fdt_getprop(fit, noffset, FIT_KERNEL_PROP, NULL); in fit_conf_print()
278 uname = fdt_getprop(fit, noffset, FIT_RAMDISK_PROP, NULL); in fit_conf_print()
282 uname = fdt_getprop(fit, noffset, FIT_FIRMWARE_PROP, NULL); in fit_conf_print()
287 uname = fdt_stringlist_get(fit, noffset, FIT_FDT_PROP, in fit_conf_print()
297 uname = fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL); in fit_conf_print()
303 uname = fdt_stringlist_get(fit, noffset, FIT_LOADABLE_PROP, in fit_conf_print()
315 for (ndepth = 0, noffset = fdt_next_node(fit, noffset, &ndepth); in fit_conf_print()
317 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_conf_print()
320 fit_image_print_verification_data(fit, noffset, p); in fit_conf_print()
337 void fit_print_contents(const void *fit) in fit_print_contents() argument
354 ret = fit_get_desc(fit, 0, &desc); in fit_print_contents()
362 ret = fit_get_timestamp(fit, 0, ×tamp); in fit_print_contents()
371 images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH); in fit_print_contents()
380 noffset = fdt_next_node(fit, images_noffset, &ndepth); in fit_print_contents()
382 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_print_contents()
389 fit_get_name(fit, noffset, NULL)); in fit_print_contents()
391 fit_image_print(fit, noffset, p); in fit_print_contents()
396 confs_noffset = fdt_path_offset(fit, FIT_CONFS_PATH); in fit_print_contents()
404 uname = (char *)fdt_getprop(fit, noffset, FIT_DEFAULT_PROP, NULL); in fit_print_contents()
410 noffset = fdt_next_node(fit, confs_noffset, &ndepth); in fit_print_contents()
412 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_print_contents()
419 fit_get_name(fit, noffset, NULL)); in fit_print_contents()
421 fit_conf_print(fit, noffset, p); in fit_print_contents()
441 void fit_image_print(const void *fit, int image_noffset, const char *p) in fit_image_print() argument
453 ret = fit_get_desc(fit, image_noffset, &desc); in fit_image_print()
463 ret = fit_get_timestamp(fit, 0, ×tamp); in fit_image_print()
471 fit_image_get_type(fit, image_noffset, &type); in fit_image_print()
474 fit_image_get_comp(fit, image_noffset, &comp); in fit_image_print()
477 ret = fit_image_get_data_and_size(fit, image_noffset, &data, &size); in fit_image_print()
500 fit_image_get_arch(fit, image_noffset, &arch); in fit_image_print()
506 fit_image_get_os(fit, image_noffset, &os); in fit_image_print()
513 ret = fit_image_get_load(fit, image_noffset, &load); in fit_image_print()
522 if (type == IH_TYPE_FLATDT && !fit_image_get_load(fit, image_noffset, &load)) in fit_image_print()
527 ret = fit_image_get_entry(fit, image_noffset, &entry); in fit_image_print()
536 for (ndepth = 0, noffset = fdt_next_node(fit, image_noffset, &ndepth); in fit_image_print()
538 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_image_print()
541 fit_image_print_verification_data(fit, noffset, p); in fit_image_print()
546 void fit_print_contents(const void *fit) { } in fit_print_contents() argument
547 void fit_image_print(const void *fit, int image_noffset, const char *p) { } in fit_image_print() argument
563 int fit_get_desc(const void *fit, int noffset, char **desc) in fit_get_desc() argument
567 *desc = (char *)fdt_getprop(fit, noffset, FIT_DESC_PROP, &len); in fit_get_desc()
569 fit_get_debug(fit, noffset, FIT_DESC_PROP, len); in fit_get_desc()
591 int fit_get_timestamp(const void *fit, int noffset, time_t *timestamp) in fit_get_timestamp() argument
596 data = fdt_getprop(fit, noffset, FIT_TIMESTAMP_PROP, &len); in fit_get_timestamp()
598 fit_get_debug(fit, noffset, FIT_TIMESTAMP_PROP, len); in fit_get_timestamp()
623 int fit_image_get_node(const void *fit, const char *image_uname) in fit_image_get_node() argument
627 images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH); in fit_image_get_node()
634 noffset = fdt_subnode_offset(fit, images_noffset, image_uname); in fit_image_get_node()
657 int fit_image_get_os(const void *fit, int noffset, uint8_t *os) in fit_image_get_os() argument
663 data = fdt_getprop(fit, noffset, FIT_OS_PROP, &len); in fit_image_get_os()
665 fit_get_debug(fit, noffset, FIT_OS_PROP, len); in fit_image_get_os()
689 int fit_image_get_arch(const void *fit, int noffset, uint8_t *arch) in fit_image_get_arch() argument
695 data = fdt_getprop(fit, noffset, FIT_ARCH_PROP, &len); in fit_image_get_arch()
697 fit_get_debug(fit, noffset, FIT_ARCH_PROP, len); in fit_image_get_arch()
721 int fit_image_get_type(const void *fit, int noffset, uint8_t *type) in fit_image_get_type() argument
727 data = fdt_getprop(fit, noffset, FIT_TYPE_PROP, &len); in fit_image_get_type()
729 fit_get_debug(fit, noffset, FIT_TYPE_PROP, len); in fit_image_get_type()
753 int fit_image_get_comp(const void *fit, int noffset, uint8_t *comp) in fit_image_get_comp() argument
759 data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len); in fit_image_get_comp()
761 fit_get_debug(fit, noffset, FIT_COMP_PROP, len); in fit_image_get_comp()
771 static int fit_image_get_address(const void *fit, int noffset, char *name, in fit_image_get_address() argument
778 cell = fdt_getprop(fit, noffset, name, &len); in fit_image_get_address()
780 fit_get_debug(fit, noffset, name, len); in fit_image_get_address()
812 int fit_image_get_load(const void *fit, int noffset, ulong *load) in fit_image_get_load() argument
814 return fit_image_get_address(fit, noffset, FIT_LOAD_PROP, load); in fit_image_get_load()
834 int fit_image_get_entry(const void *fit, int noffset, ulong *entry) in fit_image_get_entry() argument
836 return fit_image_get_address(fit, noffset, FIT_ENTRY_PROP, entry); in fit_image_get_entry()
854 int fit_image_get_data(const void *fit, int noffset, in fit_image_get_data() argument
859 *data = fdt_getprop(fit, noffset, FIT_DATA_PROP, &len); in fit_image_get_data()
861 fit_get_debug(fit, noffset, FIT_DATA_PROP, len); in fit_image_get_data()
881 int fit_image_get_data_offset(const void *fit, int noffset, int *data_offset) in fit_image_get_data_offset() argument
885 val = fdt_getprop(fit, noffset, FIT_DATA_OFFSET_PROP, NULL); in fit_image_get_data_offset()
905 int fit_image_get_data_position(const void *fit, int noffset, in fit_image_get_data_position() argument
910 val = fdt_getprop(fit, noffset, FIT_DATA_POSITION_PROP, NULL); in fit_image_get_data_position()
930 int fit_image_get_data_size(const void *fit, int noffset, int *data_size) in fit_image_get_data_size() argument
934 val = fdt_getprop(fit, noffset, FIT_DATA_SIZE_PROP, NULL); in fit_image_get_data_size()
959 int fit_image_get_data_and_size(const void *fit, int noffset, in fit_image_get_data_and_size() argument
967 if (!fit_image_get_data_position(fit, noffset, &offset)) { in fit_image_get_data_and_size()
969 } else if (!fit_image_get_data_offset(fit, noffset, &offset)) { in fit_image_get_data_and_size()
976 offset += ((fdt_totalsize(fit) + 3) & ~3); in fit_image_get_data_and_size()
981 ret = fit_image_get_data_size(fit, noffset, &len); in fit_image_get_data_and_size()
982 *data = fit + offset; in fit_image_get_data_and_size()
985 ret = fit_image_get_data(fit, noffset, data, size); in fit_image_get_data_and_size()
1004 int fit_image_hash_get_algo(const void *fit, int noffset, char **algo) in fit_image_hash_get_algo() argument
1008 *algo = (char *)fdt_getprop(fit, noffset, FIT_ALGO_PROP, &len); in fit_image_hash_get_algo()
1010 fit_get_debug(fit, noffset, FIT_ALGO_PROP, len); in fit_image_hash_get_algo()
1032 int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value, in fit_image_hash_get_value() argument
1037 *value = (uint8_t *)fdt_getprop(fit, noffset, FIT_VALUE_PROP, &len); in fit_image_hash_get_value()
1039 fit_get_debug(fit, noffset, FIT_VALUE_PROP, len); in fit_image_hash_get_value()
1062 static int fit_image_hash_get_ignore(const void *fit, int noffset, int *ignore) in fit_image_hash_get_ignore() argument
1067 value = (int *)fdt_getprop(fit, noffset, FIT_IGNORE_PROP, &len); in fit_image_hash_get_ignore()
1076 ulong fit_get_end(const void *fit) in fit_get_end() argument
1078 return map_to_sysmem((void *)(fit + fdt_totalsize(fit))); in fit_get_end()
1094 int fit_set_timestamp(void *fit, int noffset, time_t timestamp) in fit_set_timestamp() argument
1100 ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t, in fit_set_timestamp()
1104 FIT_TIMESTAMP_PROP, fit_get_name(fit, noffset, NULL), in fit_set_timestamp()
1156 static int fit_image_check_hash(const void *fit, int noffset, const void *data, in fit_image_check_hash() argument
1168 if (fit_image_hash_get_algo(fit, noffset, &algo)) { in fit_image_check_hash()
1175 fit_image_hash_get_ignore(fit, noffset, &ignore); in fit_image_check_hash()
1182 if (fit_image_hash_get_value(fit, noffset, &fit_value, in fit_image_check_hash()
1204 int fit_image_verify_with_data(const void *fit, int image_noffset, in fit_image_verify_with_data() argument
1214 fit_image_verify_required_sigs(fit, image_noffset, data, size, in fit_image_verify_with_data()
1221 fdt_for_each_subnode(noffset, fit, image_noffset) { in fit_image_verify_with_data()
1222 const char *name = fit_get_name(fit, noffset, NULL); in fit_image_verify_with_data()
1231 if (fit_image_check_hash(fit, noffset, data, size, in fit_image_verify_with_data()
1238 ret = fit_image_check_sig(fit, noffset, data, in fit_image_verify_with_data()
1263 err_msg, fit_get_name(fit, noffset, NULL), in fit_image_verify_with_data()
1264 fit_get_name(fit, image_noffset, NULL)); in fit_image_verify_with_data()
1281 int fit_image_verify(const void *fit, int image_noffset) in fit_image_verify() argument
1289 if (fit_image_get_data_and_size(fit, image_noffset, &data, &size)) { in fit_image_verify()
1292 err_msg, fit_get_name(fit, noffset, NULL), in fit_image_verify()
1293 fit_get_name(fit, image_noffset, NULL)); in fit_image_verify()
1297 return fit_image_verify_with_data(fit, image_noffset, data, size); in fit_image_verify()
1311 int fit_all_image_verify(const void *fit) in fit_all_image_verify() argument
1319 images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH); in fit_all_image_verify()
1328 (ulong)fit); in fit_all_image_verify()
1330 noffset = fdt_next_node(fit, images_noffset, &ndepth); in fit_all_image_verify()
1332 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_all_image_verify()
1339 fit_get_name(fit, noffset, NULL)); in fit_all_image_verify()
1342 if (!fit_image_verify(fit, noffset)) in fit_all_image_verify()
1363 int fit_image_check_os(const void *fit, int noffset, uint8_t os) in fit_image_check_os() argument
1367 if (fit_image_get_os(fit, noffset, &image_os)) in fit_image_check_os()
1385 int fit_image_check_arch(const void *fit, int noffset, uint8_t arch) in fit_image_check_arch() argument
1394 if (fit_image_get_arch(fit, noffset, &image_arch)) in fit_image_check_arch()
1415 int fit_image_check_type(const void *fit, int noffset, uint8_t type) in fit_image_check_type() argument
1419 if (fit_image_get_type(fit, noffset, &image_type)) in fit_image_check_type()
1438 int fit_image_check_comp(const void *fit, int noffset, uint8_t comp) in fit_image_check_comp() argument
1442 if (fit_image_get_comp(fit, noffset, &image_comp)) in fit_image_check_comp()
1458 int fit_check_format(const void *fit) in fit_check_format() argument
1461 if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) { in fit_check_format()
1468 if (fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL) == NULL) { in fit_check_format()
1475 if (fdt_path_offset(fit, FIT_IMAGES_PATH) < 0) { in fit_check_format()
1523 int fit_conf_find_compat(const void *fit, const void *fdt) in fit_conf_find_compat() argument
1532 confs_noffset = fdt_path_offset(fit, FIT_CONFS_PATH); in fit_conf_find_compat()
1533 images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH); in fit_conf_find_compat()
1548 for (noffset = fdt_next_node(fit, confs_noffset, &ndepth); in fit_conf_find_compat()
1550 noffset = fdt_next_node(fit, noffset, &ndepth)) { in fit_conf_find_compat()
1562 kfdt_name = fdt_getprop(fit, noffset, "fdt", &len); in fit_conf_find_compat()
1567 kfdt_noffset = fdt_subnode_offset(fit, images_noffset, in fit_conf_find_compat()
1577 if (fit_image_get_data(fit, kfdt_noffset, &kfdt, &size)) { in fit_conf_find_compat()
1628 int fit_conf_get_node(const void *fit, const char *conf_uname) in fit_conf_get_node() argument
1635 confs_noffset = fdt_path_offset(fit, FIT_CONFS_PATH); in fit_conf_get_node()
1645 conf_uname = (char *)fdt_getprop(fit, confs_noffset, in fit_conf_get_node()
1648 fit_get_debug(fit, confs_noffset, FIT_DEFAULT_PROP, in fit_conf_get_node()
1669 noffset = fdt_subnode_offset(fit, confs_noffset, conf_uname); in fit_conf_get_node()
1681 int fit_conf_get_prop_node_count(const void *fit, int noffset, in fit_conf_get_prop_node_count() argument
1684 return fdt_stringlist_count(fit, noffset, prop_name); in fit_conf_get_prop_node_count()
1687 int fit_conf_get_prop_node_index(const void *fit, int noffset, in fit_conf_get_prop_node_index() argument
1694 uname = fdt_stringlist_get(fit, noffset, prop_name, index, &len); in fit_conf_get_prop_node_index()
1698 return fit_image_get_node(fit, uname); in fit_conf_get_prop_node_index()
1701 int fit_conf_get_prop_node(const void *fit, int noffset, in fit_conf_get_prop_node() argument
1704 return fit_conf_get_prop_node_index(fit, noffset, prop_name, 0); in fit_conf_get_prop_node()
1707 static int fit_image_select(const void *fit, int rd_noffset, int verify) in fit_image_select() argument
1709 fit_image_print(fit, rd_noffset, " "); in fit_image_select()
1713 if (!fit_image_verify(fit, rd_noffset)) { in fit_image_select()
1792 const void *fit; in fit_image_load() local
1804 fit = map_sysmem(addr, 0); in fit_image_load()
1812 if (!fit_check_format(fit)) { in fit_image_load()
1821 noffset = fit_image_get_node(fit, fit_uname); in fit_image_load()
1830 cfg_noffset = fit_conf_find_compat(fit, gd_fdt_blob()); in fit_image_load()
1832 cfg_noffset = fit_conf_get_node(fit, in fit_image_load()
1841 fit_base_uname_config = fdt_get_name(fit, cfg_noffset, NULL); in fit_image_load()
1848 if (fit_config_verify(fit, cfg_noffset)) { in fit_image_load()
1859 noffset = fit_conf_get_prop_node(fit, cfg_noffset, in fit_image_load()
1861 fit_uname = fit_get_name(fit, noffset, NULL); in fit_image_load()
1871 ret = fit_image_select(fit, noffset, images->verify); in fit_image_load()
1879 if (!fit_image_check_target_arch(fit, noffset)) { in fit_image_load()
1887 fit_image_get_arch(fit, noffset, &os_arch); in fit_image_load()
1892 !fit_image_check_comp(fit, noffset, IH_COMP_NONE)) { in fit_image_load()
1898 type_ok = fit_image_check_type(fit, noffset, image_type) || in fit_image_load()
1899 fit_image_check_type(fit, noffset, IH_TYPE_FIRMWARE) || in fit_image_load()
1901 fit_image_check_type(fit, noffset, IH_TYPE_KERNEL_NOLOAD)); in fit_image_load()
1905 fit_image_check_os(fit, noffset, IH_OS_LINUX) || in fit_image_load()
1906 fit_image_check_os(fit, noffset, IH_OS_U_BOOT) || in fit_image_load()
1907 fit_image_check_os(fit, noffset, IH_OS_OPENRTOS); in fit_image_load()
1915 fit_image_get_os(fit, noffset, &os); in fit_image_load()
1927 if (fit_image_get_data_and_size(fit, noffset, &buf, &size)) { in fit_image_load()
1961 } else if (fit_image_get_load(fit, noffset, &load)) { in fit_image_load()
1978 image_end = addr + fit_get_size(fit); in fit_image_load()
2033 const void *fit; in boot_get_fdt_fit() local
2075 fit = map_sysmem(addr, 0); in boot_get_fdt_fit()
2077 cfg_noffset = fit_conf_get_node(fit, fit_uname_config); in boot_get_fdt_fit()
2080 count = fit_conf_get_prop_node_count(fit, cfg_noffset, FIT_FDT_PROP); in boot_get_fdt_fit()
2088 image_end = addr + fit_get_size(fit); in boot_get_fdt_fit()
2102 noffset = fit_conf_get_prop_node_index(fit, cfg_noffset, in boot_get_fdt_fit()
2104 uname = fit_get_name(fit, noffset, NULL); in boot_get_fdt_fit()