Lines Matching refs:hdr
21 static ulong android_image_get_kernel_addr(const struct andr_img_hdr *hdr) in android_image_get_kernel_addr() argument
34 if (hdr->kernel_addr == ANDROID_IMAGE_DEFAULT_KERNEL_ADDR) in android_image_get_kernel_addr()
35 return (ulong)hdr + hdr->page_size; in android_image_get_kernel_addr()
41 if (hdr->kernel_addr == 0 && hdr->ramdisk_addr == 0) in android_image_get_kernel_addr()
44 return hdr->kernel_addr; in android_image_get_kernel_addr()
62 int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify, in android_image_get_kernel() argument
65 u32 kernel_addr = android_image_get_kernel_addr(hdr); in android_image_get_kernel()
67 ((uintptr_t)hdr + hdr->page_size); in android_image_get_kernel()
74 strncpy(andr_tmp_str, hdr->name, ANDR_BOOT_NAME_SIZE); in android_image_get_kernel()
80 kernel_addr, DIV_ROUND_UP(hdr->kernel_size, 1024)); in android_image_get_kernel()
83 if (*hdr->cmdline) { in android_image_get_kernel()
84 printf("Kernel command line: %s\n", hdr->cmdline); in android_image_get_kernel()
85 len += strlen(hdr->cmdline); in android_image_get_kernel()
103 if (*hdr->cmdline) in android_image_get_kernel()
104 strcat(newbootargs, hdr->cmdline); in android_image_get_kernel()
112 *os_data = (ulong)hdr; in android_image_get_kernel()
113 *os_data += hdr->page_size; in android_image_get_kernel()
120 *os_len = hdr->kernel_size; in android_image_get_kernel()
125 int android_image_check_header(const struct andr_img_hdr *hdr) in android_image_check_header() argument
127 return memcmp(ANDR_BOOT_MAGIC, hdr->magic, ANDR_BOOT_MAGIC_SIZE); in android_image_check_header()
130 ulong android_image_get_end(const struct andr_img_hdr *hdr) in android_image_get_end() argument
138 end = (ulong)hdr; in android_image_get_end()
139 end += hdr->page_size; in android_image_get_end()
140 end += ALIGN(hdr->kernel_size, hdr->page_size); in android_image_get_end()
141 end += ALIGN(hdr->ramdisk_size, hdr->page_size); in android_image_get_end()
142 end += ALIGN(hdr->second_size, hdr->page_size); in android_image_get_end()
144 if (hdr->header_version >= 1) in android_image_get_end()
145 end += ALIGN(hdr->recovery_dtbo_size, hdr->page_size); in android_image_get_end()
147 if (hdr->header_version >= 2) in android_image_get_end()
148 end += ALIGN(hdr->dtb_size, hdr->page_size); in android_image_get_end()
153 ulong android_image_get_kload(const struct andr_img_hdr *hdr) in android_image_get_kload() argument
155 return android_image_get_kernel_addr(hdr); in android_image_get_kload()
158 ulong android_image_get_kcomp(const struct andr_img_hdr *hdr) in android_image_get_kcomp() argument
160 const void *p = (void *)((uintptr_t)hdr + hdr->page_size); in android_image_get_kcomp()
170 int android_image_get_ramdisk(const struct andr_img_hdr *hdr, in android_image_get_ramdisk() argument
173 if (!hdr->ramdisk_size) { in android_image_get_ramdisk()
179 hdr->ramdisk_addr, DIV_ROUND_UP(hdr->ramdisk_size, 1024)); in android_image_get_ramdisk()
181 *rd_data = (unsigned long)hdr; in android_image_get_ramdisk()
182 *rd_data += hdr->page_size; in android_image_get_ramdisk()
183 *rd_data += ALIGN(hdr->kernel_size, hdr->page_size); in android_image_get_ramdisk()
185 *rd_len = hdr->ramdisk_size; in android_image_get_ramdisk()
189 int android_image_get_second(const struct andr_img_hdr *hdr, in android_image_get_second() argument
192 if (!hdr->second_size) { in android_image_get_second()
197 *second_data = (unsigned long)hdr; in android_image_get_second()
198 *second_data += hdr->page_size; in android_image_get_second()
199 *second_data += ALIGN(hdr->kernel_size, hdr->page_size); in android_image_get_second()
200 *second_data += ALIGN(hdr->ramdisk_size, hdr->page_size); in android_image_get_second()
204 *second_len = hdr->second_size; in android_image_get_second()
229 const struct andr_img_hdr *hdr; in android_image_get_dtbo() local
233 hdr = map_sysmem(hdr_addr, sizeof(*hdr)); in android_image_get_dtbo()
234 if (android_image_check_header(hdr)) { in android_image_get_dtbo()
240 if (hdr->header_version < 1) { in android_image_get_dtbo()
246 if (hdr->recovery_dtbo_size == 0) { in android_image_get_dtbo()
254 dtbo_img_addr += hdr->page_size; in android_image_get_dtbo()
255 dtbo_img_addr += ALIGN(hdr->kernel_size, hdr->page_size); in android_image_get_dtbo()
256 dtbo_img_addr += ALIGN(hdr->ramdisk_size, hdr->page_size); in android_image_get_dtbo()
257 dtbo_img_addr += ALIGN(hdr->second_size, hdr->page_size); in android_image_get_dtbo()
262 *size = hdr->recovery_dtbo_size; in android_image_get_dtbo()
265 unmap_sysmem(hdr); in android_image_get_dtbo()
278 const struct andr_img_hdr *hdr; in android_image_get_dtb_img_addr() local
282 hdr = map_sysmem(hdr_addr, sizeof(*hdr)); in android_image_get_dtb_img_addr()
283 if (android_image_check_header(hdr)) { in android_image_get_dtb_img_addr()
289 if (hdr->header_version < 2) { in android_image_get_dtb_img_addr()
295 if (hdr->dtb_size == 0) { in android_image_get_dtb_img_addr()
303 dtb_img_addr += hdr->page_size; in android_image_get_dtb_img_addr()
304 dtb_img_addr += ALIGN(hdr->kernel_size, hdr->page_size); in android_image_get_dtb_img_addr()
305 dtb_img_addr += ALIGN(hdr->ramdisk_size, hdr->page_size); in android_image_get_dtb_img_addr()
306 dtb_img_addr += ALIGN(hdr->second_size, hdr->page_size); in android_image_get_dtb_img_addr()
307 dtb_img_addr += ALIGN(hdr->recovery_dtbo_size, hdr->page_size); in android_image_get_dtb_img_addr()
312 unmap_sysmem(hdr); in android_image_get_dtb_img_addr()
331 const struct andr_img_hdr *hdr; in android_image_get_dtb_by_index() local
349 hdr = map_sysmem(hdr_addr, sizeof(*hdr)); in android_image_get_dtb_by_index()
350 dtb_img_size = hdr->dtb_size; in android_image_get_dtb_by_index()
351 unmap_sysmem(hdr); in android_image_get_dtb_by_index()
396 void android_print_contents(const struct andr_img_hdr *hdr) in android_print_contents() argument
400 u32 os_ver = hdr->os_version >> 11; in android_print_contents()
401 u32 os_lvl = hdr->os_version & ((1U << 11) - 1); in android_print_contents()
403 printf("%skernel size: %x\n", p, hdr->kernel_size); in android_print_contents()
404 printf("%skernel address: %x\n", p, hdr->kernel_addr); in android_print_contents()
405 printf("%sramdisk size: %x\n", p, hdr->ramdisk_size); in android_print_contents()
406 printf("%sramdisk address: %x\n", p, hdr->ramdisk_addr); in android_print_contents()
407 printf("%ssecond size: %x\n", p, hdr->second_size); in android_print_contents()
408 printf("%ssecond address: %x\n", p, hdr->second_addr); in android_print_contents()
409 printf("%stags address: %x\n", p, hdr->tags_addr); in android_print_contents()
410 printf("%spage size: %x\n", p, hdr->page_size); in android_print_contents()
414 p, hdr->os_version, in android_print_contents()
417 printf("%sname: %s\n", p, hdr->name); in android_print_contents()
418 printf("%scmdline: %s\n", p, hdr->cmdline); in android_print_contents()
419 printf("%sheader_version: %d\n", p, hdr->header_version); in android_print_contents()
421 if (hdr->header_version >= 1) { in android_print_contents()
423 hdr->recovery_dtbo_size); in android_print_contents()
425 hdr->recovery_dtbo_offset); in android_print_contents()
427 hdr->header_size); in android_print_contents()
430 if (hdr->header_version >= 2) { in android_print_contents()
431 printf("%sdtb size: %x\n", p, hdr->dtb_size); in android_print_contents()
432 printf("%sdtb addr: %llx\n", p, hdr->dtb_addr); in android_print_contents()
488 const struct andr_img_hdr *hdr; in android_image_print_dtb_contents() local
509 hdr = map_sysmem(hdr_addr, sizeof(*hdr)); in android_image_print_dtb_contents()
510 dtb_img_size = hdr->dtb_size; in android_image_print_dtb_contents()
511 unmap_sysmem(hdr); in android_image_print_dtb_contents()