]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/boot/pc/fns.h
let the kernel set dma mode for ata by default
[plan9front.git] / sys / src / boot / pc / fns.h
old mode 100755 (executable)
new mode 100644 (file)
index 90f36cb..cd08c92
-void   aamloop(int);
-void   addconf(char*, ...);
-Alarm* alarm(int, void (*)(Alarm*), void*);
-void   alarminit(void);
-Block* allocb(int);
-void   apminit(void);
-int    biosboot(int dev, char *file, Boot *b);
-void*  biosgetfspart(int i, char *name, int chatty);
-void   biosinitdev(int i, char *name);
-int    biosinit(void);
-void   biosprintbootdevs(int dev);
-void   biosprintdevs(int i);
-int    bootpboot(int, char*, Boot*);
-int    bootpass(Boot*, void*, int);
-void   cancel(Alarm*);
-int    cdinit(void);
-void   check(char*);
-void   cgascreenputs(char*, int);
-int    cistrcmp(char*, char*);
-int    cistrncmp(char*, char*, int);
-void   changeconf(char*, ...);
-void   checkalarms(void);
-void   clockinit(void);
-#define coherence()    mb386()
-void   consdrain(void);
-void   consinit(char*, char*);
-void   consputs(char*, int);
-void   delay(int);
-uchar* etheraddr(int);
-int    etherinit(void);
-void   etherinitdev(int, char*);
-void   etherprintdevs(int);
-int    etherrxflush(int);
-int    etherrxpkt(int, Etherpkt*, int);
-int    ethertxpkt(int, Etherpkt*, int, int);
-#define        evenaddr(x)             /* 386 doesn't care */
-int    floppyboot(int, char*, Boot*);
-int    floppyinit(void);
-void   floppyinitdev(int, char*);
-void   floppyprintdevs(int);
-void*  floppygetfspart(int, char*, int);
-void   freeb(Block*);
-char*  getconf(char*);
-ulong  getcr0(void);
-ulong  getcr2(void);
-ulong  getcr3(void);
-ulong  getcr4(void);
-int    getfields(char*, char**, int, char);
-int    getstr(char*, char*, int, char*, int);
-int    gunzip(uchar*, int, uchar*, int);
-void   i8042a20(void);
-void   i8042init(void);
-void   i8042reset(void);
-void*  ialloc(ulong, int);
-void   idle(void);
-void   ilock(Lock*);
-int    inb(int);
-ushort ins(int);
-ulong  inl(int);
-void   insb(int, void*, int);
-void   inss(int, void*, int);
-void   insl(int, void*, int);
-#define ioalloc(addr, len, align, name)        (addr)
-#define iofree(addr)
-void   iunlock(Lock*);
-int    isaconfig(char*, int, ISAConf*);
-void   kbdinit(void);
-void   kbdchar(int);
-void   machinit(void);
-void   mb386(void);
-void   meminit(ulong);
-void   microdelay(int);
-void   mmuinit(void);
-#define        nelem(x)        (sizeof(x)/sizeof(x[0]))
-char*  nextelem(char*, char*);
-uchar  nvramread(int);
-void   outb(int, int);
-void   outs(int, ushort);
-void   outl(int, ulong);
-void   outsb(int, void*, int);
-void   outss(int, void*, int);
-void   outsl(int, void*, int);
-void   panic(char*, ...);
-ulong  pcibarsize(Pcidev*, int);
-int    pcicfgr8(Pcidev*, int);
-int    pcicfgr16(Pcidev*, int);
-int    pcicfgr32(Pcidev*, int);
-void   pcicfgw8(Pcidev*, int, int);
-void   pcicfgw16(Pcidev*, int, int);
-void   pcicfgw32(Pcidev*, int, int);
-void   pciclrbme(Pcidev*);
-void   pciclrioe(Pcidev*);
-void   pciclrmwi(Pcidev*);
-int    pcigetpms(Pcidev*);
-void   pcihinv(Pcidev*, int);
-Pcidev*        pcimatch(Pcidev*, int, int);
-uchar  pciintl(Pcidev *);
-uchar  pciipin(Pcidev *, uchar);
-void   pcireset(void);
-void   pcisetbme(Pcidev*);
-void   pcisetioe(Pcidev*);
-void   pcisetmwi(Pcidev*);
-int    pcisetpms(Pcidev*, int);
-void   pcmcisread(PCMslot*);
-int    pcmcistuple(int, int, int, void*, int);
-PCMmap*        pcmmap(int, ulong, int, int);
-int    pcmspecial(char*, ISAConf*);
-void   pcmspecialclose(int);
-void   pcmunmap(int, PCMmap*);
-void   prcpuid(void);
-void   ptcheck(char*);
-void   putcr3(ulong);
-void   putidt(Segdesc*, int);
-void*  pxegetfspart(int, char*, int);
-void   qinit(IOQ*);
-void   readlsconf(void);
-void   sdaddconf(int);
-int    sdboot(int, char*, Boot*);
-void   sdcheck(char*);
-void*  sdgetfspart(int, char*, int);
-int    sdinit(void);
-void   sdinitdev(int, char*);
-void   sdprintdevs(int);
-int    sdsetpart(int, char*);
-void   setvec(int, void (*)(Ureg*, void*), void*);
-int    splhi(void);
-int    spllo(void);
-void   splx(int);
-void   trapinit(void);
-void   trapdisable(void);
-void   trapenable(void);
-void   uartdrain(void);
-void   uartspecial(int, void (*)(int), int (*)(void), int);
-void   uartputs(IOQ*, char*, int);
-ulong  umbmalloc(ulong, int, int);
-void   umbfree(ulong, int);
-ulong  umbrwmalloc(ulong, int, int);
-void   upafree(ulong, int);
-ulong  upamalloc(ulong, int, int);
-void   warp86(char*, ulong);
-void   warp9(ulong);
-int    x86cpuid(int*, int*);
-void*  xspanalloc(ulong, int, ulong);
+/* handy strings in l.s */
+extern char origin[];
+extern char hex[];
+extern char crnl[];
+extern char bootname[];
+
+/* l.s */
+void start(void *sp);
+int getc(void);
+int gotc(void);
+void putc(int c);
+void a20(void);
+void halt(void);
+void jump(void *pc);
+
+int read(void *f, void *data, int len);
+int readn(void *f, void *data, int len);
+void close(void *f);
+
+void memset(void *p, int v, int n);
+void memmove(void *dst, void *src, int n);
+int memcmp(void *src, void *dst, int n);
+int strlen(char *s);
+char *strchr(char *s, int c);
+char *strrchr(char *s, int c);
+void print(char *s);
+
+char *configure(void *f, char *path);
+char *bootkern(void *f);
 
