xref: /plan9-contrib/sys/src/cmd/jtagfs/lebo.c (revision dedb130315e7b691e306ee069395ee1f0b18e4d4)
1 #include <u.h>
2 #include <libc.h>
3 #include <lebo.h>
4 
5 void
hleputv(void * p,uvlong v)6 hleputv(void *p, uvlong v)
7 {
8 	uchar *a;
9 
10 	a = p;
11 	a[7] = v>>56;
12 	a[6] = v>>48;
13 	a[5] = v>>40;
14 	a[4] = v>>32;
15 	a[3] = v>>24;
16 	a[2] = v>>16;
17 	a[1] = v>>8;
18 	a[0] = v;
19 }
20 
21 void
hleputl(void * p,uint v)22 hleputl(void *p, uint v)
23 {
24 	uchar *a;
25 
26 	a = p;
27 	a[3] = v>>24;
28 	a[2] = v>>16;
29 	a[1] = v>>8;
30 	a[0] = v;
31 }
32 
33 void
hleputs(void * p,ushort v)34 hleputs(void *p, ushort v)
35 {
36 	uchar *a;
37 
38 	a = p;
39 	a[1] = v>>8;
40 	a[0] = v;
41 }
42 
43 uvlong
lehgetv(void * p)44 lehgetv(void *p)
45 {
46 	uchar *a;
47 	uvlong v;
48 
49 	a = p;
50 	v = (uvlong)a[7]<<56;
51 	v |= (uvlong)a[6]<<48;
52 	v |= (uvlong)a[5]<<40;
53 	v |= (uvlong)a[4]<<32;
54 	v |= a[3]<<24;
55 	v |= a[2]<<16;
56 	v |= a[1]<<8;
57 	v |= a[0]<<0;
58 	return v;
59 }
60 
61 uint
lehgetl(void * p)62 lehgetl(void *p)
63 {
64 	uchar *a;
65 
66 	a = p;
67 	return (a[3]<<24)|(a[2]<<16)|(a[1]<<8)|(a[0]<<0);
68 }
69 
70 ushort
lehgets(void * p)71 lehgets(void *p)
72 {
73 	uchar *a;
74 
75 	a = p;
76 	return (a[1]<<8)|(a[0]<<0);
77 }
78