xref: /inferno-os/os/fads/fns.h (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1*74a4d8c2SCharles.Forsyth #include "../port/portfns.h"
2*74a4d8c2SCharles.Forsyth 
3*74a4d8c2SCharles.Forsyth void	addpower(Power*);
4*74a4d8c2SCharles.Forsyth void	archbacklight(int);
5*74a4d8c2SCharles.Forsyth void	archconfinit(void);
6*74a4d8c2SCharles.Forsyth void	archdisableuart(int);
7*74a4d8c2SCharles.Forsyth void	archdisableusb(void);
8*74a4d8c2SCharles.Forsyth void	archdisablevideo(void);
9*74a4d8c2SCharles.Forsyth void	archenableuart(int, int);
10*74a4d8c2SCharles.Forsyth void	archenableusb(int, int);
11*74a4d8c2SCharles.Forsyth void	archenablevideo(void);
12*74a4d8c2SCharles.Forsyth void	archkbdinit(void);
13*74a4d8c2SCharles.Forsyth void	archresetvideo(void);
14*74a4d8c2SCharles.Forsyth int	archetherenable(int, int*, int*, int, int);
15*74a4d8c2SCharles.Forsyth void	archinit(void);
16*74a4d8c2SCharles.Forsyth int	archoptionsw(void);
17*74a4d8c2SCharles.Forsyth void	archreboot(void);
18*74a4d8c2SCharles.Forsyth void	archsetirxcvr(int);
19*74a4d8c2SCharles.Forsyth uchar*	archvideobuffer(long);
20*74a4d8c2SCharles.Forsyth ulong	baudgen(int, int);
21*74a4d8c2SCharles.Forsyth int	brgalloc(void);
22*74a4d8c2SCharles.Forsyth void	brgfree(int);
23*74a4d8c2SCharles.Forsyth int	cistrcmp(char*, char*);
24*74a4d8c2SCharles.Forsyth int	cistrncmp(char*, char*, int);
25*74a4d8c2SCharles.Forsyth void	clockcheck(void);
26*74a4d8c2SCharles.Forsyth void	clockinit(void);
27*74a4d8c2SCharles.Forsyth void	clockintr(Ureg*);
28*74a4d8c2SCharles.Forsyth void	clrfptrap(void);
29*74a4d8c2SCharles.Forsyth #define	coherence()		/* nothing needed for uniprocessor */
30*74a4d8c2SCharles.Forsyth void	cpminit(void);
31*74a4d8c2SCharles.Forsyth void	cpuidprint(void);
32*74a4d8c2SCharles.Forsyth void	dcflush(void*, ulong);
33*74a4d8c2SCharles.Forsyth void	dcinval(void*, ulong);
34*74a4d8c2SCharles.Forsyth void	delay(int);
35*74a4d8c2SCharles.Forsyth void	dtlbmiss(void);
36*74a4d8c2SCharles.Forsyth void	dumplongs(char*, ulong*, int);
37*74a4d8c2SCharles.Forsyth void	dumpregs(Ureg*);
38*74a4d8c2SCharles.Forsyth void	eieio(void);
39*74a4d8c2SCharles.Forsyth void	faultpower(Ureg*);
40*74a4d8c2SCharles.Forsyth void	firmware(int);
41*74a4d8c2SCharles.Forsyth void	fpinit(void);
42*74a4d8c2SCharles.Forsyth int	fpipower(Ureg*);
43*74a4d8c2SCharles.Forsyth void	fpoff(void);
44*74a4d8c2SCharles.Forsyth void	fprestore(FPU*);
45*74a4d8c2SCharles.Forsyth void	fpsave(FPU*);
46*74a4d8c2SCharles.Forsyth ulong	fpstatus(void);
47*74a4d8c2SCharles.Forsyth char*	getconf(char*);
48*74a4d8c2SCharles.Forsyth ulong	getdar(void);
49*74a4d8c2SCharles.Forsyth ulong	getdec(void);
50*74a4d8c2SCharles.Forsyth ulong	getdepn(void);
51*74a4d8c2SCharles.Forsyth ulong	getdsisr(void);
52*74a4d8c2SCharles.Forsyth ulong	getimmr(void);
53*74a4d8c2SCharles.Forsyth ulong	getmsr(void);
54*74a4d8c2SCharles.Forsyth ulong	getpvr(void);
55*74a4d8c2SCharles.Forsyth ulong	gettbl(void);
56*74a4d8c2SCharles.Forsyth ulong	gettbu(void);
57*74a4d8c2SCharles.Forsyth void	gotopc(ulong);
58*74a4d8c2SCharles.Forsyth void	icflush(void*, ulong);
59*74a4d8c2SCharles.Forsyth void	idle(void);
60*74a4d8c2SCharles.Forsyth #define	idlehands()			/* nothing to do in the runproc */
61*74a4d8c2SCharles.Forsyth void	intr(Ureg*);
62*74a4d8c2SCharles.Forsyth void	intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
63*74a4d8c2SCharles.Forsyth void	intrdisable(int, void (*)(Ureg*, void*), void*, int, char*);
64*74a4d8c2SCharles.Forsyth int	intrstats(char*, int);
65*74a4d8c2SCharles.Forsyth void	intrvec(void);
66*74a4d8c2SCharles.Forsyth int	isaconfig(char*, int, ISAConf*);
67*74a4d8c2SCharles.Forsyth int	isvalid_va(void*);
68*74a4d8c2SCharles.Forsyth void	itlbmiss(void);
69*74a4d8c2SCharles.Forsyth void	kbdinit(void);
70*74a4d8c2SCharles.Forsyth void	kbdreset(void);
71*74a4d8c2SCharles.Forsyth void	lcdpanel(int);
72*74a4d8c2SCharles.Forsyth void	links(void);
73*74a4d8c2SCharles.Forsyth void	mapfree(RMap*, ulong, int);
74*74a4d8c2SCharles.Forsyth void	mapinit(RMap*, Map*, int);
75*74a4d8c2SCharles.Forsyth void	mathinit(void);
76*74a4d8c2SCharles.Forsyth void	mmuinit(void);
77*74a4d8c2SCharles.Forsyth ulong*	mmuwalk(ulong*, ulong, int);
78*74a4d8c2SCharles.Forsyth void	pcmenable(void);
79*74a4d8c2SCharles.Forsyth void	pcmintrenable(int, void (*)(Ureg*, void*), void*);
80*74a4d8c2SCharles.Forsyth int	pcmpin(int slot, int type);
81*74a4d8c2SCharles.Forsyth void	pcmpower(int, int);
82*74a4d8c2SCharles.Forsyth int	pcmpowered(int);
83*74a4d8c2SCharles.Forsyth void	pcmsetvcc(int, int);
84*74a4d8c2SCharles.Forsyth void	pcmsetvpp(int, int);
85*74a4d8c2SCharles.Forsyth int	pcmslotsavail(int);
86*74a4d8c2SCharles.Forsyth void	procsave(Proc*);
87*74a4d8c2SCharles.Forsyth void	procsetup(Proc*);
88*74a4d8c2SCharles.Forsyth void	putdec(ulong);
89*74a4d8c2SCharles.Forsyth void	putmsr(ulong);
90*74a4d8c2SCharles.Forsyth void	puttwb(ulong);
91*74a4d8c2SCharles.Forsyth ulong	rmapalloc(RMap*, ulong, int, int);
92*74a4d8c2SCharles.Forsyth void	screeninit(void);
93*74a4d8c2SCharles.Forsyth int	screenprint(char*, ...);			/* debugging */
94*74a4d8c2SCharles.Forsyth void	screenputs(char*, int);
95*74a4d8c2SCharles.Forsyth int	segflush(void*, ulong);
96*74a4d8c2SCharles.Forsyth void	setpanic(void);
97*74a4d8c2SCharles.Forsyth long	spioutin(void*, long, void*);
98*74a4d8c2SCharles.Forsyth void	spireset(void);
99*74a4d8c2SCharles.Forsyth ulong	_tas(ulong*);
100*74a4d8c2SCharles.Forsyth void	trapinit(void);
101*74a4d8c2SCharles.Forsyth void	trapvec(void);
102*74a4d8c2SCharles.Forsyth void	uartinstall(void);
103*74a4d8c2SCharles.Forsyth void	uartspecial(int, int, Queue**, Queue**, int (*)(Queue*, int));
104*74a4d8c2SCharles.Forsyth void	uartwait(void);	/* debugging */
105*74a4d8c2SCharles.Forsyth void	videoreset(void);
106*74a4d8c2SCharles.Forsyth void	videotest(void);
107*74a4d8c2SCharles.Forsyth void	wbflush(void);
108*74a4d8c2SCharles.Forsyth 
109*74a4d8c2SCharles.Forsyth #define	waserror()	(up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
110*74a4d8c2SCharles.Forsyth ulong	getcallerpc(void*);
111*74a4d8c2SCharles.Forsyth 
112*74a4d8c2SCharles.Forsyth #define KADDR(a)	((void*)((ulong)(a)|KZERO))
113*74a4d8c2SCharles.Forsyth #define PADDR(a)	((((ulong)(a)&KSEGM)!=KSEG0)?(ulong)(a):((ulong)(a)&~KZERO))
114*74a4d8c2SCharles.Forsyth 
115*74a4d8c2SCharles.Forsyth /* IBM bit field order */
116*74a4d8c2SCharles.Forsyth #define	IBIT(b)	((ulong)1<<(31-(b)))
117*74a4d8c2SCharles.Forsyth #define	SIBIT(n)	((ushort)1<<(15-(n)))
118