(ftr & SYS_REG_INFO_HAS_DRAM) &&
(failcnt == 0))
{
- copy_flash(spi_offs);
- return DRAM_BASE;
+ // identify ELF, copy if present, and get the offset/addr
+ unsigned long faddr = copy_flash(spi_offs);
+ if (faddr != -1ul) {
+ // jump to offset/addr relative to DRAM base
+ return DRAM_BASE + faddr;
+ }
}
return 0;