nvmm: Port to DragonFly #24: pmap transform & TLB invalidation
* Port NetBSD's pmap_ept_transform() to DragonFly's. We don't make
'pmap_ept_has_ad' a global in the pmap code, so need to pass extra
flags to our pmap_ept_transform().
* Replace NetBSD's pmap_tlb_shootdown() with our pmap_inval_smp().
* Add two new fields 'pm_data' & 'pm_tlb_flush' to 'struct pmap', which
are used as a callback by NVMM to handle its own TLB invalidation.
Note that pmap_enter() also calls pmap_inval_smp() on EPT/NPT pmap
and requires the old PTE be returned, so we can't place the NVMM TLB
callback at the beginning part of pmap_inval_smp() and return 0.