static int __init vdso_init()

in kernel/vdso.c [20:43]


static int __init vdso_init(void)
{
	struct hexagon_vdso *vdso;

	vdso_page = alloc_page(GFP_KERNEL);
	if (!vdso_page)
		panic("Cannot allocate vdso");

	vdso = vmap(&vdso_page, 1, 0, PAGE_KERNEL);
	if (!vdso)
		panic("Cannot map vdso");
	clear_page(vdso);

	/* Install the signal trampoline; currently looks like this:
	 *	r6 = #__NR_rt_sigreturn;
	 *	trap0(#1);
	 */
	vdso->rt_signal_trampoline[0] = __rt_sigtramp_template[0];
	vdso->rt_signal_trampoline[1] = __rt_sigtramp_template[1];

	vunmap(vdso);

	return 0;
}