aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/proc-arm926.S
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2007-11-02 14:03:14 +1100
committerPaul Mackerras <paulus@samba.org>2007-11-02 14:03:14 +1100
commit97a4649d6ffce4a5d7f5ce018d87a6cefcb4ad03 (patch)
tree8f7f591754baa934a842357e75e773a525bfb147 /arch/arm/mm/proc-arm926.S
parent[POWERPC] powerpc: Fix demotion of segments to 4K pages (diff)
parentMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 (diff)
downloadlinux-dev-97a4649d6ffce4a5d7f5ce018d87a6cefcb4ad03.tar.xz
linux-dev-97a4649d6ffce4a5d7f5ce018d87a6cefcb4ad03.zip
Merge branch 'linux-2.6' into merge
Diffstat (limited to '')
-rw-r--r--arch/arm/mm/proc-arm926.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S
index 5b80b6bdd0cb..194ef48968e6 100644
--- a/arch/arm/mm/proc-arm926.S
+++ b/arch/arm/mm/proc-arm926.S
@@ -105,9 +105,13 @@ ENTRY(cpu_arm926_do_idle)
mrc p15, 0, r1, c1, c0, 0 @ Read control register
mcr p15, 0, r0, c7, c10, 4 @ Drain write buffer
bic r2, r1, #1 << 12
+ mrs r3, cpsr @ Disable FIQs while Icache
+ orr ip, r3, #PSR_F_BIT @ is disabled
+ msr cpsr_c, ip
mcr p15, 0, r2, c1, c0, 0 @ Disable I cache
mcr p15, 0, r0, c7, c0, 4 @ Wait for interrupt
mcr p15, 0, r1, c1, c0, 0 @ Restore ICache enable
+ msr cpsr_c, r3 @ Restore FIQ state
mov pc, lr
/*