|
|
1.1 ! root 1: #include "../machine/alignment.h" ! 2: ! 3: #define PSL_USER PSL_CURMOD ! 4: prober(infop) process_info *infop; ! 5: /* ! 6: /* Probe read 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 (" prober 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.