xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/powerpc/ptrace/ptrace-tar.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (C) 2015 Anshuman Khandual, IBM Corporation.
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun #define TAR_1   10
6*4882a593Smuzhiyun #define TAR_2   20
7*4882a593Smuzhiyun #define TAR_3   30
8*4882a593Smuzhiyun #define TAR_4   40
9*4882a593Smuzhiyun #define TAR_5   50
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define DSCR_1  100
12*4882a593Smuzhiyun #define DSCR_2  200
13*4882a593Smuzhiyun #define DSCR_3  300
14*4882a593Smuzhiyun #define DSCR_4  400
15*4882a593Smuzhiyun #define DSCR_5  500
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #define PPR_1   0x4000000000000         /* or 31,31,31*/
18*4882a593Smuzhiyun #define PPR_2   0x8000000000000         /* or 1,1,1 */
19*4882a593Smuzhiyun #define PPR_3   0xc000000000000         /* or 6,6,6 */
20*4882a593Smuzhiyun #define PPR_4   0x10000000000000        /* or 2,2,2 */
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun char *user_read = "[User Read (Running)]";
23*4882a593Smuzhiyun char *user_write = "[User Write (Running)]";
24*4882a593Smuzhiyun char *ptrace_read_running = "[Ptrace Read (Running)]";
25*4882a593Smuzhiyun char *ptrace_write_running = "[Ptrace Write (Running)]";
26*4882a593Smuzhiyun char *ptrace_read_ckpt = "[Ptrace Read (Checkpointed)]";
27*4882a593Smuzhiyun char *ptrace_write_ckpt = "[Ptrace Write (Checkpointed)]";
28*4882a593Smuzhiyun 
validate_tar_registers(unsigned long * reg,unsigned long tar,unsigned long ppr,unsigned long dscr)29*4882a593Smuzhiyun int validate_tar_registers(unsigned long *reg, unsigned long tar,
30*4882a593Smuzhiyun 				unsigned long ppr, unsigned long dscr)
31*4882a593Smuzhiyun {
32*4882a593Smuzhiyun 	int match = 1;
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun 	if (reg[0] != tar)
35*4882a593Smuzhiyun 		match = 0;
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun 	if (reg[1] != ppr)
38*4882a593Smuzhiyun 		match = 0;
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun 	if (reg[2] != dscr)
41*4882a593Smuzhiyun 		match = 0;
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun 	if (!match)
44*4882a593Smuzhiyun 		return TEST_FAIL;
45*4882a593Smuzhiyun 	return TEST_PASS;
46*4882a593Smuzhiyun }
47