Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/linux/linux_sysvec.c
Show First 20 Lines • Show All 613 Lines • ▼ Show 20 Lines | linux_exec_sysvec_init(void *param) | ||||
ptrdiff_t tkoff; | ptrdiff_t tkoff; | ||||
sv = param; | sv = param; | ||||
/* Fill timekeep_base */ | /* Fill timekeep_base */ | ||||
exec_sysvec_init(sv); | exec_sysvec_init(sv); | ||||
tkoff = kern_timekeep_base - linux_vdso_base; | tkoff = kern_timekeep_base - linux_vdso_base; | ||||
ktimekeep_base = (l_uintptr_t *)(linux_vdso_mapping + tkoff); | ktimekeep_base = (l_uintptr_t *)(linux_vdso_mapping + tkoff); | ||||
*ktimekeep_base = sv->sv_timekeep_base; | *ktimekeep_base = sv->sv_shared_page_base + sv->sv_timekeep_offset; | ||||
} | } | ||||
SYSINIT(elf_linux_exec_sysvec_init, SI_SUB_EXEC + 1, SI_ORDER_ANY, | SYSINIT(elf_linux_exec_sysvec_init, SI_SUB_EXEC + 1, SI_ORDER_ANY, | ||||
linux_exec_sysvec_init, &elf_linux_sysvec); | linux_exec_sysvec_init, &elf_linux_sysvec); | ||||
static void | static void | ||||
linux_vdso_install(const void *param) | linux_vdso_install(const void *param) | ||||
{ | { | ||||
char *vdso_start = &_binary_linux_vdso_so_o_start; | char *vdso_start = &_binary_linux_vdso_so_o_start; | ||||
▲ Show 20 Lines • Show All 181 Lines • Show Last 20 Lines |