diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-10-07 20:19:19 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-10-21 07:46:26 -0600 |
commit | 9aa1280a5644a1d05859b862ebc7b60a862e0ef3 (patch) | |
tree | 7c62336fde524edcba2791c065a4c4efcaee42bc /common/cmd_elf.c | |
parent | b90ff0fdaadc4de096afed605b36aac1185fc1dc (diff) | |
download | u-boot-9aa1280a5644a1d05859b862ebc7b60a862e0ef3.zip u-boot-9aa1280a5644a1d05859b862ebc7b60a862e0ef3.tar.gz u-boot-9aa1280a5644a1d05859b862ebc7b60a862e0ef3.tar.bz2 |
cmd: bootvx: Add asmlinkage to the VxWorks x86 entry
VxWorks on x86 uses stack to pass parameters.
Reported-by: Jian Luo <jian.luo4@boschrexroth.de>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/cmd_elf.c')
-rw-r--r-- | common/cmd_elf.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/cmd_elf.c b/common/cmd_elf.c index d6a2036..86e694a 100644 --- a/common/cmd_elf.c +++ b/common/cmd_elf.c @@ -20,6 +20,7 @@ #include <vxworks.h> #ifdef CONFIG_X86 #include <asm/e820.h> +#include <linux/linkage.h> #endif /* @@ -379,7 +380,12 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) printf("## Starting vxWorks at 0x%08lx ...\n", addr); dcache_disable(); +#ifdef CONFIG_X86 + /* VxWorks on x86 uses stack to pass parameters */ + ((asmlinkage void (*)(int))addr)(0); +#else ((void (*)(int))addr)(0); +#endif puts("## vxWorks terminated\n"); |