patch-2.1.132 linux/arch/arm/mm/proc-sa110.S
Next file: linux/arch/i386/config.in
Previous file: linux/arch/arm/mm/mm-vnc.c
Back to the patch index
Back to the overall index
- Lines: 43
- Date:
Thu Dec 17 09:05:42 1998
- Orig file:
v2.1.131/linux/arch/arm/mm/proc-sa110.S
- Orig date:
Wed Sep 9 14:51:05 1998
diff -u --recursive --new-file v2.1.131/linux/arch/arm/mm/proc-sa110.S linux/arch/arm/mm/proc-sa110.S
@@ -10,6 +10,11 @@
#include <asm/assembler.h>
#include "../lib/constants.h"
+/* This is the maximum size of an area which will be flushed. If the area
+ * is larger than this, then we flush the whole cache
+ */
+#define MAX_AREA_SIZE 32768
+
.data
Lclean_switch: .long 0
.text
@@ -52,7 +57,7 @@
.align 5
_sa110_flush_cache_area:
sub r3, r1, r0
- cmp r3, #32768
+ cmp r3, #MAX_AREA_SIZE
bgt _sa110_flush_cache_all_r2
1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
mcr p15, 0, r0, c7, c6, 1 @ flush D entry
@@ -79,16 +84,17 @@
.align 5
_sa110_cache_wback_area:
sub r3, r1, r0
- cmp r3, #32768
- movgt r2, #0
- bgt _sa110_flush_cache_all
+ cmp r3, #MAX_AREA_SIZE
+ mov r2, #0
+ bgt _sa110_flush_cache_all_r2
+ bic r0, r0, #31
1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
add r0, r0, #32
mcr p15, 0, r0, c7, c10, 1 @ clean D entry
add r0, r0, #32
cmp r0, r1
blt 1b
- mcr p15, 0, r0, c7, c10, 4 @ drain WB
+ mcr p15, 0, r2, c7, c10, 4 @ drain WB
mov pc, lr
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov