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