Merge tag 'u-boot-rockchip-20200531' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / tools / fit_check_sign.c
index 69e99c0d179e048231b8c6ef0429e47e54ec3cfe..9375d5cf72de95505da6ee607fd97bba21d261af 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2014
  * DENX Software Engineering
@@ -15,8 +16,6 @@
  *             some functions added to address abstraction
  *
  * All rights reserved.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include "mkimage.h"
@@ -42,6 +41,7 @@ int main(int argc, char **argv)
        void *fit_blob;
        char *fdtfile = NULL;
        char *keyfile = NULL;
+       char *config_name = NULL;
        char cmdname[256];
        int ret;
        void *key_blob;
@@ -49,7 +49,7 @@ int main(int argc, char **argv)
 
        strncpy(cmdname, *argv, sizeof(cmdname) - 1);
        cmdname[sizeof(cmdname) - 1] = '\0';
-       while ((c = getopt(argc, argv, "f:k:")) != -1)
+       while ((c = getopt(argc, argv, "f:k:c:")) != -1)
                switch (c) {
                case 'f':
                        fdtfile = optarg;
@@ -57,6 +57,9 @@ int main(int argc, char **argv)
                case 'k':
                        keyfile = optarg;
                        break;
+               case 'c':
+                       config_name = optarg;
+                       break;
                default:
                        usage(cmdname);
                        break;
@@ -71,15 +74,15 @@ int main(int argc, char **argv)
                usage(*argv);
        }
 
-       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false);
+       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, true);
        if (ffd < 0)
                return EXIT_FAILURE;
-       kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false);
-       if (ffd < 0)
+       kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
+       if (kfd < 0)
                return EXIT_FAILURE;
 
        image_set_host_blob(key_blob);
-       ret = fit_check_sign(fit_blob, key_blob);
+       ret = fit_check_sign(fit_blob, key_blob, config_name);
        if (!ret) {
                ret = EXIT_SUCCESS;
                fprintf(stderr, "Signature check OK\n");