]> git.zerfleddert.de Git - linexec-j720/blobdiff - asm/asm.asm
disable lcd controller when booting linux, this prevents ghost-lines while
[linexec-j720] / asm / asm.asm
index ddc6ef538431d735a35725bac39e7ed6e2abbed7..a4aaa9a27c097ed04ef1336231db114275bef294 100644 (file)
                bic     r8, r8, #1
                str     r8, [r9]
 
+               mov     r8, #0
+               ldr     r9, =0x48000000
+               str     r8, [r9, #0x1FC]
+
+
 ; turn off unused serial ports
 
                mov r8, #0
@@ -88,6 +93,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]
Impressum, Datenschutz