From: Dave A. <ai...@us...> - 2001-05-19 12:03:03
|
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. |