vm_radix: add vm_radix_insert_prealloc()
a non-failing variant of vm_radix_insert() that takes the preallocated
pctrie node used for the insertion. The element to be inserted must not
be present in the trie already.
amd64 pmap: do not panic if a kernel pt cannot be inserted into pm_root trie
dev/mem: use sx instead of rw lock
Some ops require sleepable context to success, like DMAP demotion.
amd64 pmap: preallocate pt page foir pmap_demote_pdpe() in pmap_demote_DMAP()
Allocate the page outside the kernel_pmap locked region, and pass it to
pmap_demote_pdpe() instead of panicing if VM_ALLOC_INTERRUPT failing.