Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_sharedpage.c
| Show First 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | shared_page_init(void *dummy __unused) | ||||
| VM_OBJECT_WUNLOCK(shared_page_obj); | VM_OBJECT_WUNLOCK(shared_page_obj); | ||||
| vm_page_valid(m); | vm_page_valid(m); | ||||
| vm_page_xunbusy(m); | vm_page_xunbusy(m); | ||||
| addr = kva_alloc(PAGE_SIZE); | addr = kva_alloc(PAGE_SIZE); | ||||
| pmap_qenter(addr, &m, 1); | pmap_qenter(addr, &m, 1); | ||||
| shared_page_mapping = (char *)addr; | shared_page_mapping = (char *)addr; | ||||
| } | } | ||||
| SYSINIT(shp, SI_SUB_EXEC, SI_ORDER_FIRST, (sysinit_cfunc_t)shared_page_init, | SYSINIT(shp, SI_SUB_EXEC, SI_ORDER_FIRST, shared_page_init, NULL); | ||||
| NULL); | |||||
| /* | /* | ||||
| * Push the timehands update to the shared page. | * Push the timehands update to the shared page. | ||||
| * | * | ||||
| * The lockless update scheme is similar to the one used to update the | * The lockless update scheme is similar to the one used to update the | ||||
| * in-kernel timehands, see sys/kern/kern_tc.c:tc_windup() (which | * in-kernel timehands, see sys/kern/kern_tc.c:tc_windup() (which | ||||
| * calls us after the timehands are updated). | * calls us after the timehands are updated). | ||||
| */ | */ | ||||
| ▲ Show 20 Lines • Show All 250 Lines • Show Last 20 Lines | |||||