Message ID | 1444274360-30189-12-git-send-email-bmeng.cn@gmail.com |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
On 7 October 2015 at 21:19, Bin Meng <bmeng.cn@gmail.com> wrote: > 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> > > --- > > Changes in v3: None > Changes in v2: > - New patch to add asmlinkage to the VxWorks x86 entry > > common/cmd_elf.c | 6 ++++++ > 1 file changed, 6 insertions(+) Applied to u-boot-x86, thanks!
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");