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