X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Fx86%2Flib%2Fbootm.c;h=83caf6bdbd780113862d8d80374412cc9ff3cef4;hb=de30122bb58fee7b0f94bcfabab595b6ad757336;hp=ba3875b1bc7e1d362947790809ab4796631146ad;hpb=233dbc119438ad17bb0bc7104ba7972415c4f7e7;p=oweals%2Fu-boot.git diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c index ba3875b1bc..83caf6bdbd 100644 --- a/arch/x86/lib/bootm.c +++ b/arch/x86/lib/bootm.c @@ -28,17 +28,20 @@ #include #include #include +#include #include #include +#define COMMAND_LINE_OFFSET 0x9000 + /*cmd_boot.c*/ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images) { - void *base_ptr = NULL; - ulong os_data, os_len; - image_header_t *hdr; - void *load_address; + struct boot_params *base_ptr = NULL; + ulong os_data, os_len; + image_header_t *hdr; + void *load_address; #if defined(CONFIG_FIT) const void *data; @@ -75,15 +78,19 @@ int do_bootm_linux(int flag, int argc, char * const argv[], } #ifdef CONFIG_CMD_ZBOOT - base_ptr = load_zimage((void *)os_data, os_len, - images->rd_start, images->rd_end - images->rd_start, - 0, &load_address); + base_ptr = load_zimage((void *)os_data, os_len, &load_address); #endif if (NULL == base_ptr) { printf("## Kernel loading failed ...\n"); goto error; + } + if (setup_zimage(base_ptr, (char *)base_ptr + COMMAND_LINE_OFFSET, + 0, images->rd_start, + images->rd_end - images->rd_start)) { + printf("## Setting up boot parameters failed ...\n"); + goto error; } #ifdef DEBUG