diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-15 14:02:53 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-15 14:02:53 +0200 |
commit | 8881fb7984fb86469e0e66b88d8230be347e21f9 (patch) | |
tree | d8ebe4c3c5e8b2dd6f4be71dea425a60ea2d3c96 /arch/arm | |
parent | 665291e693efd1fd2955c6f8bfb89956711b0aef (diff) | |
download | barebox-8881fb7984fb86469e0e66b88d8230be347e21f9.tar.gz barebox-8881fb7984fb86469e0e66b88d8230be347e21f9.tar.xz |
use memmap() to save one memcpy call in bootm
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/lib/armlinux.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c index be950f00a7..78a14a3783 100644 --- a/arch/arm/lib/armlinux.c +++ b/arch/arm/lib/armlinux.c @@ -67,10 +67,10 @@ static struct tag *params; #endif -int do_bootm_linux(image_header_t *os_header, image_header_t *initrd) +int do_bootm_linux(struct image_handle *os_handle, struct image_handle *initrd) { - ulong initrd_start, initrd_end; void (*theKernel)(int zero, int arch, uint params); + image_header_t *os_header = &os_handle->header; #ifdef CONFIG_CMDLINE_TAG const char *commandline = getenv ("bootargs"); #endif @@ -78,7 +78,9 @@ int do_bootm_linux(image_header_t *os_header, image_header_t *initrd) printf("Multifile images not handled at the moment\n"); return -1; } -printf("os header: 0x%p ep: %\n", os_header, os_header + 1); + + printf("commandline: %s\n", commandline); + theKernel = (void (*)(int, int, uint))ntohl((unsigned long)(os_header->ih_ep)); debug ("## Transferring control to Linux (at address %08lx) ...\n", @@ -113,7 +115,7 @@ printf("os header: 0x%p ep: %\n", os_header, os_header + 1); #endif setup_end_tag (); #endif - if (relocate_image(os_header, (void *)ntohl(os_header->ih_load))) + if (relocate_image(os_handle, (void *)ntohl(os_header->ih_load))) return -1; /* we assume that the kernel is in place */ |