Refactoring, fix bugs, move loader to itcm (without overwriting exception handlers), support for running Luma standalone
This commit is contained in:
@@ -27,25 +27,29 @@
|
||||
void main(int argc, char **argv)
|
||||
{
|
||||
Firm *firm = (Firm *)0x20001000;
|
||||
char *argvPassed[2],
|
||||
absPath[24 + 255];
|
||||
struct fb fbs[2];
|
||||
char absPath[24 + 255];
|
||||
|
||||
if(argc == 2)
|
||||
{
|
||||
struct fb *fbsrc = (struct fb *)argv[1];
|
||||
fbs[0] = fbsrc[0];
|
||||
fbs[1] = fbsrc[1];
|
||||
}
|
||||
|
||||
if(argc >= 1)
|
||||
if(argc > 0)
|
||||
{
|
||||
u32 i;
|
||||
for(i = 0; i < sizeof(absPath) - 1 && argv[0][i] != 0; i++)
|
||||
absPath[i] = argv[0][i];
|
||||
absPath[i] = 0;
|
||||
|
||||
argvPassed[0] = (char *)absPath;
|
||||
}
|
||||
|
||||
char *argvPassed[2] = {absPath, (char *)&fbs};
|
||||
if(argc == 2)
|
||||
{
|
||||
struct fb *fbsrc = (struct fb *)argv[1];
|
||||
|
||||
fbs[0] = fbsrc[0];
|
||||
fbs[1] = fbsrc[1];
|
||||
|
||||
argvPassed[1] = (char *)&fbs;
|
||||
}
|
||||
|
||||
launchFirm(firm, argc, argvPassed);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
.align 4
|
||||
.global _start
|
||||
_start:
|
||||
ldr sp, =0x27ffe000
|
||||
ldr sp, =__stack_top__
|
||||
b main
|
||||
|
||||
.text
|
||||
|
||||
Reference in New Issue
Block a user