fns.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. void aamloop(int);
  10. void addconf(char*, ...);
  11. Alarm* alarm(int, void (*)(Alarm*), void*);
  12. void alarminit(void);
  13. Block* allocb(int);
  14. void apminit(void);
  15. int bootpboot(int, char*, Boot*);
  16. int bootpass(Boot*, void*, int);
  17. void cancel(Alarm*);
  18. int cdinit(void);
  19. void check(char*);
  20. void cgaconsputs(char*, int);
  21. void cgainit(void);
  22. void cgapost(int);
  23. int cistrcmp(char*, char*);
  24. int cistrncmp(char*, char*, int);
  25. void changeconf(char*, ...);
  26. void checkalarms(void);
  27. void clockinit(void);
  28. #define coherence() mb386()
  29. void consdrain(void);
  30. int consinit(char*, char*);
  31. void consputs(char*, int);
  32. void delay(int);
  33. uchar* etheraddr(int);
  34. int etherinit(void);
  35. void etherinitdev(int, char*);
  36. void etherprintdevs(int);
  37. int etherrxflush(int);
  38. int etherrxpkt(int, Etherpkt*, int);
  39. int ethertxpkt(int, Etherpkt*, int, int);
  40. #define evenaddr(x) /* 386 doesn't care */
  41. int floppyboot(int, char*, Boot*);
  42. int floppyinit(void);
  43. void floppyinitdev(int, char*);
  44. void floppyprintdevs(int);
  45. void* floppygetfspart(int, char*, int);
  46. void freeb(Block*);
  47. char* getconf(char*);
  48. uint32_t getcr0(void);
  49. uint32_t getcr2(void);
  50. uint32_t getcr3(void);
  51. uint32_t getcr4(void);
  52. int getfields(char*, char**, int, char);
  53. int getstr(char*, char*, int, char*, int);
  54. int gunzip(uchar*, int, uchar*, int);
  55. void i8042a20(void);
  56. void i8042init(void);
  57. void i8042reset(void);
  58. void* ialloc(uint32_t, int);
  59. void idle(void);
  60. void ilock(Lock*);
  61. void impulse(void);
  62. int inb(int);
  63. ushort ins(int);
  64. uint32_t inl(int);
  65. void insb(int, void*, int);
  66. void inss(int, void*, int);
  67. void insl(int, void*, int);
  68. #define ioalloc(addr, len, align, name) (addr)
  69. #define iofree(addr)
  70. void iunlock(Lock*);
  71. int isaconfig(char*, int, ISAConf*);
  72. void kbdinit(void);
  73. void kbdchar(int);
  74. void lgdt(ushort[3]);
  75. void lidt(ushort[3]);
  76. void machinit(void);
  77. void mapraminit(uvlong, uint32_t);
  78. void mapupainit(uvlong, uint32_t);
  79. void mb386(void);
  80. void meminit(u32int);
  81. void microdelay(int);
  82. void mkmultiboot(void);
  83. void mmuinit(void);
  84. #define nelem(x) (sizeof(x)/sizeof(x[0]))
  85. char* nextelem(char*, char*);
  86. uchar nvramread(int);
  87. void outb(int, int);
  88. void outs(int, ushort);
  89. void outl(int, uint32_t);
  90. void outsb(int, void*, int);
  91. void outss(int, void*, int);
  92. void outsl(int, void*, int);
  93. void panic(char*, ...);
  94. uint32_t pcibarsize(Pcidev*, int);
  95. int pcicfgr8(Pcidev*, int);
  96. int pcicfgr16(Pcidev*, int);
  97. int pcicfgr32(Pcidev*, int);
  98. void pcicfgw8(Pcidev*, int, int);
  99. void pcicfgw16(Pcidev*, int, int);
  100. void pcicfgw32(Pcidev*, int, int);
  101. void pciclrbme(Pcidev*);
  102. void pciclrioe(Pcidev*);
  103. void pciclrmwi(Pcidev*);
  104. int pcigetpms(Pcidev*);
  105. void pcihinv(Pcidev*);
  106. uchar pciipin(Pcidev*, uchar);
  107. Pcidev* pcimatch(Pcidev*, int, int);
  108. Pcidev* pcimatchtbdf(int);
  109. void pcireset(void);
  110. void pcisetbme(Pcidev*);
  111. void pcisetioe(Pcidev*);
  112. void pcisetmwi(Pcidev*);
  113. int pcisetpms(Pcidev*, int);
  114. void pcmcisread(PCMslot*);
  115. int pcmcistuple(int, int, int, void*, int);
  116. PCMmap* pcmmap(int, uint32_t, int, int);
  117. int pcmspecial(char*, ISAConf*);
  118. void pcmspecialclose(int);
  119. void pcmunmap(int, PCMmap*);
  120. void ptcheck(char*);
  121. void putcr3(uint32_t);
  122. void putidt(Segdesc*, int);
  123. void* pxegetfspart(int, char*, int);
  124. void qinit(IOQ*);
  125. void readlsconf(void);
  126. void sdaddconf(int);
  127. int sdboot(int, char*, Boot*);
  128. void sdcheck(char*);
  129. void* sdgetfspart(int, char*, int);
  130. int sdinit(void);
  131. void sdinitdev(int, char*);
  132. void sdprintdevs(int);
  133. int sdsetpart(int, char*);
  134. void setvec(int, void (*)(Ureg*, void*), void*);
  135. int splhi(void);
  136. int spllo(void);
  137. void splx(int);
  138. void startwheel(void);
  139. void stopwheel(void);
  140. void trapdisable(void);
  141. void trapenable(void);
  142. void trapinit(void);
  143. void turnwheel(int);
  144. void uartdrain(IOQ*);
  145. int uartspecial(int, void (*)(int), int (*)(void), int);
  146. void uartputs(IOQ*, char*, int);
  147. uint32_t umbmalloc(uint32_t, int, int);
  148. void umbfree(uint32_t, int);
  149. uint32_t umbrwmalloc(uint32_t, int, int);
  150. void upafree(uint32_t, int);
  151. uint32_t upamalloc(uint32_t, int, int);
  152. void warp64(uvlong);
  153. void warp86(char*, uint32_t);
  154. void warp9(uint32_t);
  155. int x86cpuid(int*, int*);
  156. void* xspanalloc(uint32_t, int, uint32_t);
  157. #define malloc(n) ialloc(n, 0)
  158. #define mallocz(n, c) ialloc(n, 0)
  159. #define free(v) while(0)
  160. #define GSHORT(p) (((p)[1]<<8)|(p)[0])
  161. #define GLONG(p) ((GSHORT(p+2)<<16)|GSHORT(p))
  162. #define GLSHORT(p) (((p)[0]<<8)|(p)[1])
  163. #define GLLONG(p) (((uint32_t)GLSHORT(p)<<16)|GLSHORT(p+2))
  164. #define PLLONG(p,v) (p)[3]=(v);(p)[2]=(v)>>8;(p)[1]=(v)>>16;(p)[0]=(v)>>24
  165. #define KADDR(a) ((void*)((uint32_t)(a)|KZERO))
  166. #define PADDR(a) ((uint32_t)(a)&~0xF0000000)
  167. #define HOWMANY(x, y) (((x)+((y)-1))/(y))
  168. #define ROUNDUP(x, y) (HOWMANY((x), (y))*(y))
  169. #define xalloc(n) ialloc(n, 0)
  170. #define xfree(v) while(0)
  171. #define lock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
  172. #define unlock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
  173. int dmacount(int);
  174. int dmadone(int);
  175. void dmaend(int);
  176. void dmainit(int);
  177. long dmasetup(int, void*, long, int);
  178. extern int (*_pcmspecial)(char *, ISAConf *);
  179. extern void (*_pcmspecialclose)(int);
  180. extern void devi82365link(void);
  181. extern void devpccardlink(void);
  182. #pragma incomplete Ureg