Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "../port/portfns.h"
2
 
3
Dirtab*	addarchfile(char*, int, long(*)(Chan*, void*, long, vlong), 
4
	long(*)(Chan*, void*, long, vlong));
5
extern void archreboot(void);
6
extern void archreset(void);
7
extern void armtimerset(int);
8
extern void cachedwbinv(void);
9
extern void cachedwbse(void*, int);
10
extern void cachedwbinvse(void*, int);
11
extern void cacheiinv(void);
12
extern void cacheuwbinv(void);
13
extern uintptr cankaddr(uintptr pa);
14
extern int cas32(void*, u32int, u32int);
15
extern void checkmmu(uintptr, uintptr);
16
extern void clockinit(void);
17
extern void clockshutdown(void);
18
extern int cmpswap(long*, long, long);
19
extern void coherence(void);
20
extern ulong cprd(int cp, int op1, int crn, int crm, int op2);
21
extern ulong cprdsc(int op1, int crn, int crm, int op2);
22
extern void cpuidprint(void);
23
extern void cpwr(int cp, int op1, int crn, int crm, int op2, ulong val);
24
extern void cpwrsc(int op1, int crn, int crm, int op2, ulong val);
25
#define cycles(ip) *(ip) = lcycles()
26
extern void dmastart(int, int, int, void*, void*, int);
27
extern int dmawait(int);
28
extern int fbblank(int);
29
extern void* fbinit(int, int*, int*, int*);
30
extern u32int farget(void);
31
extern void fpon(void);
32
extern ulong fprd(int fpreg);
33
extern void fprestreg(int fpreg, uvlong val);
34
extern void fpsave(FPsave *);
35
extern ulong fpsavereg(int fpreg, uvlong *fpp);
36
extern void fpwr(int fpreg, ulong val);
37
extern u32int fsrget(void);
38
extern ulong getclkrate(int);
39
extern char* getconf(char*);
40
extern char *getethermac(void);
41
extern uint getfirmware(void);
42
extern int getpower(int);
43
extern void getramsize(Confmem*);
44
extern u32int ifsrget(void);
45
extern void irqenable(int, void (*)(Ureg*, void*), void*);
46
#define intrenable(i, f, a, b, n) irqenable((i), (f), (a))
47
extern void intrsoff(void);
48
extern int isaconfig(char*, int, ISAConf*);
49
extern void links(void);
50
extern void mmuinit(void);
51
extern void mmuinit1(void);
52
extern void mmuinvalidate(void);
53
extern void mmuinvalidateaddr(u32int);
54
extern uintptr mmukmap(uintptr, uintptr, usize);
55
extern void okay(int);
56
extern void procrestore(Proc *);
57
extern void procsave(Proc*);
58
extern void procsetup(Proc*);
59
extern void screeninit(void);
60
#define sdfree(p) free(p)
61
#define sdmalloc(n)	mallocalign(n, CACHELINESZ, 0, 0)
62
extern void setpower(int, int);
63
extern void setr13(int, u32int*);
64
extern int splfhi(void);
65
extern int splflo(void);
66
extern void swcursorinit(void);
67
extern void syscallfmt(int syscallno, ulong pc, va_list list);
68
extern void sysretfmt(int syscallno, va_list list, long ret, uvlong start, uvlong stop);
69
extern int tas(void *);
70
extern void touser(uintptr);
71
extern void trapinit(void);
72
extern void uartconsinit(void);
73
extern int userureg(Ureg*);
74
extern void vectors(void);
75
extern void vtable(void);
76
extern void wdogoff(void);
77
 
78
/*
79
 * floating point emulation
80
 */
81
extern int fpiarm(Ureg*);
82
extern int fpudevprocio(Proc*, void*, long, uintptr, int);
83
extern void fpuinit(void);
84
extern void fpunoted(void);
85
extern void fpunotify(Ureg*);
86
extern void fpuprocrestore(Proc*);
87
extern void fpuprocsave(Proc*);
88
extern void fpusysprocsetup(Proc*);
89
extern void fpusysrfork(Ureg*);
90
extern void fpusysrforkchild(Proc*, Ureg*, Proc*);
91
extern int fpuemu(Ureg*);
92
/*
93
 * Things called from port.
94
 */
95
extern void delay(int);				/* only scheddump() */
96
extern int islo(void);
97
extern void microdelay(int);			/* only edf.c */
98
extern void idlehands(void);
99
extern void setkernur(Ureg*, Proc*);		/* only devproc.c */
100
extern void* sysexecregs(uintptr, ulong, int);
101
extern void sysprocsetup(Proc*);
102
extern void validalign(uintptr, unsigned);
103
 
104
extern void kexit(Ureg*);
105
 
106
#define	getpgcolor(a)	0
107
#define	kmapinval()
108
#define countpagerefs(a, b)
109
 
110
#define PTR2UINT(p)	((uintptr)(p))
111
#define UINT2PTR(i)	((void*)(i))
112
 
113
#define	waserror()	(up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
114
 
115
#define KADDR(pa)	UINT2PTR(KZERO    | ((uintptr)(pa) & ~KSEGM))
116
#define PADDR(va)	PTR2UINT(PHYSDRAM | ((uintptr)(va) & ~KSEGM))
117
#define DMAADDR(va)	PTR2UINT(BUSDRAM  | ((uintptr)(va) & ~KSEGM))
118
#define DMAIO(va)	PTR2UINT(BUSIO    | ((uintptr)(va) & ~VIRTIO))
119
 
120
#define MASK(v)	((1UL << (v)) - 1)	/* mask `v' bits wide */