|
|
1.1 root 1: #include "../machine/alignment.h"
2:
3: #define PSL_USER PSL_CURMOD
4: probew(infop) process_info *infop;
5: /*
6: /* Probe write accessability.
7: /*
8: /*************************************/
9: {
10: register long Register_12; /* Has to be first reg ! */
11: register long Register_11;
12: register long Register_10;
13: register long Register_9;
14:
15: Register_9 = operand(infop,0)->data & 1; /* Required mode */
16: if (psl & PSL_USER) Register_9 = 1; /* user can't probe as
17: * kernel ! */
18: Register_10 = operand(infop,1)->address; /* Base address */
19: Register_11 = operand(infop,2)->data; /* Length */
20: Register_12=psl;
21: Set_psl(r12); /* restore the user psl */
22: asm (" probew r9,(r10),r11");
23: asm (" movpsl r12");
24: New_cc (Register_12);
25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.