]> git.hungrycats.org Git - linux/commitdiff
[ARM] Add decompressor support for ARMv6 caches.
authorRussell King <rmk@flint.arm.linux.org.uk>
Fri, 8 Oct 2004 16:30:49 +0000 (17:30 +0100)
committerRussell King <rmk@flint.arm.linux.org.uk>
Fri, 8 Oct 2004 16:30:49 +0000 (17:30 +0100)
arch/arm/boot/compressed/head.S

index 024cfb021afff17b27cd99d0c0490750bd126b86..f560cbf35e7e69d9be78260a19c76c3d44743f4f 100644 (file)
@@ -593,6 +593,12 @@ proc_types:
                b       __armv4_cache_off
                b       __armv4_cache_flush
 
+               .word   0x00070000              @ ARMv6
+               .word   0x000f0000
+               b       __armv4_cache_on
+               b       __armv4_cache_off
+               b       __armv6_cache_flush
+
                .word   0                       @ unrecognised type
                .word   0
                mov     pc, lr
@@ -652,6 +658,14 @@ cache_clean_flush:
                mov     r3, #16
                b       call_cache_fn
 
+__armv6_cache_flush:
+               mov     r1, #0
+               mcr     p15, 0, r1, c7, c14, 0  @ clean+invalidate D
+               mcr     p15, 0, r1, c7, c5, 0   @ invalidate I+BTB
+               mcr     p15, 0, r1, c7, c15, 0  @ clean+invalidate unified
+               mcr     p15, 0, r1, c7, c10, 4  @ drain WB
+               mov     pc, lr
+
 __armv4_cache_flush:
                mov     r2, #64*1024            @ default: 32K dcache size (*2)
                mov     r11, #32                @ default: 32 byte line size