From 8a8fe8143321dee30a6a1225b828f679a33219f4 Mon Sep 17 00:00:00 2001 From: pepepper Date: Tue, 6 Oct 2020 15:07:41 +0900 Subject: [PATCH] modified: BrainLILODrv.cpp --- BrainLILODrv.cpp | 87 ++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/BrainLILODrv.cpp b/BrainLILODrv.cpp index e9e2cab..d2d49b6 100644 --- a/BrainLILODrv.cpp +++ b/BrainLILODrv.cpp @@ -68,7 +68,8 @@ static FileSystemPowerFunctionProc FileSystemPowerFunction; typedef LPVOID (*AllocPhysMemProc)(DWORD,DWORD,DWORD,DWORD,PULONG); -typedef void (*NKForceCleanBootProc)(BOOL); +DWORD wReadSize; +unsigned long bootloaderphysaddr; static void disableInterrupts(){ asm volatile("mrs r0, cpsr\n" @@ -111,7 +112,7 @@ static void EDNA2_physicalInvoker(){ static void EDNA2_installPhysicalInvoker(){ void *ptr=(void *)0xa8000000; wchar_t buf[256]; - swprintf(buf, L"ResetKit: copying to 0x%08x from 0x%08x\n", + swprintf(buf, L"BrainLILO: copying PhysicalInvoker to 0x%08x from 0x%08x\n", (int)(ptr), (int)(&EDNA2_physicalInvoker)); OutputDebugString(buf); memcpy(ptr, (const void *)&EDNA2_physicalInvoker, 64*4); @@ -120,14 +121,16 @@ static void EDNA2_installPhysicalInvoker(){ __attribute__((noreturn)) -static void EDNA2_runPhysicalInvoker(unsigned long bootloaderphysaddr,DWORD size){ +static void EDNA2_runPhysicalInvoker(){ // r0=info asm volatile("msr cpsr_c, #211\n" // to supervisor mode "mrc p15,0,r0,c1,c0,0\n" // read ctrl regs "bic r0, r0, #8192\n" // reset vector to lower + "bic r0, r0, #5\n" // disable MMU/DCache "mcr p15,0,r0,c1,c0,0\n" // write ctrl regs - - "ldr r0, =0x0000\n" + ); + for(DWORD i=0;i