diff options
Diffstat (limited to 'os/ks32/fns.h')
| -rw-r--r-- | os/ks32/fns.h | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/os/ks32/fns.h b/os/ks32/fns.h new file mode 100644 index 00000000..581590ab --- /dev/null +++ b/os/ks32/fns.h @@ -0,0 +1,145 @@ +#include "../port/portfns.h" + +ulong aifinit(uchar *aifarr); +void aamloop(int); +void archconfinit(void); +int archflash12v(int); +void archflashwp(int); +void archreboot(void); +void archreset(void); +void catchDref(char *s, void *v); +void catchDval(char *s, ulong v, ulong m); +void catchIref(char *s, void *a); +void cisread(int slotno, void (*f)(int, uchar *)); +int cistrcmp(char *, char *); +void cleanDentry(void *); +void clockcheck(void); +void clockinit(void); +void clockpoll(void); +#define coherence() /* nothing to do for cache coherence for uniprocessor */ +uint cpsrr(void); +void cursorhide(void); +void cursorunhide(void); +void dmasetup(int channel, int device, int direction, int endianess); +void dmastart(int channel, void *b1, int b1siz, void *b2, int b2siz); +int dmacontinue(int channel, void *buf, int bufsize); +void dmastop(int channel); +int dmaerror(int channel); +void dmareset(void); +void drainWBuffer(void); +void dumplongs(char *, ulong *, int); +void dumpregs(Ureg* ureg); +void dumpstk(ulong *); +void flushDcache(void); +void flushIDC(void); +void flushIcache(void); +void flushDentry(void *); +void flushTLB(void); +int fpiarm(Ureg*); +void fpinit(void); +ulong getcallerpc(void*); +void gotopc(ulong); +#define idlehands() /* nothing to do in the runproc */ +void intrenable(int, void (*)(Ureg*, void*), void*, int); +void intrclear(int, int); +void intrmask(int, int); +void intrunmask(int, int); +int iprint(char *fmt, ...); +void installprof(void (*)(Ureg *, int)); +int isvalid_va(void*); +void kbdinit(void); +void lcd_setbacklight(int); +void lcd_setbrightness(ushort); +void lcd_setcontrast(ushort); +void lcd_sethz(int); +void lights(ulong); +void setled7ascii(char); +void links(void); +ulong mcpgettfreq(void); +void mcpinit(void); +void mcpsettfreq(ulong tfreq); +void mcpspeaker(int, int); +void mcptelecomsetup(ulong hz, uchar adm, uchar xint, uchar rint); +ushort mcpadcread(int ts); +void mcptouchsetup(int ts); +void mcptouchintrenable(void); +void mcptouchintrdisable(void); +void mcpgpiowrite(ushort mask, ushort data); +void mcpgpiosetdir(ushort mask, ushort dir); +ushort mcpgpioread(void); +void mmuinit(void); +ulong mmuctlregr(void); +void mmuctlregw(ulong); +ulong mmuregr(int); +void mmuregw(int, ulong); +void mmureset(void); +void mouseinit(void); +void nowriteSeg(void *, void *); +void* pa2va(ulong); +int pcmpin(int slot, int type); +void pcmpower(int slotno, int on); +int pcmpowered(int slotno); +void pcmsetvcc(int slotno, int vcc); +void pcmsetvpp(int slotno, int vpp); +int pcmspecial(char *idstr, ISAConf *isa); +void pcmspecialclose(int slotno); +void pcmintrenable(int, void (*)(Ureg*, void*), void*); +void putcsr(ulong); +#define procsave(p) +#define procrestore(p) +void remaplomem(void); +long rtctime(void); +void* screenalloc(ulong); +void screeninit(void); +void screenputs(char*, int); +int segflush(void*, ulong); +void setpanic(void); +void setr13(int, void*); +uint spsrr(void); +void touchrawcal(int q, int px, int py); +int touchcalibrate(void); +int touchreadxy(int *fx, int *fy); +int touchpressed(void); +int touchreleased(void); +void touchsetrawcal(int q, int n, int v); +int touchgetrawcal(int q, int n); +void trapinit(void); +void trapspecial(int (*)(Ureg *, uint)); +int uartprint(char*, ...); +void uartspecial(int, int, char, Queue**, Queue**, int (*)(Queue*, int)); +void umbfree(ulong addr, int size); +ulong umbmalloc(ulong addr, int size, int align); +void umbscan(void); +ulong va2pa(void*); +void vectors(void); +void vtable(void); +#define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1])) +int wasbusy(int); +void _vfiqcall(void); +void _virqcall(void); +void _vundcall(void); +void _vsvccall(void); +void _vpabcall(void); +void _vdabcall(void); +void vgaputc(char); +void writeBackBDC(void); +void writeBackDC(void); + +#define KADDR(p) ((void *) p) +#define PADDR(v) va2pa((void*)(v)) + +// #define timer_start() (*OSCR) +// #define timer_ticks(t) (*OSCR - (ulong)(t)) +#define DELAY(ms) timer_delay(MS2TMR(ms)) +#define MICRODELAY(us) timer_delay(US2TMR(us)) +ulong timer_start(void); +ulong timer_ticks(ulong); +int timer_devwait(ulong *adr, ulong mask, ulong val, int ost); +void timer_setwatchdog(int ost); +void timer_delay(int ost); +ulong ms2tmr(int ms); +int tmr2ms(ulong t); +void delay(int ms); +ulong us2tmr(int us); +int tmr2us(ulong t); +void microdelay(int us); |
