The intent is to reduce the overhead of TLB shootdowns by ensuring that
we don't interrupt CPUs that are not using the given pmap. Tracking is
performed in pmap_activate(), which gets called during context switches:
from cpu_throw(), if a thread is exiting or an AP is starting, or
cpu_switch().
Note that there are two pmaps that are special in this context:
kernel_pmap and process 0's pmap. The former should never be activated,
and the latter is used for kernel threads.
For now pmap_sync_icache() still must interrupt all CPUs rather than the
active CPUs for the given pmap.