Lines Matching refs:fdt

40 static int fdt_find_and_del_mem_rsv(void *fdt, unsigned long start, unsigned long size)  in fdt_find_and_del_mem_rsv()  argument
42 int i, ret, num_rsvs = fdt_num_mem_rsv(fdt); in fdt_find_and_del_mem_rsv()
47 ret = fdt_get_mem_rsv(fdt, i, &rsv_start, &rsv_size); in fdt_find_and_del_mem_rsv()
54 ret = fdt_del_mem_rsv(fdt, i); in fdt_find_and_del_mem_rsv()
201 static void remove_ima_buffer(void *fdt, int chosen_node) in remove_ima_buffer() argument
211 prop = fdt_getprop(fdt, chosen_node, "linux,ima-kexec-buffer", &len); in remove_ima_buffer()
216 fdt_delprop(fdt, chosen_node, "linux,ima-kexec-buffer"); in remove_ima_buffer()
220 ret = fdt_find_and_del_mem_rsv(fdt, addr, size); in remove_ima_buffer()
234 static int setup_ima_buffer(const struct kimage *image, void *fdt, in setup_ima_buffer() argument
242 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, in setup_ima_buffer()
249 ret = fdt_add_mem_rsv(fdt, image->ima_buffer_addr, in setup_ima_buffer()
260 static inline int setup_ima_buffer(const struct kimage *image, void *fdt, in setup_ima_buffer() argument
267 static int kho_add_chosen(const struct kimage *image, void *fdt, int chosen_node) in kho_add_chosen() argument
276 ret = fdt_delprop(fdt, chosen_node, "linux,kho-fdt"); in kho_add_chosen()
279 ret = fdt_delprop(fdt, chosen_node, "linux,kho-scratch"); in kho_add_chosen()
283 if (!image->kho.fdt || !image->kho.scratch) in kho_add_chosen()
286 fdt_mem = image->kho.fdt; in kho_add_chosen()
293 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, "linux,kho-fdt", in kho_add_chosen()
297 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, "linux,kho-scratch", in kho_add_chosen()
321 void *fdt; in of_kexec_alloc_and_setup_fdt() local
330 fdt = kvmalloc(fdt_size, GFP_KERNEL); in of_kexec_alloc_and_setup_fdt()
331 if (!fdt) in of_kexec_alloc_and_setup_fdt()
334 ret = fdt_open_into(initial_boot_params, fdt, fdt_size); in of_kexec_alloc_and_setup_fdt()
341 ret = fdt_find_and_del_mem_rsv(fdt, initial_boot_params_pa, in of_kexec_alloc_and_setup_fdt()
348 chosen_node = fdt_path_offset(fdt, "/chosen"); in of_kexec_alloc_and_setup_fdt()
350 chosen_node = fdt_add_subnode(fdt, fdt_path_offset(fdt, "/"), in of_kexec_alloc_and_setup_fdt()
357 ret = fdt_delprop(fdt, chosen_node, "linux,elfcorehdr"); in of_kexec_alloc_and_setup_fdt()
360 ret = fdt_delprop(fdt, chosen_node, "linux,usable-memory-range"); in of_kexec_alloc_and_setup_fdt()
365 prop = fdt_getprop(fdt, chosen_node, "linux,initrd-start", &len); in of_kexec_alloc_and_setup_fdt()
371 prop = fdt_getprop(fdt, chosen_node, "linux,initrd-end", &len); in of_kexec_alloc_and_setup_fdt()
384 ret = fdt_find_and_del_mem_rsv(fdt, tmp_start, tmp_size); in of_kexec_alloc_and_setup_fdt()
386 ret = fdt_find_and_del_mem_rsv(fdt, tmp_start, in of_kexec_alloc_and_setup_fdt()
394 ret = fdt_setprop_u64(fdt, chosen_node, "linux,initrd-start", in of_kexec_alloc_and_setup_fdt()
399 ret = fdt_setprop_u64(fdt, chosen_node, "linux,initrd-end", in of_kexec_alloc_and_setup_fdt()
404 ret = fdt_add_mem_rsv(fdt, initrd_load_addr, initrd_len); in of_kexec_alloc_and_setup_fdt()
409 ret = fdt_delprop(fdt, chosen_node, "linux,initrd-start"); in of_kexec_alloc_and_setup_fdt()
413 ret = fdt_delprop(fdt, chosen_node, "linux,initrd-end"); in of_kexec_alloc_and_setup_fdt()
420 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, in of_kexec_alloc_and_setup_fdt()
430 ret = fdt_add_mem_rsv(fdt, image->elf_load_addr, in of_kexec_alloc_and_setup_fdt()
437 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, in of_kexec_alloc_and_setup_fdt()
444 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node, in of_kexec_alloc_and_setup_fdt()
455 ret = kho_add_chosen(image, fdt, chosen_node); in of_kexec_alloc_and_setup_fdt()
461 ret = fdt_setprop_string(fdt, chosen_node, "bootargs", cmdline); in of_kexec_alloc_and_setup_fdt()
465 ret = fdt_delprop(fdt, chosen_node, "bootargs"); in of_kexec_alloc_and_setup_fdt()
471 ret = fdt_delprop(fdt, chosen_node, "kaslr-seed"); in of_kexec_alloc_and_setup_fdt()
480 ret = fdt_setprop_u64(fdt, chosen_node, "kaslr-seed", seed); in of_kexec_alloc_and_setup_fdt()
492 ret = fdt_setprop_placeholder(fdt, chosen_node, "rng-seed", in of_kexec_alloc_and_setup_fdt()
502 ret = fdt_setprop(fdt, chosen_node, "linux,booted-from-kexec", NULL, 0); in of_kexec_alloc_and_setup_fdt()
506 remove_ima_buffer(fdt, chosen_node); in of_kexec_alloc_and_setup_fdt()
507 ret = setup_ima_buffer(image, fdt, fdt_path_offset(fdt, "/chosen")); in of_kexec_alloc_and_setup_fdt()
511 kvfree(fdt); in of_kexec_alloc_and_setup_fdt()
512 fdt = NULL; in of_kexec_alloc_and_setup_fdt()
515 return fdt; in of_kexec_alloc_and_setup_fdt()