+
+ pmap_paddr_t ncr3 = tpmap->pm_cr3;
+
+ if (__improbable(nopagezero)) {
+ pending_flush = TRUE;
+ if (copyio == FALSE) {
+ new_pcid = kernel_pmap->pmap_pcid_cpus[ccpu];
+ ncr3 = kernel_pmap->pm_cr3;
+ }
+ cpu_datap(ccpu)->cpu_kernel_pcid = kernel_pmap->pmap_pcid_cpus[ccpu];
+ }
+
+ set_cr3_composed(ncr3, new_pcid, !(pending_flush || pcid_conflict));