1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun #include <linux/uaccess.h> 4*4882a593Smuzhiyun setup_vdso_page(unsigned short * ptr)5*4882a593Smuzhiyunstatic inline int setup_vdso_page(unsigned short *ptr) 6*4882a593Smuzhiyun { 7*4882a593Smuzhiyun int err = 0; 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun /* movi r1, 127 */ 10*4882a593Smuzhiyun err |= __put_user(0x67f1, ptr + 0); 11*4882a593Smuzhiyun /* addi r1, (139 - 127) */ 12*4882a593Smuzhiyun err |= __put_user(0x20b1, ptr + 1); 13*4882a593Smuzhiyun /* trap 0 */ 14*4882a593Smuzhiyun err |= __put_user(0x0008, ptr + 2); 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun return err; 17*4882a593Smuzhiyun } 18