All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] ARM: keystone2: Add support for parsing monitor header
@ 2016-09-16  4:47 Lokesh Vutla
  2016-09-16 11:17 ` Tom Rini
  2016-10-03 13:37 ` [U-Boot] [U-Boot, " Tom Rini
  0 siblings, 2 replies; 3+ messages in thread
From: Lokesh Vutla @ 2016-09-16  4:47 UTC (permalink / raw)
  To: u-boot

Given that boot monitor image is being generated to a specific target location
depending on the SoC and U-boot relies on addr_mon env variable to be aligned
with boot monitor target location. When ever the target address gets updated in
boot monitor, it is difficult to sync between u-boot and boot monitor and also
there is no way to update user that boot monitor image is updated.

To avoid this problem, boot monitor image is being generated with mkimage
header. Adding support in mon_install command for parsing this header.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 arch/arm/mach-keystone/cmd_mon.c | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-keystone/cmd_mon.c b/arch/arm/mach-keystone/cmd_mon.c
index 6a9bdc9..591e758 100644
--- a/arch/arm/mach-keystone/cmd_mon.c
+++ b/arch/arm/mach-keystone/cmd_mon.c
@@ -9,14 +9,16 @@
 
 #include <common.h>
 #include <command.h>
+#include <image.h>
 #include <mach/mon.h>
 asm(".arch_extension sec\n\t");
 
 static int do_mon_install(cmd_tbl_t *cmdtp, int flag, int argc,
 			  char * const argv[])
 {
-	u32 addr, dpsc_base = 0x1E80000, freq;
+	u32 addr, dpsc_base = 0x1E80000, freq, load_addr, size;
 	int     rcode = 0;
+	struct image_header *header;
 
 	if (argc < 2)
 		return CMD_RET_USAGE;
@@ -25,9 +27,21 @@ static int do_mon_install(cmd_tbl_t *cmdtp, int flag, int argc,
 
 	addr = simple_strtoul(argv[1], NULL, 16);
 
-	rcode = mon_install(addr, dpsc_base, freq);
-	printf("## installed monitor, freq [%d], status %d\n",
-	       freq, rcode);
+	header = (struct image_header *)addr;
+
+	if (image_get_magic(header) != IH_MAGIC) {
+		printf("## Please update monitor image\n");
+		return -EFAULT;
+	}
+
+	load_addr = image_get_load(header);
+	size = image_get_data_size(header);
+	memcpy((void *)load_addr, (void *)(addr + sizeof(struct image_header)),
+	       size);
+
+	rcode = mon_install(load_addr, dpsc_base, freq);
+	printf("## installed monitor @ 0x%x, freq [%d], status %d\n",
+	       load_addr, freq, rcode);
 
 	return 0;
 }
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: keystone2: Add support for parsing monitor header
  2016-09-16  4:47 [U-Boot] [PATCH 1/2] ARM: keystone2: Add support for parsing monitor header Lokesh Vutla
@ 2016-09-16 11:17 ` Tom Rini
  2016-10-03 13:37 ` [U-Boot] [U-Boot, " Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2016-09-16 11:17 UTC (permalink / raw)
  To: u-boot

On Fri, Sep 16, 2016 at 10:17:12AM +0530, Lokesh Vutla wrote:

> Given that boot monitor image is being generated to a specific target location
> depending on the SoC and U-boot relies on addr_mon env variable to be aligned
> with boot monitor target location. When ever the target address gets updated in
> boot monitor, it is difficult to sync between u-boot and boot monitor and also
> there is no way to update user that boot monitor image is updated.
> 
> To avoid this problem, boot monitor image is being generated with mkimage
> header. Adding support in mon_install command for parsing this header.
> 
> Signed-off-by: Suman Anna <s-anna@ti.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160916/82f86388/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [U-Boot, 1/2] ARM: keystone2: Add support for parsing monitor header
  2016-09-16  4:47 [U-Boot] [PATCH 1/2] ARM: keystone2: Add support for parsing monitor header Lokesh Vutla
  2016-09-16 11:17 ` Tom Rini
@ 2016-10-03 13:37 ` Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2016-10-03 13:37 UTC (permalink / raw)
  To: u-boot

On Fri, Sep 16, 2016 at 10:17:12AM +0530, Lokesh Vutla wrote:

> Given that boot monitor image is being generated to a specific target location
> depending on the SoC and U-boot relies on addr_mon env variable to be aligned
> with boot monitor target location. When ever the target address gets updated in
> boot monitor, it is difficult to sync between u-boot and boot monitor and also
> there is no way to update user that boot monitor image is updated.
> 
> To avoid this problem, boot monitor image is being generated with mkimage
> header. Adding support in mon_install command for parsing this header.
> 
> Signed-off-by: Suman Anna <s-anna@ti.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161003/f4228785/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-10-03 13:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-16  4:47 [U-Boot] [PATCH 1/2] ARM: keystone2: Add support for parsing monitor header Lokesh Vutla
2016-09-16 11:17 ` Tom Rini
2016-10-03 13:37 ` [U-Boot] [U-Boot, " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.