#ifndef __ASM_S390_DPROBES_IN_H__
#define __ASM_S390_DPROBES_IN_H__

/*
 * IBM Dynamic Probes
 * Copyright (c) International Business Machines Corp., 2000
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or 
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 */

/*
 * This header file defines the opcodes for the RPN instructions
 *
 * Opcodes 0x00 to 0xAF are for common, arch-independent instructions.
 * Opcodes 0xB0 to 0xDF are for arch-dependent instructions.
 * Opcodes 0xF1 to 0xFF are for two byte instructions.
 */

/*
 * Misc
 */
#define DP_SEG2LIN		0xB0

/*
 * s/390 Register Assignments.
 */
#define DP_PSWMASK    	0x0000
#define DP_PSWADDR    	0x0001
#define DP_CPUID        0x000c

#define DP_GPR0       	0x0010
#define DP_GPR1       	0x0011
#define DP_GPR2       	0x0012
#define DP_GPR3       	0x0013
#define DP_GPR4       	0x0014
#define DP_GPR5       	0x0015
#define DP_GPR6       	0x0016
#define DP_GPR7       	0x0017
#define DP_GPR8       	0x0018
#define DP_GPR9       	0x0019
#define DP_GPR10   		0x001a
#define DP_GPR11      	0x001b
#define DP_GPR12      	0x001c
#define DP_GPR13      	0x001d
#define DP_GPR14      	0x001e
#define DP_GPR15      	0x001f

#define DP_ACR0       	0x0020
#define DP_ACR1       	0x0021
#define DP_ACR2       	0x0022
#define DP_ACR3       	0x0023
#define DP_ACR4       	0x0024
#define DP_ACR5       	0x0025
#define DP_ACR6       	0x0026
#define DP_ACR7       	0x0027
#define DP_ACR8       	0x0028
#define DP_ACR9       	0x0029
#define DP_ACR10      	0x002a
#define DP_ACR11      	0x002b
#define DP_ACR12      	0x002c
#define DP_ACR13      	0x002d
#define DP_ACR14      	0x002e
#define DP_ACR15      	0x002f

#define DP_FPC        	0x0003

#define DP_FPR0    		0x0030
#define DP_FPR1    		0x0031
#define DP_FPR2    		0x0032
#define DP_FPR3    		0x0033
#define DP_FPR4    		0x0034
#define DP_FPR5    		0x0035
#define DP_FPR6    		0x0036
#define DP_FPR7    		0x0037
#define DP_FPR8    		0x0038
#define DP_FPR9    		0x0039
#define DP_FPR10   		0x003a
#define DP_FPR11   		0x003b
#define DP_FPR12   		0x003c
#define DP_FPR13   		0x003d
#define DP_FPR14   		0x003e
#define DP_FPR15   		0x003f

#define DP_CR_0       	0x0040
#define DP_CR_1       	0x0041
#define DP_CR_2       	0x0042
#define DP_CR_3       	0x0043
#define DP_CR_4       	0x0044
#define DP_CR_5       	0x0045
#define DP_CR_6       	0x0046
#define DP_CR_7       	0x0047
#define DP_CR_8       	0x0048
#define DP_CR_9       	0x0049
#define DP_CR_10      	0x004a
#define DP_CR_11      	0x004b
#define DP_CR_12      	0x004c
#define DP_CR_13      	0x004d
#define DP_CR_14      	0x004e
#define DP_CR_15      	0x004f

#ifndef __KERNEL__
#ifndef PAGE_OFFSET
#define PAGE_OFFSET		0x0UL
#endif
#endif /* !__KERNEL__ */

#endif
