xref: /original-bsd/sys/tahoe/align/Aprober.c (revision c7ce21e7)
1 /*	Aprober.c	1.1	86/07/20	*/
2 
3 #include "../tahoealign/align.h"
4 
5 #define	PSL_USER	PSL_CURMOD
6 prober(infop)	process_info *infop;
7 /*
8 /*	Probe read accessability.
9 /*
10 /*************************************/
11 {
12 	register	long	Register_12;	/* Has to be first reg ! */
13 	register	long	Register_11;
14 	register	long	Register_10;
15 	register	long	Register_9;
16 
17 	Register_9 = operand(infop,0)->data & 1;	/* Required mode */
18 	if (psl & PSL_USER) Register_9 = 1;		/* user can't probe as
19 							 *  kernel ! */
20 	Register_10 = operand(infop,1)->address;	/* Base address */
21 	Register_11 = operand(infop,2)->data;		/* Length */
22 	Register_12=psl;
23 	Set_psl(r12);	/* restore the user psl */
24 	asm ("	prober	r9,(r10),r11");
25 	asm ("	movpsl	r12");
26 	New_cc (Register_12);
27 }
28