forked from len0rd/rockbox
Working ROLO for the Gigabeat F/X
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17304 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
a74d15025e
commit
6c6a2ed910
2 changed files with 8 additions and 3 deletions
|
|
@ -41,7 +41,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(IRIVER_IFP7XX_SERIES) && \
|
#if !defined(IRIVER_IFP7XX_SERIES) && \
|
||||||
(CONFIG_CPU != PP5002) && (CONFIG_CPU != S3C2440)
|
(CONFIG_CPU != PP5002)
|
||||||
/* FIX: this doesn't work on iFP, 3rd Gen ipods */
|
/* FIX: this doesn't work on iFP, 3rd Gen ipods */
|
||||||
|
|
||||||
#define IRQ0_EDGE_TRIGGER 0x80
|
#define IRQ0_EDGE_TRIGGER 0x80
|
||||||
|
|
@ -168,7 +168,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest,
|
||||||
"mov pc, r0 \n"
|
"mov pc, r0 \n"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L)
|
#elif defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) || (CONFIG_CPU == S3C2440)
|
||||||
/* Flush and invalidate caches */
|
/* Flush and invalidate caches */
|
||||||
invalidate_icache();
|
invalidate_icache();
|
||||||
|
|
||||||
|
|
@ -226,7 +226,7 @@ int rolo_load(const char* filename)
|
||||||
length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA;
|
length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA;
|
||||||
|
|
||||||
#if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) \
|
#if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) \
|
||||||
|| defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L)
|
|| defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) || (CONFIG_CPU == S3C2440)
|
||||||
/* Read and save checksum */
|
/* Read and save checksum */
|
||||||
lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET);
|
lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET);
|
||||||
if (read(fd, &file_checksum, 4) != 4) {
|
if (read(fd, &file_checksum, 4) != 4) {
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,11 @@ MEMORY
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
/* This nice little hack is to trick ROLO into loading in a certain place
|
||||||
|
* CRT0.s takes care of making sure the code is where it needs to be
|
||||||
|
*/
|
||||||
|
loadaddress = 0x31000000;
|
||||||
|
|
||||||
.vectors DRAMORIG :
|
.vectors DRAMORIG :
|
||||||
{
|
{
|
||||||
_vectorstart = .;
|
_vectorstart = .;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue