Lines Matching +full:mode +full:- +full:loader
2 * (C) Copyright 2008-2015 Fuzhou Rockchip Electronics Co., Ltd
4 * SPDX-License-Identifier: GPL-2.0+
9 #include <u-boot/sha256.h>
10 #include <u-boot/crc.h>
17 #define OPT_PACK "--pack"
18 #define OPT_UNPACK "--unpack"
19 #define OPT_UBOOT "--uboot"
20 #define OPT_TRUSTOS "--trustos"
21 #define OPT_KERNEL "--kernel"
22 #define OPT_SIZE "--size"
23 #define OPT_VERSION "--version"
24 #define OPT_INFO "--info"
25 #define OPT_PREPATH "--prepath"
53 U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" CONFIG_IDENT_STRING
55 #define RK_UBOOT_MAGIC "LOADER "
86 unsigned char reserved[1024-32-32-4];
90 uint8_t reserved2[2048 - 1024 - 256 - 8];
95 fprintf(stderr, "Usage: %s [--pack|--unpack] [--uboot|--trustos|--kernel]\ in usage()
97 "file_out [load_addr] [--size] [size number]\ in usage()
98 [--version] " in usage()
99 "[version] | [--info] [file]\n", in usage()
115 value = value * 16 + *str - '0'; in str2hex()
117 value = value * 16 + *str - 'a' + 10; in str2hex()
119 value = value * 16 + *str - 'A' + 10; in str2hex()
139 int mode = -1, image = -1; in main() local
142 uint32_t loader_addr, in_loader_addr = -1; in main()
160 mode = MODE_PACK; in main()
162 mode = MODE_UNPACK; in main()
167 /* detect whether loader address is delivered */ in main()
168 if ((argv[i + 1]) && (strncmp(argv[i + 1], "--", 2))) in main()
174 /* detect whether loader address is delivered */ in main()
175 if ((argv[i + 1]) && (strncmp(argv[i + 1], "--", 2))) in main()
181 /* detect whether loader address is delivered */ in main()
182 if ((argv[i + 1]) && (strncmp(argv[i + 1], "--", 2))) in main()
203 mode = MODE_INFO; in main()
221 (in_loader_addr == -1) ? RK_UBOOT_RUNNING_ADDR : in_loader_addr; in main()
229 (in_loader_addr == -1) ? RK_TRUST_RUNNING_ADDR : in_loader_addr; in main()
237 (in_loader_addr == -1) ? RK_KERNEL_RUNNING_ADDR : in_loader_addr; in main()
239 } else if (mode == MODE_INFO) { in main()
245 if (mode == MODE_PACK) { in main()
284 if (size > max_size - sizeof(second_loader_hdr)) { in main()
295 /* Aligned size to 4-byte, Rockchip HW Crypto need 4-byte align */ in main()
350 } else if (mode == MODE_UNPACK) { in main()
387 } else if (mode == MODE_INFO) { in main()
405 if (!(memcmp(RK_UBOOT_MAGIC, hdr->magic, 5)) || in main()
406 !(memcmp(RK_TRUST_MAGIC, hdr->magic, 3))) { in main()
408 printf("Rollback index is %d\n", hdr->version); in main()
409 printf("Load Addr is 0x%x\n", hdr->loader_load_addr); in main()