xref: /original-bsd/sys/tahoe/align/Aget_long.c (revision 1a56dd2c)
1 /*	Aget_long.c	1.1	86/07/20	*/
2 
3 #include	"../tahoealign/align.h"
4 int get_longword (infop, address)
5 process_info	*infop;
6 char		*address;
7 /*
8 /*	Fetch the longword at the given 'address' from memory.
9 /*	Caveat: It's quite difficult to find a pte reference
10 /*		fault.  So I took the easy way out and just signal
11 /*		an illegal access.
12 /*
13 /**************************************************/
14 {
15 	register long code, value;
16 
17 	code = readable(infop, address, 4);
18 	if (code == TRUE) {
19 		value = *address++;
20 		value = (value << 8) | *address++ & 0xff;
21 		value = (value << 8) | *address++ & 0xff;
22 		value = (value << 8) | *address & 0xff;
23 		return(value);
24 	} else exception (infop, ILL_ACCESS, address, code);
25 }
26