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