|
|
1.1 ! root 1: #include "../machine/alignment.h" ! 2: int get_longword (infop, address) ! 3: process_info *infop; ! 4: char *address; ! 5: /* ! 6: /* Fetch the longword at the given 'address' from memory. ! 7: /* Caveat: It's quite difficult to find a pte reference ! 8: /* fault. So I took the easy way out and just signal ! 9: /* an illegal access. ! 10: /* ! 11: /**************************************************/ ! 12: { ! 13: register long code, value; ! 14: ! 15: code = readable(infop, address, 4); ! 16: if (code == TRUE) { ! 17: value = *address++; ! 18: value = (value << 8) | *address++ & 0xff; ! 19: value = (value << 8) | *address++ & 0xff; ! 20: value = (value << 8) | *address & 0xff; ! 21: return(value); ! 22: } else exception (infop, ILL_ACCESS, address, code); ! 23: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.