forked from len0rd/rockbox
Move load_firmware() to separate file
The idea is to share loading code between bootloaders and rolo(). Change-Id: I1656ed91946d7a05cb7c9fa7a16793c3c862a5cd Reviewed-on: http://gerrit.rockbox.org/190 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
This commit is contained in:
parent
46ea8bfe7c
commit
0b29691324
29 changed files with 727 additions and 608 deletions
|
@ -41,6 +41,8 @@
|
|||
#include "power.h"
|
||||
#include "file.h"
|
||||
#include "common.h"
|
||||
#include "rb-loader.h"
|
||||
#include "loader_strerror.h"
|
||||
#include "rbunicode.h"
|
||||
#include "usb.h"
|
||||
#include "mmu-arm.h"
|
||||
|
@ -201,18 +203,15 @@ void main(void)
|
|||
buffer_size = (unsigned char*)0x31400000 - loadbuffer;
|
||||
|
||||
rc = load_firmware(loadbuffer, BOOTFILE, buffer_size);
|
||||
if(rc < 0)
|
||||
if(rc <= EFILE_EMPTY)
|
||||
error(EBOOTFILE, rc, true);
|
||||
|
||||
storage_close();
|
||||
system_prepare_fw_start();
|
||||
|
||||
if (rc == EOK)
|
||||
{
|
||||
commit_discard_idcache();
|
||||
kernel_entry = (void*) loadbuffer;
|
||||
rc = kernel_entry();
|
||||
}
|
||||
commit_discard_idcache();
|
||||
kernel_entry = (void*) loadbuffer;
|
||||
rc = kernel_entry();
|
||||
|
||||
#if 0
|
||||
/* Halt */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue