Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot
In directory usw-pr-cvs1:/tmp/cvs-serv10291/arch/vax/boot
Modified Files:
head.S
Log Message:
DA: Fixes to align IOMAP/VMALLOC pages on Linux page boundaries..
this isn't important for IOMAP I don't think but VMALLOC gets very pissed
unless this is true.. I've aligned both as the same number of SPTE entries
would be wasted no matter where the alignment is done, as IOMAP and vmalloc
are multiples of PAGE_SIZE
Index: head.S
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/head.S,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- head.S 2001/05/19 12:03:00 1.7
+++ head.S 2001/06/10 10:19:11 1.8
@@ -1,4 +1,5 @@
-# Copyright atp Nov 1998.
+# Copyright atp Nov 1998.
+# Changes for aligning IOMAP/VMALLOC - Copyright ai...@li... - June 2001
# start of boot. entry point
# this assumes vmb has does most of the hard work (ie uvax rom vmb)
# save useful registers. jump to c in boot.c
@@ -209,6 +210,23 @@
cmpl r6, r7 # one page of PTE Table -> 128 Pages of PTES
blssu sysfill
+# We need to align the IOMAP/VMALLOC tables (well at least the VMALLOC
+# tables, but no harm.. we'll waste the space here or later) on a Linux
+# PAGE boundary (4K)
+# we need to check is r7 4k-aligned if not we need to fill zero until it
+# is, so round up r7 to the next page, add 7 then and with 7,
+# check with r6 if the same we are aligned if not put zeros into the
+# PTE until we are aligned. - D.A. June 2001 (this stuff is bitchin..)
+ addl2 $0x7, r7
+ bicl2 $7, r7
+ cmpl r6, r7
+ beql nozerofl
+zerofl:
+ movl $0x00000000, (r5)+
+ incl r6 # next PFN
+ cmpl r6, r7 # one page of PTE Table -> 128 Pages of PTES
+ blssu zerofl
+nozerofl:
# Zero out the spare part of the SPT (the entries that will be used
# to map I/O space and provide virtual addrs for vmalloc() later)
movl r5, iomap_base
|