Subject: Re: can MEXTADD() storage be remapped ?
To: YAMAMOTO Takashi <email@example.com>
From: Manuel Bouyer <firstname.lastname@example.org>
Date: 05/25/2005 10:41:54
On Wed, May 25, 2005 at 11:51:38AM +0900, YAMAMOTO Takashi wrote:
> > 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 <email@example.com>
NetBSD: 26 ans d'experience feront toujours la difference