fns.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "../port/portfns.h"
  2. int cistrcmp(char*, char*);
  3. int cistrncmp(char*, char*, int);
  4. void clockinit(void);
  5. void clockintr(Ureg*);
  6. void clockintrsched(void);
  7. int cmpswap(long*, long, long);
  8. #define coherence() eieio()
  9. void cpuidprint(void);
  10. #define cycles(x) do{}while(0)
  11. void dcflush(void*, ulong);
  12. void delay(int);
  13. void dumpregs(Ureg*);
  14. void delayloopinit(void);
  15. void eieio(void);
  16. void evenaddr(ulong);
  17. void faultpower(Ureg*, ulong addr, int read);
  18. void fprestore(FPsave*);
  19. void fpsave(FPsave*);
  20. char* getconf(char*);
  21. ulong getdar(void);
  22. ulong getdec(void);
  23. ulong getdsisr(void);
  24. ulong gethid0(void);
  25. ulong gethid1(void);
  26. ulong getmsr(void);
  27. ulong getpvr(void);
  28. void gotopc(ulong);
  29. int havetimer(void);
  30. void hwintrinit(void);
  31. void i8250console(void);
  32. void i8259init(void);
  33. int i8259intack(void);
  34. int i8259enable(Vctl*);
  35. int i8259vecno(int);
  36. int i8259disable(int);
  37. void icflush(void*, ulong);
  38. #define idlehands() /* nothing to do in the runproc */
  39. int inb(int);
  40. void insb(int, void*, int);
  41. ushort ins(int);
  42. void inss(int, void*, int);
  43. ulong inl(int);
  44. void insl(int, void*, int);
  45. void intr(Ureg*);
  46. void intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
  47. int ioalloc(int, int, int, char*);
  48. void iofree(int);
  49. void ioinit(void);
  50. int iprint(char*, ...);
  51. int isaconfig(char*, int, ISAConf*);
  52. void kbdinit(void);
  53. #define kexit(a)
  54. #define kmapinval()
  55. void links(void);
  56. void mmuinit(void);
  57. void mmusweep(void*);
  58. void mpicdisable(int);
  59. void mpicenable(int, Vctl*);
  60. int mpiceoi(int);
  61. int mpicintack(void);
  62. int newmmupid(void);
  63. void outb(int, int);
  64. void outsb(int, void*, int);
  65. void outs(int, ushort);
  66. void outss(int, void*, int);
  67. void outl(int, ulong);
  68. void outsl(int, void*, int);
  69. int pciscan(int, Pcidev **);
  70. ulong pcibarsize(Pcidev *, int);
  71. int pcicfgr8(Pcidev*, int);
  72. int pcicfgr16(Pcidev*, int);
  73. int pcicfgr32(Pcidev*, int);
  74. void pcicfgw8(Pcidev*, int, int);
  75. void pcicfgw16(Pcidev*, int, int);
  76. void pcicfgw32(Pcidev*, int, int);
  77. void pciclrbme(Pcidev*);
  78. void pcihinv(Pcidev*);
  79. uchar pciipin(Pcidev *, uchar);
  80. Pcidev* pcimatch(Pcidev*, int, int);
  81. Pcidev* pcimatchtbdf(int);
  82. void pcireset(void);
  83. void pcisetbme(Pcidev*);
  84. #define procrestore(p)
  85. void procsave(Proc*);
  86. void procsetup(Proc*);
  87. void putdec(ulong);
  88. void puthid0(ulong);
  89. void puthid1(ulong);
  90. void putmsr(ulong);
  91. void putsdr1(ulong);
  92. void putsr(int, ulong);
  93. void raveninit(void);
  94. void sync(void);
  95. int tas(void*);
  96. void timeradd(Timer *);
  97. void timerdel(Timer *);
  98. void touser(void*);
  99. void trapinit(void);
  100. void trapvec(void);
  101. void tlbflush(ulong);
  102. void tlbflushall(void);
  103. #define userureg(ur) (((ur)->status & MSR_PR) != 0)
  104. void watchreset(void);
  105. #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
  106. #define KADDR(a) ((void*)((ulong)(a)|KZERO))
  107. #define PADDR(a) ((ulong)(a)&~KZERO)