Make loader more readable, use an array instead of a fixed location for the emuNAND test sector
This commit is contained in:
parent
e5dcca1c2b
commit
ee3720f0b7
@ -23,11 +23,13 @@
|
|||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
|
|
||||||
|
extern u32 payloadSize; //defined in start.s
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
{
|
{
|
||||||
void *payloadAddress = (void *)0x23F00000;
|
void *payloadAddress = (void *)0x23F00000;
|
||||||
|
|
||||||
memcpy(payloadAddress, (void*)0x24F00000, *(u32 *)0x24FFFF04);
|
memcpy(payloadAddress, (void*)0x24F00000, payloadSize);
|
||||||
|
|
||||||
flushCaches();
|
flushCaches();
|
||||||
|
|
||||||
|
@ -24,4 +24,6 @@
|
|||||||
_start:
|
_start:
|
||||||
b main
|
b main
|
||||||
|
|
||||||
|
.global payloadSize
|
||||||
|
payloadSize:
|
||||||
.word 0
|
.word 0
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
void locateEmuNAND(u32 *off, u32 *head, FirmwareSource *emuNAND)
|
void locateEmuNAND(u32 *off, u32 *head, FirmwareSource *emuNAND)
|
||||||
{
|
{
|
||||||
static u8 *const temp = (u8 *)0x24300000;
|
static u8 temp[0x200];
|
||||||
|
|
||||||
const u32 nandSize = getMMCDevice(0)->total_size;
|
const u32 nandSize = getMMCDevice(0)->total_size;
|
||||||
u32 nandOffset = *emuNAND == FIRMWARE_EMUNAND ? 0 :
|
u32 nandOffset = *emuNAND == FIRMWARE_EMUNAND ? 0 :
|
||||||
|
@ -170,4 +170,4 @@ void verifyPin(PINData *in, bool allowQuit)
|
|||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user