Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch/amd64/include



Module Name:    src
Committed By:   cherry
Date:           Sun Jan 15 16:48:31 UTC 2012

Modified Files:
        src/sys/arch/amd64/include: pmap.h

Log Message:
for xen on amd64 PDP_BASE points to the per-cpu ci->ci_kpm_pdir copy of 
*pmap_kernel()*'s L4 pdir, which is an alias for ci->ci_kpm_pdir. This is 
unlike PAE, where PDP_BASE points to the per-pmap pm_pdir consisting of 4 
pages, the last of which is the "shadow". This "shadow" is not used directly in 
an active pmap, since it duplicates the kernel space and, for PAE, xen 
dissallows multiple cpus pointing to the same L3[3] page. Therefore, we use a 
per-cpu copy of the pmap_kernel() pdir's L3[3] page, ci->ci_pae_l3_pdir[3], 
while L3[0-2] point to the original pmap's pm_pdir[0 - 2]. Thus the "shadow" 
pdir only exists on i386 PAE. Note that on PAE, the recursive PDIR_SLOT_PTE is 
not per-cpu, and therefore cannot be made to point to per-cpu pdirs via 
(L4_BASE + PDIR_SLOT_PTE), unlike xen x86_64 where this is exactly the case.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amd64/include/pmap.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index