We don't need to flush DCache when launching payloads.
Fixes a derp as well.
This commit is contained in:
@@ -5,7 +5,6 @@ void main(void)
|
||||
void *payloadAddress = (void *)0x23F00000;
|
||||
|
||||
memcpy(payloadAddress, (void*)0x24F00000, *(u32 *)0x24FFFF04);
|
||||
cleanInvalidateDCacheAndDMB(); //Ensure that all memory transfers have completed and that the data cache has been flushed
|
||||
|
||||
((void (*)())payloadAddress)();
|
||||
}
|
||||
@@ -7,9 +7,4 @@ void memcpy(void *dest, const void *src, u32 size)
|
||||
|
||||
for(u32 i = 0; i < size; i++)
|
||||
destc[i] = srcc[i];
|
||||
}
|
||||
|
||||
void cleanInvalidateDCacheAndDMB(void)
|
||||
{
|
||||
((void (*)())0xFFFF0830)(); //Why write our own code when it's well implemented in the unprotected bootROM?
|
||||
}
|
||||
@@ -2,14 +2,4 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
void memcpy(void *dest, const void *src, u32 size);
|
||||
|
||||
/***
|
||||
Cleans and invalidates the data cache, then waits for all memory transfers to be finished.
|
||||
This function MUST be called before doing the following:
|
||||
- rebooting
|
||||
- powering down
|
||||
- setting the ARM11 entrypoint to execute a function
|
||||
- jumping to a payload (?)
|
||||
***/
|
||||
void cleanInvalidateDCacheAndDMB(void);
|
||||
void memcpy(void *dest, const void *src, u32 size);
|
||||
Reference in New Issue
Block a user