diff options
| author | Tom Rini <trini@ti.com> | 2012-12-07 06:43:40 -0700 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2012-12-07 08:47:59 -0700 | 
| commit | fd4d564b3c80b111f18c93adb14233a6a7ddb0e9 (patch) | |
| tree | a42d63aae4f7c07f441321c18098a85cbcc45dee /arch/x86/lib/zimage.c | |
| parent | 13d43555a9154cf12255023c47e80d947d7d0604 (diff) | |
| parent | ac426b7290e3a96c97fbc093f15cd0660e0edaf2 (diff) | |
| download | olio-uboot-2014.01-fd4d564b3c80b111f18c93adb14233a6a7ddb0e9.tar.xz olio-uboot-2014.01-fd4d564b3c80b111f18c93adb14233a6a7ddb0e9.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-x86
Diffstat (limited to 'arch/x86/lib/zimage.c')
| -rw-r--r-- | arch/x86/lib/zimage.c | 23 | 
1 files changed, 20 insertions, 3 deletions
| diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index b8c672bab..46af391f2 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -36,6 +36,10 @@  #include <asm/realmode.h>  #include <asm/byteorder.h>  #include <asm/bootparam.h> +#ifdef CONFIG_SYS_COREBOOT +#include <asm/arch/timestamp.h> +#endif +#include <linux/compiler.h>  /*   * Memory lay-out: @@ -279,10 +283,23 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,  	return 0;  } +/* + * Implement a weak default function for boards that optionally + * need to clean up the system before jumping to the kernel. + */ +__weak void board_final_cleanup(void) +{ +} +  void boot_zimage(void *setup_base, void *load_address)  { +	board_final_cleanup(); +  	printf("\nStarting kernel ...\n\n"); +#ifdef CONFIG_SYS_COREBOOT +	timestamp_add_now(TS_U_BOOT_START_KERNEL); +#endif  #if defined CONFIG_ZBOOT_32  	/*  	 * Set %ebx, %ebp, and %edi to 0, %esi to point to the boot_params @@ -292,9 +309,9 @@ void boot_zimage(void *setup_base, void *load_address)  	 * itself in arch/i386/cpu/cpu.c.  	 */  	__asm__ __volatile__ ( -	"movl $0, %%ebp		\n" -	"cli			\n" -	"jmp %[kernel_entry]	\n" +	"movl $0, %%ebp\n" +	"cli\n" +	"jmp *%[kernel_entry]\n"  	:: [kernel_entry]"a"(load_address),  	   [boot_params] "S"(setup_base),  	   "b"(0), "D"(0) |