From 939a97308e97829d147b897c6e26f2ca1a278756 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 24 Jul 2005 17:43:55 +0000 Subject: [PATCH] 2.6 fixes --- asm/asm.asm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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] -- 2.39.2