|
|
1.1 root 1: /* Aprobew.c 1.1 86/07/20 */
2:
3: #include "../tahoealign/align.h"
4:
5: #define PSL_USER PSL_CURMOD
6: probew(infop) process_info *infop;
7: /*
8: /* Probe write 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 (" probew r9,(r10),r11");
25: asm (" movpsl r12");
26: New_cc (Register_12);
27: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.