From: michael Date: Sun, 24 Jul 2005 17:43:55 +0000 (+0000) Subject: 2.6 fixes X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/linexec-j720/commitdiff_plain/939a97308e97829d147b897c6e26f2ca1a278756?ds=inline 2.6 fixes --- diff --git a/asm/asm.asm b/asm/asm.asm index ddc6ef5..aae80b8 100644 --- a/asm/asm.asm +++ b/asm/asm.asm @@ -88,6 +88,28 @@ label ldr r8, [r9] mov r0, r0 sub pc, pc, #4 +; This is needed to get Linux 2.6 booting + mov r0, #0 + mcr p15, 0, r0, c7, c10, 4 ; Drain write buffer + mcr p15, 0, r0, c7, c7, 0 ; invalidate I+D & BTB + + mrc p15, 0, r0, c1, c0, 0 + bic r0, r0, #5 ; MMU & Dcache off + bic r0, r0, #0x1000 ; Icache off + mcr p15, 0, r0, c1, c0, 0 ; disable the MMU & caches + mrc p15, 0, r0, c2, c0, 0 + mov r0, r0 + sub pc, pc, #4 + + + mov r0, #0 + mcr p15, 0, r0, c13, c0, 0 ; clear PID + mcr p15, 0, r0, c8, c7, 0 ; invalidate I+D TLB + mrc p15, 0, r0, c2, c0, 0 + mov r0, r0 + sub pc, pc, #4 + +;Set parameters for kernel mov r0, #0 mov r1, r10 ldr r2, [r2, #0]