Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
ia64 and emap
Hi! all,
My ia64 happen panic() at arch/ia64/ia64/pmap.c:pmap_find_kpte() sinse
this change.
http://mail-index.netbsd.org/source-changes/2009/06/28/msg222717.html
panic: kernel diagnostic assertion "IA64_RR_MASK(va) < (nkpt * PAGE_SIZE *
NKPTEPG)" failed: file "../../../../arch/ia64/ia64/pmap.c", line 1714
Broken into debugger
fatal kernel trap (cpu 0):
trap vector = 0xb (Break Instruction)
cr.iip = 0xe00000000402db80
cr.ipsr = 0x1010080a2010 (mfl,ic,dt,dfh,rt,cpl=0,it,ri=0,bn)
cr.isr = 0x0 (code=0,vector=0,ei=0)
cr.ifa = 0x84b5d
curlwp = 0xe00000000435de40
pid = 0, comm = system
Stopped in pid 0.1 (system) at netbsd:cpu_Debugger+0x21: [I1] nop.i 0x
arch/ia64/ia64/pmap.c ---
/*
* Find the kernel lpte for mapping the given virtual address, which
* must be in the part of region 5 which we can cover with our kernel
* 'page tables'.
*/
static struct ia64_lpte *
pmap_find_kpte(vaddr_t va)
{
KASSERT((va >> 61) == 5);
KASSERT(IA64_RR_MASK(va) < (nkpt * PAGE_SIZE * NKPTEPG));
return &ia64_kptdir[KPTE_DIR_INDEX(va)][KPTE_PTE_INDEX(va)];
}
--- arch/ia64/ia64/pmap.c
The emap demands quite a lot of memories. Therefore, more nkpt is
necessary for us. Do we have the processes to know size of emap
(uvm_emap_size)?
For instance, is uvm_emap_size made global?
-static u_int uvm_emap_size = UVM_EMAP_SIZE;
+u_int uvm_emap_size = UVM_EMAP_SIZE;
# I am very embarrassed because I can not merge ia64. X-<
Thanks,
--
kiyohara
Home |
Main Index |
Thread Index |
Old Index