[U-Boot] [PATCH] crypto/fsl: Update blob cmd to accept 64bit addresses

Sumit Garg sumit.garg at nxp.com
Thu Jul 14 19:27:50 CEST 2016


Update blob cmd to accept 64bit source, key modifier and destination
addresses. Also correct output result print format for fsl specific
implementation of blob cmd.

Signed-off-by: Sumit Garg <sumit.garg at nxp.com>
---
 cmd/blob.c                    |  2 +-
 drivers/crypto/fsl/fsl_blob.c | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/cmd/blob.c b/cmd/blob.c
index ac8b268..bdd4cfd 100644
--- a/cmd/blob.c
+++ b/cmd/blob.c
@@ -54,7 +54,7 @@ __weak int blob_encap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
  */
 static int do_blob(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
-	uint32_t key_addr, src_addr, dst_addr, len;
+	ulong key_addr, src_addr, dst_addr, len;
 	uint8_t *km_ptr, *src_ptr, *dst_ptr;
 	int enc, ret = 0;
 
diff --git a/drivers/crypto/fsl/fsl_blob.c b/drivers/crypto/fsl/fsl_blob.c
index 8b25921..d24b8fc 100644
--- a/drivers/crypto/fsl/fsl_blob.c
+++ b/drivers/crypto/fsl/fsl_blob.c
@@ -18,7 +18,7 @@ int blob_decap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
 	int ret, i = 0;
 	u32 *desc;
 
-	printf("\nDecapsulating data to form blob\n");
+	printf("\nDecapsulating blob to get data\n");
 	desc = malloc(sizeof(int) * MAX_CAAM_DESCSIZE);
 	if (!desc) {
 		debug("Not enough memory for descriptor allocation\n");
@@ -27,12 +27,15 @@ int blob_decap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
 
 	inline_cnstr_jobdesc_blob_decap(desc, key_mod, src, dst, len);
 
+	debug("Descriptor dump:\n");
 	for (i = 0; i < 14; i++)
-		printf("%x\n", *(desc + i));
+		debug("Word[%d]: %08x\n", i, *(desc + i));
 	ret = run_descriptor_jr(desc);
 
 	if (ret)
 		printf("Error in Decapsulation %d\n", ret);
+	else
+		printf("Decapsulation Success\n");
 
 	free(desc);
 	return ret;
@@ -51,12 +54,16 @@ int blob_encap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
 	}
 
 	inline_cnstr_jobdesc_blob_encap(desc, key_mod, src, dst, len);
+
+	debug("Descriptor dump:\n");
 	for (i = 0; i < 14; i++)
-		printf("%x\n", *(desc + i));
+		debug("Word[%d]: %08x\n", i, *(desc + i));
 	ret = run_descriptor_jr(desc);
 
 	if (ret)
 		printf("Error in Encapsulation %d\n", ret);
+	else
+		printf("Encapsulation Success\n");
 
 	free(desc);
 	return ret;
-- 
1.8.1.4



More information about the U-Boot mailing list