xref: /inferno-os/os/boot/puma/fns.h (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1*74a4d8c2SCharles.Forsyth void	aamloop(int);
2*74a4d8c2SCharles.Forsyth Alarm*	alarm(int, void (*)(Alarm*), void*);
3*74a4d8c2SCharles.Forsyth void	alarminit(void);
4*74a4d8c2SCharles.Forsyth int	bootp(int, char*);
5*74a4d8c2SCharles.Forsyth void	cancel(Alarm*);
6*74a4d8c2SCharles.Forsyth void	checkalarms(void);
7*74a4d8c2SCharles.Forsyth void	clockinit(void);
8*74a4d8c2SCharles.Forsyth void	consinit(void);
9*74a4d8c2SCharles.Forsyth void	delay(int);
10*74a4d8c2SCharles.Forsyth uchar*	etheraddr(int);
11*74a4d8c2SCharles.Forsyth int	etherinit(void);
12*74a4d8c2SCharles.Forsyth int	etherrxpkt(int, Etherpkt*, int);
13*74a4d8c2SCharles.Forsyth int	ethertxpkt(int, Etherpkt*, int, int);
14*74a4d8c2SCharles.Forsyth int	flashboot(int);
15*74a4d8c2SCharles.Forsyth int	flashbootable(int);
16*74a4d8c2SCharles.Forsyth char*	flashconfig(int);
17*74a4d8c2SCharles.Forsyth int	flashinit(void);
18*74a4d8c2SCharles.Forsyth char*	getconf(char*);
19*74a4d8c2SCharles.Forsyth int	getcfields(char*, char**, int, char*);
20*74a4d8c2SCharles.Forsyth int	getstr(char*, char*, int, char*);
21*74a4d8c2SCharles.Forsyth int	hardinit(void);
22*74a4d8c2SCharles.Forsyth long	hardread(int, void*, long);
23*74a4d8c2SCharles.Forsyth long	hardseek(int, long);
24*74a4d8c2SCharles.Forsyth long	hardwrite(int, void*, long);
25*74a4d8c2SCharles.Forsyth void*	ialloc(ulong, int);
26*74a4d8c2SCharles.Forsyth void	idle(void);
27*74a4d8c2SCharles.Forsyth int	isaconfig(char*, int, ISAConf*);
28*74a4d8c2SCharles.Forsyth int	isgzipped(uchar*);
29*74a4d8c2SCharles.Forsyth int	issqueezed(uchar*);
30*74a4d8c2SCharles.Forsyth void	kbdinit(void);
31*74a4d8c2SCharles.Forsyth void	kbdchar(Queue*, int);
32*74a4d8c2SCharles.Forsyth void	machinit(void);
33*74a4d8c2SCharles.Forsyth void	meminit(void);
34*74a4d8c2SCharles.Forsyth void	microdelay(int);
35*74a4d8c2SCharles.Forsyth void	mmuinit(void);
36*74a4d8c2SCharles.Forsyth uchar	nvramread(int);
37*74a4d8c2SCharles.Forsyth void	outb(int, int);
38*74a4d8c2SCharles.Forsyth void	outs(int, ushort);
39*74a4d8c2SCharles.Forsyth void	outl(int, ulong);
40*74a4d8c2SCharles.Forsyth void	outsb(int, void*, int);
41*74a4d8c2SCharles.Forsyth void	outss(int, void*, int);
42*74a4d8c2SCharles.Forsyth void	outsl(int, void*, int);
43*74a4d8c2SCharles.Forsyth void	panic(char*, ...);
44*74a4d8c2SCharles.Forsyth int	optionsw(void);
45*74a4d8c2SCharles.Forsyth int	plan9boot(int, long (*)(int, long), long (*)(int, void*, long));
46*74a4d8c2SCharles.Forsyth Partition*	setflashpart(int, char*);
47*74a4d8c2SCharles.Forsyth Partition* sethardpart(int, char*);
48*74a4d8c2SCharles.Forsyth Partition* setscsipart(int, char*);
49*74a4d8c2SCharles.Forsyth void	setvec(int, void (*)(Ureg*, void*), void*);
50*74a4d8c2SCharles.Forsyth void	screeninit(void);
51*74a4d8c2SCharles.Forsyth void	screenputs(char*, int);
52*74a4d8c2SCharles.Forsyth void setr13(int, void*);
53*74a4d8c2SCharles.Forsyth int	splhi(void);
54*74a4d8c2SCharles.Forsyth int	spllo(void);
55*74a4d8c2SCharles.Forsyth void	splx(int);
56*74a4d8c2SCharles.Forsyth void	trapinit(void);
57*74a4d8c2SCharles.Forsyth void	uartspecial(int, int, Queue**, Queue**, void(*)(Queue*,int));
58*74a4d8c2SCharles.Forsyth void	uartputs(char*, int);
59*74a4d8c2SCharles.Forsyth void	uartwait(void);
60*74a4d8c2SCharles.Forsyth long	unsqueezef(Block*, ulong*);
61*74a4d8c2SCharles.Forsyth 
62*74a4d8c2SCharles.Forsyth #define	GSHORT(p)	(((p)[1]<<8)|(p)[0])
63*74a4d8c2SCharles.Forsyth #define	GLONG(p)	((GSHORT(p+2)<<16)|GSHORT(p))
64*74a4d8c2SCharles.Forsyth #define	GLSHORT(p)	(((p)[0]<<8)|(p)[1])
65*74a4d8c2SCharles.Forsyth #define	GLLONG(p)	((GLSHORT(p)<<16)|GLSHORT(p+2))
66*74a4d8c2SCharles.Forsyth 
67*74a4d8c2SCharles.Forsyth #define KADDR(a)	((void*)((ulong)(a)|KZERO))
68*74a4d8c2SCharles.Forsyth #define PADDR(a)	((ulong)(a)&~KZERO)
69*74a4d8c2SCharles.Forsyth 
70*74a4d8c2SCharles.Forsyth 
71*74a4d8c2SCharles.Forsyth void	mapinit(RMap*, Map*, int);
72*74a4d8c2SCharles.Forsyth void	mapfree(RMap*, ulong, int);
73*74a4d8c2SCharles.Forsyth ulong	mapalloc(RMap*, ulong, int, int);
74*74a4d8c2SCharles.Forsyth 
75*74a4d8c2SCharles.Forsyth /* IBM bit field order */
76*74a4d8c2SCharles.Forsyth #define	IBFEXT(v,a,b) (((ulong)(v)>>(32-(b)-1)) & ~(~0L<<(((b)-(a)+1))))
77*74a4d8c2SCharles.Forsyth #define	IBIT(b)	((ulong)1<<(31-(b)))
78*74a4d8c2SCharles.Forsyth 
79*74a4d8c2SCharles.Forsyth #define	SIBIT(n)	((ushort)1<<(15-(n)))
80*74a4d8c2SCharles.Forsyth 
81*74a4d8c2SCharles.Forsyth void*	malloc(ulong);
82*74a4d8c2SCharles.Forsyth void	free(void*);
83*74a4d8c2SCharles.Forsyth 
84*74a4d8c2SCharles.Forsyth extern Block*	iallocb(int);
85*74a4d8c2SCharles.Forsyth extern void	freeb(Block*);
86*74a4d8c2SCharles.Forsyth extern Queue*	qopen(int, int, void (*)(void*), void*);
87*74a4d8c2SCharles.Forsyth extern Block*	qget(Queue*);
88*74a4d8c2SCharles.Forsyth extern void	qbwrite(Queue*, Block*);
89*74a4d8c2SCharles.Forsyth extern long	qlen(Queue*);
90*74a4d8c2SCharles.Forsyth #define	qpass	qbwrite
91*74a4d8c2SCharles.Forsyth extern void	qbputc(Queue*, int);
92*74a4d8c2SCharles.Forsyth extern int	qbgetc(Queue*);
93*74a4d8c2SCharles.Forsyth 
94*74a4d8c2SCharles.Forsyth int	sio_inb(int);
95*74a4d8c2SCharles.Forsyth void	sio_outb(int, int);
96*74a4d8c2SCharles.Forsyth void	led(int);
97*74a4d8c2SCharles.Forsyth 
98*74a4d8c2SCharles.Forsyth extern void _virqcall(void);
99*74a4d8c2SCharles.Forsyth extern void _vfiqcall(void);
100*74a4d8c2SCharles.Forsyth extern void _vundcall(void);
101*74a4d8c2SCharles.Forsyth extern void _vsvccall(void);
102*74a4d8c2SCharles.Forsyth extern void _vpabcall(void);
103*74a4d8c2SCharles.Forsyth extern void _vdabcall(void);
104*74a4d8c2SCharles.Forsyth 
105*74a4d8c2SCharles.Forsyth void flushIcache(void);
106*74a4d8c2SCharles.Forsyth void writeBackDC(void);
107*74a4d8c2SCharles.Forsyth void flushDcache(void);
108*74a4d8c2SCharles.Forsyth void flushIcache(void);
109*74a4d8c2SCharles.Forsyth void drainWBuffer(void);
110*74a4d8c2SCharles.Forsyth 
111*74a4d8c2SCharles.Forsyth void pumainit(void);
112