viona should track held pages
With a more expressive API for accessing bhyve guest memory coming in #13896, viona should be updated so that all of its guest memory accesses are properly tracked. That will be relatively straightforward for virtqueue accesses, since those addresses are "mapped" for long periods of time. For inbound packets, the pages referenced by the virtqueue descriptor will be held while the data is being copied into the guest, and then released. For transmitted packets, the pages from the descriptor will be held until the mblk is copied (pulled up) or transmitted.