Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot
In directory usw-pr-cvs1:/tmp/cvs-serv28123/arch/vax/boot
Modified Files:
head.S
Log Message:
fix for SPT entries difference between page/pagelet stuff
Index: head.S
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/head.S,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- head.S 2001/03/07 02:03:52 1.6
+++ head.S 2001/05/19 12:03:00 1.7
@@ -6,7 +6,7 @@
#include <asm/mtpr.h> /* Processor register definitions */
#include <asm/mv.h> /* machine vector definitions */
#include <asm/page.h> /* get PAGE_OFFSET definition */
-#include <asm/pgtable.h> /* PTE definitions */
+#include <asm/pgtable.h> /* PTE definitions */
#include <asm/irq.h> /* interrupt stack definitions */
.section .vaxboot
@@ -176,10 +176,9 @@
# save RPB before it gets obliterated
movl boot_r11, r11
movc3 rpb_size, (r11), boot_rpb
-
movl mv, r3
calls $0, *MV_PRE_VM_INIT(r3)
-
+
# set up the system page table for all of physical memory.
# for the i386, the first page only is setup. For us, as the
# system memory map is contiguous anyway, we might as well setup
@@ -213,13 +212,20 @@
# 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
- addl2 $SPT_ENTRIES_IOMAP+SPT_ENTRIES_VMALLOC, r7
-sparefill:
+ addl2 $SPT_HWPTES_IOMAP+0, r7
+sparef1:
movl $0x00000000, (r5)+
incl r6 # next PFN
cmpl r6, r7 # one page of PTE Table -> 128 Pages of PTES
- blssu sparefill
+ blssu sparef1
+ movl r5, vmallocmap_base
+ addl2 $SPT_HWPTES_VMALLOC, r7
+sparefill2:
+ movl $0x00000000, (r5)+
+ incl r6 # next PFN
+ cmpl r6, r7 # one page of PTE Table -> 128 Pages of PTES
+ blssu sparefill2
# system page table is setup. Save SPT length and zap processor registers
moval swapper_pg_dir, r0
movl r7, 20(r0)
@@ -234,6 +240,7 @@
moval swapper_pg_dir, r0
addl2 $PAGE_OFFSET, 16(r0) # fix up our reference to the system page tbl.
addl2 $PAGE_OFFSET, iomap_base # ... and the IOMAP PTEs
+ addl2 $PAGE_OFFSET, vmallocmap_base # ... and the IOMAP PTEs
addl2 $PAGE_OFFSET, mv # fix up machine vector pointer
movl mv, r3
addl2 $PAGE_OFFSET, MV_CPU_TYPE_STR(r3)
@@ -322,6 +329,9 @@
# Once VM is enabled, this is replaced with the VIRTUAL address
.globl iomap_base
iomap_base: .int 0x00000000
+
+.globl vmallocmap_base
+vmallocmap_base: .int 0x00000000
# These global symbols allow us to pass stuff to C in a relatively painless
# manner.
|