xref: /plan9-contrib/sys/src/9/ppc/fns.h (revision fac6300f1f1b25611e114fc0bdda9cf428c13da4)
1458db832SDavid du Colombier #include "../port/portfns.h"
2458db832SDavid du Colombier 
35d9de2d3SDavid du Colombier ulong	cankaddr(ulong);
4458db832SDavid du Colombier int	cistrcmp(char*, char*);
5458db832SDavid du Colombier int	cistrncmp(char*, char*, int);
6458db832SDavid du Colombier void	clockinit(void);
7458db832SDavid du Colombier void	clockintr(Ureg*);
85d9de2d3SDavid du Colombier int	cmpswap(long*, long, long);
9458db832SDavid du Colombier void	cpuidprint(void);
10e288d156SDavid du Colombier void	cycles(uvlong*);
11458db832SDavid du Colombier void	dbgputc(int c);
12458db832SDavid du Colombier void	dcacheenb(void);
13458db832SDavid du Colombier void	dcflush(void*, ulong);
14458db832SDavid du Colombier void	dczap(void*, ulong);
15458db832SDavid du Colombier void	delay(int);
16458db832SDavid du Colombier void	delayloopinit(void);
17458db832SDavid du Colombier void	dmiss(void);
18458db832SDavid du Colombier void	dumpregs(Ureg*);
19458db832SDavid du Colombier void	eieio(void);
20458db832SDavid du Colombier void	faultpower(Ureg*, ulong addr, int read);
21458db832SDavid du Colombier void	flashprogpower(int);
22458db832SDavid du Colombier void	fpgareset(void);
23458db832SDavid du Colombier void	fprestore(FPsave*);
24458db832SDavid du Colombier void	fpsave(FPsave*);
25458db832SDavid du Colombier void	fptrap(Ureg*);
26458db832SDavid du Colombier char*	getconf(char*);
27458db832SDavid du Colombier ulong	getdar(void);
28458db832SDavid du Colombier ulong	getdcmp(void);
29458db832SDavid du Colombier ulong	getdec(void);
30458db832SDavid du Colombier ulong	getdmiss(void);
31458db832SDavid du Colombier ulong	getdsisr(void);
32458db832SDavid du Colombier ulong	gethash1(void);
33458db832SDavid du Colombier ulong	gethash2(void);
34458db832SDavid du Colombier ulong	gethid0(void);
35458db832SDavid du Colombier ulong	gethid1(void);
36458db832SDavid du Colombier ulong	geticmp(void);
37458db832SDavid du Colombier ulong	geticmp(void);
38458db832SDavid du Colombier ulong	getimiss(void);
39458db832SDavid du Colombier ulong	getmsr(void);
40458db832SDavid du Colombier ulong	getpvr(void);
41458db832SDavid du Colombier ulong	getrpa(void);
42458db832SDavid du Colombier ulong	getsdr1(void);
43458db832SDavid du Colombier ulong	getsr(int);
44458db832SDavid du Colombier ulong	getsrr1(void);
45458db832SDavid du Colombier void	gotopc(ulong);
46458db832SDavid du Colombier void	hwintrinit(void);
47458db832SDavid du Colombier void	icacheenb(void);
48458db832SDavid du Colombier void	icflush(void*, ulong);
49458db832SDavid du Colombier void	idle(void);
50458db832SDavid du Colombier #define	idlehands()		/* nothing to do in the runproc */
51458db832SDavid du Colombier void	imiss(void);
52458db832SDavid du Colombier int	inb(int);
53458db832SDavid du Colombier void	intr(Ureg*);
54458db832SDavid du Colombier void	intrenable(int, void (*)(Ureg*, void*), void*, char*);
55458db832SDavid du Colombier void	intrdisable(int, void (*)(Ureg*, void*), void*, char*);
56458db832SDavid du Colombier int	ioalloc(int, int, int, char*);
57458db832SDavid du Colombier void	iofree(int);
58458db832SDavid du Colombier int	iprint(char*, ...);
59458db832SDavid du Colombier int	isaconfig(char*, int, ISAConf*);
60458db832SDavid du Colombier void	kfpinit(void);
61458db832SDavid du Colombier #define	kmapinval()
62458db832SDavid du Colombier void	links(void);
63458db832SDavid du Colombier void	vectordisable(Vctl *);
64458db832SDavid du Colombier int	vectorenable(Vctl *);
65458db832SDavid du Colombier void	intack(void);
66458db832SDavid du Colombier void	intend(int);
67458db832SDavid du Colombier int	intvec(void);
68458db832SDavid du Colombier void	l2disable(void);
69458db832SDavid du Colombier void	mmuinit(void);
70458db832SDavid du Colombier void	mmusweep(void*);
71458db832SDavid du Colombier int	newmmupid(void);
72458db832SDavid du Colombier void	outb(int, int);
73458db832SDavid du Colombier int	pcicfgr16(Pcidev*, int);
74458db832SDavid du Colombier int	pcicfgr32(Pcidev*, int);
75458db832SDavid du Colombier int	pcicfgr8(Pcidev*, int);
76458db832SDavid du Colombier void	pcicfgw16(Pcidev*, int, int);
77458db832SDavid du Colombier void	pcicfgw32(Pcidev*, int, int);
78458db832SDavid du Colombier void	pcicfgw8(Pcidev*, int, int);
79458db832SDavid du Colombier void	procsave(Proc*);
80458db832SDavid du Colombier void	procsetup(Proc*);
81458db832SDavid du Colombier void	putdcmp(ulong);
82458db832SDavid du Colombier void	putdec(ulong);
83458db832SDavid du Colombier void	puthash1(ulong);
84458db832SDavid du Colombier void	puthash2(ulong);
85458db832SDavid du Colombier void	puthid0(ulong);
86458db832SDavid du Colombier void	puthid2(ulong);
87458db832SDavid du Colombier void	puticmp(ulong);
88458db832SDavid du Colombier void	puticmp(ulong);
89458db832SDavid du Colombier void	putmsr(ulong);
90458db832SDavid du Colombier void	putrpa(ulong);
91458db832SDavid du Colombier void	putsdr1(ulong);
92458db832SDavid du Colombier void	putsdr1(ulong);
93458db832SDavid du Colombier void	putsr(int, ulong);
94458db832SDavid du Colombier void	putsrr1(ulong);
95458db832SDavid du Colombier void	sethvec(int, void (*)(void));
96458db832SDavid du Colombier void	setmvec(int, void (*)(void), void (*)(void));
97458db832SDavid du Colombier void	sharedseginit(void);
98458db832SDavid du Colombier void	console(void);
99458db832SDavid du Colombier void	sync(void);
100458db832SDavid du Colombier int	tas(void*);
101458db832SDavid du Colombier void	timeradd(Timer *);
102458db832SDavid du Colombier void	timerdel(Timer *);
103458db832SDavid du Colombier void	timerinit(void);
104458db832SDavid du Colombier void	tlbflush(ulong);
105458db832SDavid du Colombier void	tlbflushall(void);
106458db832SDavid du Colombier void	tlbld(ulong);
107458db832SDavid du Colombier void	tlbli(ulong);
108458db832SDavid du Colombier void	tlbvec(void);
109458db832SDavid du Colombier void	touser(void*);
110458db832SDavid du Colombier void	trapinit(void);
111458db832SDavid du Colombier void	trapvec(void);
112458db832SDavid du Colombier #define	userureg(ur) (((ur)->status & MSR_PR) != 0)
113*fac6300fSDavid du Colombier void	validalign(uintptr, unsigned);
114458db832SDavid du Colombier #define	waserror()	(up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
115458db832SDavid du Colombier #define KADDR(a)	((void*)((ulong)(a)|KZERO))
116458db832SDavid du Colombier #define PADDR(a)	((((ulong)(a)&0xf0000000)==0xf0000000)?(ulong)(a):((ulong)(a)&~KZERO))
117458db832SDavid du Colombier #define coherence()	eieio()
118458db832SDavid du Colombier Pcidev* pcimatch(Pcidev*, int, int);
119458db832SDavid du Colombier Pcidev* pcimatchtbdf(int);
120e288d156SDavid du Colombier void	procrestore(Proc*);
121e288d156SDavid du Colombier 
122e288d156SDavid du Colombier #ifdef ucuconf
123e288d156SDavid du Colombier extern ulong getpll(void);
124e288d156SDavid du Colombier extern ulong getl2cr(void);
125e288d156SDavid du Colombier extern void putl2cr(ulong);
126e288d156SDavid du Colombier #endif
127