xref: /csrg-svn/sys/tahoe/align/Aput_long.c (revision 29628)
1*29628Ssam /*	Aput_long.c	1.1	86/07/20	*/
2*29628Ssam 
3*29628Ssam 
4*29628Ssam #include	"../tahoealign/align.h"
5*29628Ssam 
6*29628Ssam put_longword (infop, longword, where)
7*29628Ssam register	process_info	*infop;
8*29628Ssam register	char		*where;
9*29628Ssam register	long		longword;
10*29628Ssam /*
11*29628Ssam /*	Put the longword at the given address in memory.
12*29628Ssam /*	Caveat: It's quite difficult to find a pte reference
13*29628Ssam /*		fault.  So I took the easy way out and just signal
14*29628Ssam /*		an illegal access.
15*29628Ssam /*
16*29628Ssam /**************************************************/
17*29628Ssam {
18*29628Ssam 	register long code;
19*29628Ssam 
20*29628Ssam 	code = writeable(infop, where, 4);
21*29628Ssam 	if ( code == TRUE ) {
22*29628Ssam 		*where++ = longword>>24;
23*29628Ssam 		*where++ = longword>>16;
24*29628Ssam 		*where++ = longword>>8;
25*29628Ssam 		*where = longword;
26*29628Ssam 	} else exception (infop, ILL_ACCESS, where, code);
27*29628Ssam }
28