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