Subject: Re: panic: ptdi %x
To: None <msanders@confusion.net>
From: None <chuck@ccrc.wustl.edu>
List: port-i386
Date: 11/04/1998 08:39:27
>>It's due to a design flaw in the old pmap.  It's fixed in the new
>>pmap for UVM.

>So I take it there's no "easy fix" or workaround that could be
>incorporated into the 1.3 branch?

well...

the problem you are likely running into is that in BSD VM the number 
of page tables allocated for the kernel's address space is statically
determined at boot time.   your 'dd' command is using all the space
these page tables make available -- thus you get a 'ptdi' panic.
[in UVM the number of kernel page tables can be dynamically grown
through the pmap_growkernel() interface that I got from FreeBSD VM.]

in BSD VM there is one way to hack around this problem.   if defined,
the constant NKPDE (see sys/arch/i386/include/pmap.h and 
sys/arch/i386/i386/pmap.c) can fix the number of pages allocated for
the kernel page table to a higher value than what would normally be
used.  the largest this can be is 63 pages (using 252K of RAM for
kernel page tables).   

so if you've got memory to burn: define NKPDE to be 63.  i think you
can even patch a precompiled kernel with gdb by setting 'nkpde' to 63.
again, this is clearly a hack, but it should work.

chuck