On Thu, Jul 09, 2015 at 04:47:19PM +0100, Patrick Welche wrote: > kvtopte() is defined in sys/arch/x86/include/pmap.h:
static __inline pt_entry_t * __unused kvtopte(vaddr_t va) { pd_entry_t *pde; KASSERT(va >= VM_MIN_KERNEL_ADDRESS); pde = L2_BASE + pl2_i(va); if (*pde & PG_PS) return ((pt_entry_t *)pde); return (PTE_BASE + pl1_i(va)); } > #define pl1_i(VA) (((VA_SIGN_POS(VA)) & L1_FRAME) >> L1_SHIFT) > > So, where is the lock? (or is the address illegal?) (Sorry - sent vtopte instead of kvtopte)