18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci#include <linux/uaccess.h>
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_cistatic inline int setup_vdso_page(unsigned short *ptr)
68c2ecf20Sopenharmony_ci{
78c2ecf20Sopenharmony_ci	int err = 0;
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci	/* movi r1, 127 */
108c2ecf20Sopenharmony_ci	err |= __put_user(0x67f1, ptr + 0);
118c2ecf20Sopenharmony_ci	/* addi r1, (139 - 127) */
128c2ecf20Sopenharmony_ci	err |= __put_user(0x20b1, ptr + 1);
138c2ecf20Sopenharmony_ci	/* trap 0 */
148c2ecf20Sopenharmony_ci	err |= __put_user(0x0008, ptr + 2);
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	return err;
178c2ecf20Sopenharmony_ci}
18