diff options
Diffstat (limited to 'cmd/elf.c')
-rw-r--r-- | cmd/elf.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cmd/elf.c b/cmd/elf.c index 5b59fc6329d..19479bb706e 100644 --- a/cmd/elf.c +++ b/cmd/elf.c @@ -16,6 +16,7 @@ #include <common.h> #include <command.h> #include <elf.h> +#include <environment.h> #include <net.h> #include <vxworks.h> #ifdef CONFIG_X86 @@ -361,13 +362,18 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * binary image. */ if (valid_elf_image(addr)) - addr = load_elf_image_shdr(addr); + addr = load_elf_image_phdr(addr); else puts("## Not an ELF image, assuming binary\n"); printf("## Starting vxWorks at 0x%08lx ...\n", addr); dcache_disable(); +#if defined(CONFIG_ARM64) && defined(CONFIG_ARMV8_PSCI) + armv8_setup_psci(); + smp_kick_all_cpus(); +#endif + #ifdef CONFIG_X86 /* VxWorks on x86 uses stack to pass parameters */ ((asmlinkage void (*)(int))addr)(0); |