-#define malloc(n)      ialloc(n, 0)
-#define mallocz(n, c)  ialloc(n, 0)
-#define mallocalign(n, a, o, s)        ialloc((n), (a))
-#define free(v)                while(0)
-
-#define        GSHORT(p)       (((p)[1]<<8)|(p)[0])
-#define        GLONG(p)        ((GSHORT(p+2)<<16)|GSHORT(p))
-#define        GLSHORT(p)      (((p)[0]<<8)|(p)[1])
-#define        GLLONG(p)       (((ulong)GLSHORT(p)<<16)|GLSHORT(p+2))
-#define        PLLONG(p,v)     (p)[3]=(v);(p)[2]=(v)>>8;(p)[1]=(v)>>16;(p)[0]=(v)>>24
-
-#define KADDR(a)       ((void*)((ulong)(a)|KZERO))
-#define PADDR(a)       ((ulong)(a)&~0xF0000000)
-
-#define        HOWMANY(x, y)   (((x)+((y)-1))/(y))
-#define ROUNDUP(x, y)  (HOWMANY((x), (y))*(y))
-
-
-#define xalloc(n)      ialloc(n, 0)
-#define xfree(v)       while(0)
-#define lock(l)                if(l){/* nothing to do */;}else{/* nothing to do */;}
-#define unlock(l)      if(l){/* nothing to do */;}else{/* nothing to do */;}
-
-int    dmacount(int);
-int    dmadone(int);
-void   dmaend(int);
-void   dmainit(int);
-long   dmasetup(int, void*, long, int);
-
-extern int (*_pcmspecial)(char *, ISAConf *);
-extern void (*_pcmspecialclose)(int);
-extern void devi82365link(void);
-extern void devpccardlink(void);