btw, a commit to pmap.c of a few days ago suggested that cpu_switch() would re-allocate a ctx if the pmap remove (possibly other things?) were interrupted. a novice i am, but cpu_switch doesnt appear to do that if the it's using proc0's. i haven't looked but doesn't the kernel's context always exist?