NetBSD/powerpc でデバイス(framebufferとか)を mmap して munmap すると -DDIAGNOSTIC の場合、panic しちゃいます。 落ちるのは pmap_remove_pv の最初の pa_to_attr() で、 理由は mmap の時の pmap_enter で実メモリーじゃないものは pv table に記録しないからなんですが、どう直すのがいいでしょう? 原理的には pa_to_attr(pa) の直前に if (vm_physseg_find(atop(pa), NULL) == -1) return; してやればいいんですが、同じ pa に2回も vm_physseg_find() するのは もったいないし。:-) # ってそんなに重くないんだけど…。 他にうまい手がなければ、しかたがないのでこれでいくことにします。