This handles setup and teardown, pcpu references, and preemption in the middle of a EBR critical section
Example usage is replacing the ad hoc EBR in amd64/pmap.c with this:
https://github.com/mattmacy/networking/commit/5f36e665fecf53eb3c8c39cce23fd67317b88e6c
https://github.com/mattmacy/networking/commit/5ea3b95e50cc2f9787c2a8cee24979f1f3162211
Thus removing the global serialization of all pmap_remove calls (and thus all munmap calls) on the invl_gen_mtx