Subject: Re: can MEXTADD() storage be remapped ?
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-kern
Date: 05/25/2005 10:41:54
On Wed, May 25, 2005 at 11:51:38AM +0900, YAMAMOTO Takashi wrote:
> hi,
> 
> > The queue is shared for all non-urgent pmap updates (e.g. thoses that can wait
> > until the next context switch). I know it's not empty, because of the panic
> > I'm seeing. I could try to see if there are updates pending for this
> > PA, but this would mean making the queue updates interrupt-safe, which I'm
> > trying to avoid ...
> 
> which panic are you seeing?

"panic: HYPERVISOR_mmu_update failed"
My theory is that the interrupt comes in the midlle of a xpq_flush_queue(),
so we're trying to do the same MMU operation twice.


> 
> xpq_queue_* routines need to be interrupt safe anyway.

At first glance I didn't find a place where they would be called from an
interrupt context. I tried protecting them with splvm(), but then
the resulting kernel doesn't boot (they are called from pmap_init(), and
I guess we can't use spl functions at this point).

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--