/* * pmap_cpu_init_late: perform late per-CPU initialization. * Short note about percpu PDIR pages: * Both the PAE and __x86_64__ architectures have per-cpu PDIR * tables. This is to get around Xen's pagetable setup constraints for * PAE (multiple L3[3]s cannot point to the same L2 - Xen * will refuse to pin a table setup this way.) and for multiple cpus * to map in different user pmaps on __x86_64__ (see: cpu_load_pmap()) * * What this means for us is that the PDIR of the pmap_kernel() is * considered to be a canonical "SHADOW" PDIR with the following * properties: * - Its recursive mapping points to itself * - per-cpu recursive mappings point to themselves on __x86_64__ * - per-cpu L4 pages' kernel entries are expected to be in sync with * the shadow */