[U-Boot-Users] [new uImage] Code available on new-image branch of u-boot-testing repo
Kumar Gala
galak at kernel.crashing.org
Thu Feb 7 17:29:48 CET 2008
On Feb 7, 2008, at 10:15 AM, Bartlomiej Sieka wrote:
> Kumar Gala wrote:
>> Here is a rough patch to common/cmd_bootm.c that passed load_end
>> down to
>> the do_bootm_* commands. I haven't updated the lib_*/bootm.c at this
>> point.
>> I think this is useful to help the bootm commands know exactly what
>> memory
>> is used and what is freed. There are situations that I'd like to get
>> working with the new code like being able to boot a kernel at 256M
>> and
>> have the ramdisk and device tree exist about this 256M base.
>> - k
>> diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
>> index 2ddb191..b36d09e 100644
>> --- a/common/cmd_bootm.c
>> +++ b/common/cmd_bootm.c
>> @@ -90,7 +90,7 @@ extern int do_reset (cmd_tbl_t *cmdtp, int flag,
>> int argc, char *argv[]);
>> typedef void boot_os_fn (cmd_tbl_t *cmdtp, int flag,
>> int argc, char *argv[],
>> image_header_t *hdr, /* of image to boot */
>> - int verify); /* getenv("verify")[0] != 'n' */
>> + int verify, ulong load_end); /* getenv("verify")[0] != 'n' */
>> extern boot_os_fn do_bootm_linux;
>> static boot_os_fn do_bootm_netbsd;
>> @@ -234,36 +234,36 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int
>> argc, char *argv[])
>> #ifdef CONFIG_SILENT_CONSOLE
>> fixup_silent_linux();
>> #endif
>> - do_bootm_linux (cmdtp, flag, argc, argv, hdr, verify);
>> + do_bootm_linux (cmdtp, flag, argc, argv, hdr, verify,
>> load_end);
>> break;
>
> Hi Kumar,
>
> In our development code for the new format we need even more data to
> be
> passed down to do_bootm_* flavors. We are doing this by passing a
> pointer to a structure:
>
> - do_bootm_linux (cmdtp, flag, argc, argv, hdr, verify);
> + do_bootm_linux (cmdtp, flag, argc, argv, &images, verify);
>
>
> Where images is of type bootm_headers_t, defined like this:
>
> /*
> * Legacy and FIT format headers used by do_bootm() and do_bootm_<os>()
> * routines.
> */
> typedef struct bootm_headers {
> /*
> * Legacy os image header, if it is a multi component image
> * then get_ramdisk() and get_fdt() will attempt to get
> * data from second and third component accordingly.
> */
> image_header_t *legacy_hdr_os;
> ulong legacy_hdr_valid;
>
> #if defined(CONFIG_FIT)
> void *fit_hdr_os; /* os FIT image header */
> char *fit_uname_os; /* os subimage node unit name */
>
> void *fit_hdr_rd; /* init ramdisk FIT img header
> */
> char *fit_uname_rd; /* init ramdisk node unit name
> */
>
> #if defined(CONFIG_PPC)
> void *fit_hdr_fdt; /* FDT blob FIT image header */
> char *fit_uname_fdt; /* FDT blob node unit name */
> #endif
> #endif
> } bootm_headers_t;
>
>
> Perhaps it would be a good idea to add your load_end to bootm_headers?
> In any case, let's get back to this once the above mentioned code is
> posted to the ML.
sounds good, any eta on when this patch will show up?
- k
More information about the U-Boot
mailing list