Re: [U-Boot] [PATCH v3 6/6] x86: Add support for specifying an initrd with the zboot command

2011-12-06 Thread Graeme Russ
Hi Gabe,

On 06/12/11 09:09, Gabe Black wrote:
 This change finishes plumbing the initrd support built into the zboot
 mechanism out to the command interface.
 
 It also fixes a bug in the command declaration where the kernel size could
 be passed as an optional second parameter but not enough arguments were
 allowed.
 
 Signed-off-by: Gabe Black gabebl...@chromium.org
 ---
 Changes in v2:
 - Add a help message to the zboot command.
 
  arch/x86/lib/zimage.c |   23 +++
  1 files changed, 19 insertions(+), 4 deletions(-)

Applied to u-boot-x86/next

Regards,

Graeme
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 6/6] x86: Add support for specifying an initrd with the zboot command

2011-12-05 Thread Gabe Black
This change finishes plumbing the initrd support built into the zboot
mechanism out to the command interface.

It also fixes a bug in the command declaration where the kernel size could
be passed as an optional second parameter but not enough arguments were
allowed.

Signed-off-by: Gabe Black gabebl...@chromium.org
---
Changes in v2:
- Add a help message to the zboot command.

 arch/x86/lib/zimage.c |   23 +++
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 0cbb571..bb40517 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -321,6 +321,8 @@ int do_zboot(cmd_tbl_t *cmdtp, int flag, int argc, char 
*const argv[])
void *load_address;
char *s;
ulong bzImage_size = 0;
+   ulong initrd_addr = 0;
+   ulong initrd_size = 0;
 
disable_interrupts();
 
@@ -337,9 +339,15 @@ int do_zboot(cmd_tbl_t *cmdtp, int flag, int argc, char 
*const argv[])
if (s)
bzImage_addr = (void *)simple_strtoul(s, NULL, 16);
 
-   if (argc = 3)
+   if (argc = 3) {
/* argv[2] holds the size of the bzImage */
bzImage_size = simple_strtoul(argv[2], NULL, 16);
+   }
+
+   if (argc = 4)
+   initrd_addr = simple_strtoul(argv[3], NULL, 16);
+   if (argc = 5)
+   initrd_size = simple_strtoul(argv[4], NULL, 16);
 
/* Lets look for */
base_ptr = load_zimage(bzImage_addr, bzImage_size, load_address);
@@ -349,7 +357,7 @@ int do_zboot(cmd_tbl_t *cmdtp, int flag, int argc, char 
*const argv[])
return -1;
}
if (setup_zimage(base_ptr, (char *)base_ptr + COMMAND_LINE_OFFSET,
-   0, 0, 0)) {
+   0, initrd_addr, initrd_size)) {
printf(Setting up boot parameters failed ...\n);
return -1;
}
@@ -366,7 +374,14 @@ int do_zboot(cmd_tbl_t *cmdtp, int flag, int argc, char 
*const argv[])
 }
 
 U_BOOT_CMD(
-   zboot, 2, 0,do_zboot,
+   zboot, 5, 0,do_zboot,
Boot bzImage,
-   
+   [addr] [size] [initrd addr] [initrd size]\n
+ addr -The optional starting address of the bzimage.\n
+   If not set it defaults to the environment\n
+   variable \fileaddr\.\n
+ size -The optional size of the bzimage. Defaults to\n
+   zero.\n
+ initrd addr - The address of the initrd image to use, if any.\n
+ initrd size - The size of the initrd image to use, if any.\n
 );
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot