Subject: kernel fault in pmap_page_protect4_4c()
To: None <port-sparc@NetBSD.ORG>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-sparc
Date: 07/01/1997 11:10:25
Hi folks...

Well, even after Erik's bug-hunting in pmap_page_protect*(), I still
seem to randomly lose, although differently :-)

Came into work this morning to find my SS2 had gotten a kernel fault in
pmap_page_protect4_4c(), at:

0xf80f593c is in pmap_page_protect4_4c (../../../../arch/sparc/sparc/pmap.c:4255).
4250            if ((pa & (PMAP_TNC_4 & ~PMAP_NC)) ||
4251                 !managed(pa) || prot & VM_PROT_WRITE)
4252                    return;
4253            write_user_windows();   /* paranoia */
4254            if (prot & VM_PROT_READ) {
4255                    pv_changepte4_4c(pvhead(pa), 0, PG_W);
4256                    return;
4257            }
4258    
4259            /*
(kgdb) 

I see pvhead() is:

#define pvhead(pa)      (&pv_table[atop((pa) - vm_first_phys)])

I'm guessing that I actually lost inside pv_changepte4_4c(), but DDB botched
the stack trace...

Unfortunately, I wasn't able to jot down much more info than this... If
it happens again, I'll try and get _LOTS_ of info... this is a heads-up,
mostly..

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939