## diffname pc/dat.h 1991/0612 ## diff -e /dev/null /n/bootesdump/1991/0612/sys/src/9/safari/dat.h 0a typedef struct Conf Conf; typedef struct Label Label; typedef struct Lock Lock; typedef struct MMU MMU; typedef struct Mach Mach; typedef struct PMMU PMMU; typedef struct Ureg Ureg; typedef struct User User; #define MACHP(n) (n==0? &mach0 : *(Mach**)0) extern Mach mach0; extern void (*kprofp)(ulong); /* * parameters for sysproc.c */ #define AOUT_MAGIC I_MAGIC struct Lock { char key; ulong pc; }; struct Label { ulong sp; ulong pc; ushort sr; }; /* * floating point registers */ enum { FPinit, FPactive, FPdirty, }; struct FPsave { uchar type; uchar size; short reserved; char junk[212]; /* 68881: sizes 24, 180; 68882: 56, 212 */ char reg[3*4+8*12]; }; struct Conf { int nmach; /* processors */ int nproc; /* processes */ int npgrp; /* process groups */ ulong npage0; /* total physical pages of memory, bank 0 */ ulong npage1; /* total physical pages of memory, bank 1 */ ulong base0; /* base of bank 0 */ ulong base1; /* base of bank 1 */ ulong npage; /* total physical pages of memory */ ulong norig; /* origins */ ulong npte; /* contiguous page table entries */ ulong nmod; /* single (modifying) page table entries */ int nalarm; /* alarms */ int nchan; /* channels */ int nenv; /* distinct environment values */ int nenvchar; /* environment text storage */ int npgenv; /* environment files per process group */ int nmtab; /* mounted-upon channels per process group */ int nmount; /* mounts */ int nmntdev; /* mounted devices (devmnt.c) */ int nmntbuf; /* buffers for devmnt.c messages */ int nmnthdr; /* headers for devmnt.c messages */ int nstream; /* streams */ int nqueue; /* stream queues */ int nblock; /* stream blocks */ int nsrv; /* public servers (devsrv.c) */ int nbitmap; /* bitmap structs (devbit.c) */ int nbitbyte; /* bytes of bitmap data (devbit.c) */ int nfont; /* font structs (devbit.c) */ int nurp; /* max urp conversations */ int nasync; /* number of async protocol modules */ int npipe; /* number of pipes */ int nservice; /* number of services */ int nfsyschan; /* number of filsys open channels */ ulong maxialloc; /* maximum bytes used by ialloc */ int copymode; /* 0 is copy on write, 1 is copy on reference */ int portispaged; /* ??? */ int nnoifc; int nnoconv; ulong ipif; /* Ip protocol interfaces */ ulong ip; /* Ip conversations per interface */ ulong arp; /* Arp table size */ ulong frag; /* Ip fragment assemble queue size */ int cntrlp; /* panic on ^P */ }; /* * MMU stuff in proc */ struct PMMU { MMU *mmu; }; #include "../port/portdat.h" /* * machine dependent definitions not used by ../port/dat.h */ struct Mach { int machno; /* physical id of processor */ ulong splpc; /* pc of last caller to splhi */ int mmask; /* 1<machno */ ulong ticks; /* of the clock since boot time */ Proc *proc; /* current process on this processor */ Label sched; /* scheduler wakeup */ Lock alarmlock; /* access to alarm list */ void *alarm; /* alarms bound to this clock */ int fpstate; /* state of fp registers on machine */ int tlbfault; int tlbpurge; int pfault; int cs; int syscall; int spinlock; int intr; int stack[1]; }; /* * Fake kmap */ typedef void KMap; #define VA(k) ((ulong)(k)) #define kmap(p) (KMap*)(p->pa|KZERO) #define kunmap(k) #define NERR 15 #define NNOTE 5 #define NFD 100 struct User { Proc *p; int nerrlab; Label errlab[NERR]; char error[ERRLEN]; FPsave fpsave; /* address of this is known by vdb */ char elem[NAMELEN]; /* last name element from namec */ Chan *slash; Chan *dot; Chan *fd[NFD]; int maxfd; /* highest fd in use */ /* * Rest of structure controlled by devproc.c and friends. * lock(&p->debug) to modify. */ Note note[NNOTE]; short nnote; short notified; /* sysnoted is due */ int (*notify)(void*, char*); void *ureg; ushort svvo; ushort svsr; }; struct { Lock; short machs; short exiting; }active; extern Mach *m; extern User *u; . ## diffname pc/dat.h 1991/0614 ## diff -e /n/bootesdump/1991/0612/sys/src/9/safari/dat.h /n/bootesdump/1991/0614/sys/src/9/safari/dat.h 30,49d ## diffname pc/dat.h 1991/0702 ## diff -e /n/bootesdump/1991/0614/sys/src/9/safari/dat.h /n/bootesdump/1991/0702/sys/src/9/safari/dat.h 68,76c ulong copymode; /* 0 is copy on write, 1 is copy on reference */ ulong portispaged; /* ??? */ ulong nnoifc; ulong nnoconv; ulong cntrlp; /* panic on ^P */ . 45,66c ulong nalarm; /* alarms */ ulong nchan; /* channels */ ulong nenv; /* distinct environment values */ ulong nenvchar; /* environment text storage */ ulong npgenv; /* environment files per process group */ ulong nmtab; /* mounted-upon channels per process group */ ulong nmount; /* mounts */ ulong nmntdev; /* mounted devices (devmnt.c) */ ulong nmntbuf; /* buffers for devmnt.c messages */ ulong nmnthdr; /* headers for devmnt.c messages */ ulong nstream; /* streams */ ulong nqueue; /* stream queues */ ulong nblock; /* stream blocks */ ulong nsrv; /* public servers (devsrv.c) */ ulong nbitmap; /* bitmap structs (devbit.c) */ ulong nbitbyte; /* bytes of bitmap data (devbit.c) */ ulong nfont; /* font structs (devbit.c) */ ulong nurp; /* max urp conversations */ ulong nasync; /* number of async protocol modules */ ulong npipe; /* number of pipes */ ulong nservice; /* number of services */ ulong nfsyschan; /* number of filsys open channels */ . 34,36c ulong nmach; /* processors */ ulong nproc; /* processes */ ulong npgrp; /* process groups */ . 31a struct FPsave { int type; }; . 1a typedef struct FPsave FPsave; . ## diffname pc/dat.h 1991/0703 ## diff -e /n/bootesdump/1991/0702/sys/src/9/safari/dat.h /n/bootesdump/1991/0703/sys/src/9/safari/dat.h 152a /* * segment descriptor/gate */ struct Segdesc { ulong d0; ulong d1; }; . 23c ulong key; . 7a typedef struct Segdesc Segdesc; . ## diffname pc/dat.h 1991/0706 ## diff -e /n/bootesdump/1991/0703/sys/src/9/safari/dat.h /n/bootesdump/1991/0706/sys/src/9/safari/dat.h 140,141d 129d ## diffname pc/dat.h 1991/0711 ## diff -e /n/bootesdump/1991/0706/sys/src/9/safari/dat.h /n/bootesdump/1991/0711/sys/src/9/safari/dat.h 76,78c ulong ipif; /* Ip protocol interfaces */ ulong ip; /* Ip conversations per interface */ ulong arp; /* Arp table size */ ulong frag; /* Ip fragment assemble queue size */ . 74a ulong base0; /* base of bank 0 */ ulong base1; /* base of bank 1 */ . 72,73d 68a ulong nnoifc; /* number of nonet interfaces */ ulong nnoconv; /* number of nonet conversations/ifc */ . 49,51c ulong nseg; /* number of segments */ ulong nimage; /* number of page cache image headers */ ulong npagetab; /* number of pte tables */ ulong nswap; /* number of swap pages */ . 44,47c ulong npage0; /* total physical pages in bank0 */ ulong npage1; /* total physical pages in bank1 */ . 38a struct FPsave /* ??? needs to be fixed ??? */ { long fpreg[32]; long fpstatus; }; . 36c FPinit, FPactive, FPinactive, . 34c /* * FPsave.fpstatus */ enum . ## diffname pc/dat.h 1991/0716 ## diff -e /n/bootesdump/1991/0711/sys/src/9/safari/dat.h /n/bootesdump/1991/0716/sys/src/9/safari/dat.h 47,48c long status; char reg[66]; . 36c * FPsave.status . ## diffname pc/dat.h 1991/0717 ## diff -e /n/bootesdump/1991/0716/sys/src/9/safari/dat.h /n/bootesdump/1991/0717/sys/src/9/safari/dat.h 159a Note lastnote; . 101c ulong mmuent[MAXMMU]; /* a process' mmu entries */ Page *mmupg[MAXMMU]; /* mmu pages */ . 98a #define MAXMMU 4 . 6a typedef struct Page Page; . ## diffname pc/dat.h 1991/0718 ## diff -e /n/bootesdump/1991/0717/sys/src/9/safari/dat.h /n/bootesdump/1991/0718/sys/src/9/safari/dat.h 141c #define kmap(p) (KMap*)((p)->pa|KZERO) . 103,104c int mmuvalid; Page *mmu[MAXMMU+MAXSMMU]; /* bottom level page tables */ ulong mmue[MAXMMU+MAXSMMU]; /* top level pointers to mmup pages */ . 100a #define MAXSMMU 1 . ## diffname pc/dat.h 1991/0720 ## diff -e /n/bootesdump/1991/0718/sys/src/9/safari/dat.h /n/bootesdump/1991/0720/sys/src/9/safari/dat.h 168,169c ulong svcs; /* cs before a notify */ ulong svss; /* ss before a notify */ ulong svflags; /* flags before a notify */ . ## diffname pc/dat.h 1991/0801 ## diff -e /n/bootesdump/1991/0720/sys/src/9/safari/dat.h /n/bootesdump/1991/0801/sys/src/9/safari/dat.h 191a extern int flipD[]; /* for flipping bitblt destination polarity */ . ## diffname pc/dat.h 1991/0809 ## diff -e /n/bootesdump/1991/0801/sys/src/9/safari/dat.h /n/bootesdump/1991/0809/sys/src/9/safari/dat.h 94a ulong nfloppy; /* number of floppy drives */ ulong nhard; /* number of hard drives */ . ## diffname pc/dat.h 1991/0905 ## diff -e /n/bootesdump/1991/0809/sys/src/9/safari/dat.h /n/bootesdump/1991/0905/sys/src/9/safari/dat.h 49c uchar reg[94]; . 46c struct FPsave . ## diffname pc/dat.h 1991/0906 ## diff -e /n/bootesdump/1991/0905/sys/src/9/safari/dat.h /n/bootesdump/1991/0906/sys/src/9/safari/dat.h 127d 48,49c uchar regs[108]; . ## diffname pc/dat.h 1991/0916 ## diff -e /n/bootesdump/1991/0906/sys/src/9/safari/dat.h /n/bootesdump/1991/0916/sys/src/9/safari/dat.h 107c ulong mmue[MAXMMU+MAXSMMU]; /* top level pointers to mmu pages */ . ## diffname pc/dat.h 1991/1004 ## diff -e /n/bootesdump/1991/0916/sys/src/9/safari/dat.h /n/bootesdump/1991/1004/sys/src/9/safari/dat.h 105,107c Page *mmutop; /* 1st level table */ Page *mmufree; /* unused page table pages */ Page *mmuused; /* used page table pages */ . ## diffname pc/dat.h 1991/1107 ## diff -e /n/bootesdump/1991/1004/sys/src/9/safari/dat.h /n/bootesdump/1991/1107/sys/src/9/safari/dat.h 95a int dkif; /* number of datakit interfaces */ . ## diffname pc/dat.h 1991/1112 ## diff -e /n/bootesdump/1991/1107/sys/src/9/safari/dat.h /n/bootesdump/1991/1112/sys/src/9/safari/dat.h 168a void *dbgreg; /* User registers for debugging in proc */ . 155d 151a FPsave fpsave; /* address of this is known by vdb */ . 133c int load; . ## diffname pc/dat.h 1991/1210 ## diff -e /n/bootesdump/1991/1112/sys/src/9/safari/dat.h /n/bootesdump/1991/1210/sys/src/9/safari/dat.h 195a enum { At= 0, Attnsx= 1, }; extern int machtype; . ## diffname pc/dat.h 1991/1211 ## diff -e /n/bootesdump/1991/1210/sys/src/9/safari/dat.h /n/bootesdump/1991/1211/sys/src/9/safari/dat.h 184d ## diffname pc/dat.h 1992/0208 ## diff -e /n/bootesdump/1991/1211/sys/src/9/safari/dat.h /n/bootesdump/1992/0208/sys/src/9/safari/dat.h 79c ulong nsubfont; /* Gsubfont structs (devbit.c) */ . ## diffname pc/dat.h 1992/0209 ## diff -e /n/bootesdump/1992/0208/sys/src/9/safari/dat.h /n/bootesdump/1992/0209/sys/src/9/safari/dat.h 78a int nfont; /* GFont structs (devbit.c) */ . ## diffname pc/dat.h 1992/0228 ## diff -e /n/bootesdump/1992/0209/sys/src/9/safari/dat.h /n/bootesdump/1992/0228/sys/src/9/safari/dat.h 81,82d ## diffname pc/dat.h 1992/0622 ## diff -e /n/bootesdump/1992/0228/sys/src/9/safari/dat.h /n/bootesdump/1992/0622/sys/src/9/safari/dat.h 77,80d ## diffname pc/dat.h 1992/0625 ## diff -e /n/bootesdump/1992/0622/sys/src/9/safari/dat.h /n/bootesdump/1992/0625/sys/src/9/safari/dat.h 153a Sargs s; . 91d 63,80d 61d 59c ulong upages; /* user page pool */ . 55,57c ulong npage0; /* total physical pages of memory */ ulong npage1; /* total physical pages of memory */ ulong topofmem; /* highest physical address + 1 */ . ## diffname pc/dat.h 1992/06271 ## diff -e /n/bootesdump/1992/0625/sys/src/9/safari/dat.h /n/bootesdump/1992/06271/sys/src/9/safari/dat.h 134d 127a int scallnr; /* sys call number - known by db */ Sargs s; /* address of this is known by db */ . ## diffname pc/dat.h 1992/0725 ## diff -e /n/bootesdump/1992/06271/sys/src/9/safari/dat.h /n/bootesdump/1992/0725/sys/src/9/safari/dat.h 69d ## diffname pc/dat.h 1992/0806 ## diff -e /n/bootesdump/1992/0725/sys/src/9/safari/dat.h /n/bootesdump/1992/0806/sys/src/9/safari/dat.h 48c ushort control; ushort r1; ushort status; ushort r2; ushort tag; ushort r3; ulong pc; ushort selector; ushort r4; ulong operand; ushort oselector; ushort r5; uchar regs[80]; /* floating point registers */ . ## diffname pc/dat.h 1992/0807 ## diff -e /n/bootesdump/1992/0806/sys/src/9/safari/dat.h /n/bootesdump/1992/0807/sys/src/9/safari/dat.h 66a ulong monitor; /* has monitor? */ . ## diffname pc/dat.h 1992/0902 ## diff -e /n/bootesdump/1992/0808/sys/src/9/safari/dat.h /n/bootesdump/1992/0902/sys/src/9/pc/dat.h 190c extern int mousetype; extern int pmutype; . 187,188c PMUnsx20= 0, PMUother= 1, Mouseserial= 0, MousePS2= 1, Mouseother= 2, . ## diffname pc/dat.h 1992/0903 ## diff -e /n/bootesdump/1992/0902/sys/src/9/pc/dat.h /n/bootesdump/1992/0903/sys/src/9/pc/dat.h 195a extern int resettype; . 190,192c /* what kind of mouse */ Mouseother= 0, Mouseserial= 1, MousePS2= 2, /* how to reset the processor */ Resetother= 0, Reset8042= 1, Resetheadland= 2, . 187,188c /* what kind of power management */ PMUother= 0, PMUnsx20= 1, . 184a /* * bootline passed by boot program */ #define BOOTLINE ((char *)0x80000100) /* * configuration info */ . ## diffname pc/dat.h 1992/0904 ## diff -e /n/bootesdump/1992/0903/sys/src/9/pc/dat.h /n/bootesdump/1992/0904/sys/src/9/pc/dat.h 189,211d ## diffname pc/dat.h 1992/0918 ## diff -e /n/bootesdump/1992/0904/sys/src/9/pc/dat.h /n/bootesdump/1992/0918/sys/src/9/pc/dat.h 188a extern char machtype[]; . ## diffname pc/dat.h 1992/0923 ## diff -e /n/bootesdump/1992/0918/sys/src/9/pc/dat.h /n/bootesdump/1992/0923/sys/src/9/pc/dat.h 190c extern PCArch *arch; /* PC architecture */ . 185,188c #define BOOTLINE ((char *)0x80000100) /* bootline passed by boot program */ . 179a /* * routines for things outside the PC model, like power management */ struct PCArch { char *id; void (*reset)(void); /* this should be in the model */ int (*cpuspeed)(int); /* 0 = low, 1 = high */ void (*buzz)(int, int); /* make a noise */ void (*lights)(int); /* turn lights or icons on/off */ int (*serialpower)(int); /* 1 == on, 0 == off */ int (*modempower)(int); /* 1 == on, 0 == off */ int (*extvga)(int); /* 1 == external, 0 == internal */ }; . 6a typedef struct PCArch PCArch; . ## diffname pc/dat.h 1992/1105 ## diff -e /n/bootesdump/1992/0923/sys/src/9/pc/dat.h /n/bootesdump/1992/1105/sys/src/9/pc/dat.h 84a ulong ldepth; /* screen depth */ ulong maxx; /* screen width */ ulong maxy; /* screen length */ . 82d 79,80d ## diffname pc/dat.h 1993/0206 ## diff -e /n/bootesdump/1992/1105/sys/src/9/pc/dat.h /n/bootesdump/1993/0206/sys/src/9/pc/dat.h 79d ## diffname pc/dat.h 1993/0915 ## diff -e /n/bootesdump/1993/0206/sys/src/9/pc/dat.h /n/fornaxdump/1993/0915/sys/src/brazil/pc/dat.h 202c extern Mach *m; extern Proc *up; . 200c extern int flipD[]; /* for flipping bitblt destination polarity */ extern PCArch *arch; /* PC architecture */ . 198c #define MAXPCMCIA 8 /* maximum number of PCMCIA cards */ #define BOOTLINE ((char *)0x80000100) /* bootline passed by boot program */ . 195,196c struct ISAConf { char type[NAMELEN]; ulong port; ulong irq; ulong mem; ulong size; uchar ea[6]; }; . 134,163d 90a #define NCOLOR 1 . 12d 2a typedef struct ISAConf ISAConf; . ## diffname pc/dat.h 1993/1013 ## diff -e /n/fornaxdump/1993/0915/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1013/sys/src/brazil/pc/dat.h 179a extern int cpuflag; /* true if this is a CPU */ . 98a /* * things saved in the Proc structure during a notify */ struct Notsave { ulong svflags; ulong svcs; ulong svss; }; . 7a typedef struct Notsave Notsave; . ## diffname pc/dat.h 1993/1201 ## diff -e /n/fornaxdump/1993/1013/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1201/sys/src/brazil/pc/dat.h 127a int otlbfault; . ## diffname pc/dat.h 1993/1204 ## diff -e /n/fornaxdump/1993/1201/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1204/sys/src/brazil/pc/dat.h 125a Schedq runq; . ## diffname pc/dat.h 1993/1214 ## diff -e /n/fornaxdump/1993/1204/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1214/sys/src/brazil/pc/dat.h 129d 126c Schedq hiq; Schedq loq; . ## diffname pc/dat.h 1994/0311 ## diff -e /n/fornaxdump/1993/1214/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0311/sys/src/brazil/pc/dat.h 127a void (**cbin)(void); void (**cbout)(void); void (**cbend)(void); void (*calls[NCALLBACK])(void); . 115a #define NCALLBACK 32 . ## diffname pc/dat.h 1994/0322 ## diff -e /n/fornaxdump/1994/0311/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0322/sys/src/brazil/pc/dat.h 84a ulong ialloc; /* max interrupt time allocation in bytes */ . 28c ulong sr; . ## diffname pc/dat.h 1994/0331 ## diff -e /n/fornaxdump/1994/0322/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0331/sys/src/brazil/pc/dat.h 132,135c Callbk* cbin; Callbk* cbout; Callbk* cbend; Callbk calls[NCALLBACK]; . 117,118d ## diffname pc/dat.h 1994/0503 ## diff -e /n/fornaxdump/1994/0331/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0503/sys/src/brazil/pc/dat.h 85a ulong pipeqsize; /* size in bytes of pipe queues */ . ## diffname pc/dat.h 1994/0508 ## diff -e /n/fornaxdump/1994/0503/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0508/sys/src/brazil/pc/dat.h 131,135d ## diffname pc/dat.h 1994/0520 ## diff -e /n/fornaxdump/1994/0508/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0520/sys/src/brazil/pc/dat.h 193d ## diffname pc/dat.h 1994/0607 ## diff -e /n/fornaxdump/1994/0520/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0607/sys/src/brazil/pc/dat.h 197a extern char filaddr[]; . ## diffname pc/dat.h 1994/0612 ## diff -e /n/fornaxdump/1994/0607/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0612/sys/src/brazil/pc/dat.h 23c #define EXEC_MAGIC(magic) (magic==I_MAGIC) . ## diffname pc/dat.h 1994/0621 ## diff -e /n/fornaxdump/1994/0612/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0621/sys/src/brazil/pc/dat.h 23c #define AOUT_MAGIC (I_MAGIC) . ## diffname pc/dat.h 1994/0728 ## diff -e /n/fornaxdump/1994/0621/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0728/sys/src/brazil/pc/dat.h 128,129c int nrdy; . ## diffname pc/dat.h 1994/0813 ## diff -e /n/fornaxdump/1994/0728/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0813/sys/src/brazil/pc/dat.h 197a extern ulong crasharea; . ## diffname pc/dat.h 1994/0814 ## diff -e /n/fornaxdump/1994/0813/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0814/sys/src/brazil/pc/dat.h 198d ## diffname pc/dat.h 1994/0823 ## diff -e /n/fornaxdump/1994/0814/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0823/sys/src/brazil/pc/dat.h 185a ulong freq; . ## diffname pc/dat.h 1994/0908 ## diff -e /n/fornaxdump/1994/0823/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0908/sys/src/brazil/pc/dat.h 189a enum { MaxScsi = 4, NTarget = 8, }; struct Target { int ctlrno; int target; uchar* inq; uchar* scratch; int ok; }; typedef int (*Scsiio)(Target*, int, uchar*, int, void*, int*); . ## diffname pc/dat.h 1995/0223 ## diff -e /n/fornaxdump/1994/0908/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0223/sys/src/brazil/pc/dat.h 194d 189a /* * SCSI bus */ . 179a /* * a parsed plan9.ini line */ . ## diffname pc/dat.h 1995/0225 ## diff -e /n/fornaxdump/1995/0223/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0225/sys/src/brazil/pc/dat.h 191a /* * maps between ISA memory space and PCMCIA card memory space */ struct PCMmap { ulong ca; /* card address */ ulong cea; /* card end address */ ulong isa; /* ISA address */ int len; /* length of the ISA area */ int attr; /* attribute memory */ int ref; }; . 9a typedef struct PCMmap PCMmap; . ## diffname pc/dat.h 1995/0517 ## diff -e /n/fornaxdump/1995/0225/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0517/sys/src/brazil/pc/dat.h 9a typedef struct PCIcfg PCIcfg; . ## diffname pc/dat.h 1995/0803 ## diff -e /n/fornaxdump/1995/0517/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0803/sys/src/brazil/pc/dat.h 188a int dma; . ## diffname pc/dat.h 1995/0920 ## diff -e /n/fornaxdump/1995/0803/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0920/sys/src/brazil/pc/dat.h 193a int nopt; char opt[NISAOPT][ISAOPTLEN]; . 184a #define ISAOPTLEN 16 #define NISAOPT 8 . ## diffname pc/dat.h 1995/1009 ## diff -e /n/fornaxdump/1995/0920/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/1009/sys/src/brazil/pc/dat.h 30a ulong pc; . ## diffname pc/dat.h 1995/1030 ## diff -e /n/fornaxdump/1995/1009/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/1030/sys/src/brazil/pc/dat.h 31a ulong pid; . ## diffname pc/dat.h 1996/0210 ## diff -e /n/fornaxdump/1995/1030/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0210/sys/src/brazil/pc/dat.h 230a Rendez rendez; . ## diffname pc/dat.h 1996/0511 ## diff -e /n/fornaxdump/1996/0210/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0511/sys/src/brazil/pc/dat.h 32a int pri; . ## diffname pc/dat.h 1996/0523 ## diff -e /n/fornaxdump/1996/0511/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0523/sys/src/brazil/pc/dat.h 33d ## diffname pc/dat.h 1997/0327 ## diff -e /n/fornaxdump/1996/0523/sys/src/brazil/pc/dat.h /n/emeliedump/1997/0327/sys/src/brazil/pc/dat.h 243,245c typedef struct Irqctl { int (*isr)(int); /* get isr bit for this irq */ int (*eoi)(int); /* eoi */ int isintr; Irq* irq; /* handlers on this IRQ */ } Irqctl; . 240,241c Irq* next; /* link to next handler */ } Irq; . 237,238c typedef struct Irq { void (*f)(Ureg*, void*); /* handler to call */ void* a; /* argument to call it with */ . 216a extern Mach *m; #define up (((Mach*)MACHADDR)->externup) . 207,215c Mach* machp[MAXMACH]; #define MACHP(n) (machp[n]) . 205c * Each processor sees its own Mach structure at address MACHADDR. * However, the Mach structures must also be available via the per-processor * MMU information array machp, mainly for disambiguation and access to * the clock which is only maintained by the bootstrap processor (0). . 203a extern PCArch *arch; /* PC architecture */ . 198d 194c ulong dma; . 181c void (*intrinit)(void); int (*intrenable)(int, int, Irqctl*); void (*clockenable)(void); . 176,178d 174c char* id; int (*ident)(void); /* this should be in the model */ . 165,166c int machs; /* bitmap of active CPUs */ int exiting; /* shutdown */ int ispanic; /* shutdown in response to a panic */ . 153,161d 141a int loopconst; int cpumhz; int cpuidax; int cpuiddx; char cpuidid[16]; char* cpuidtype; . 131,132c void* alarm; /* alarms bound to this clock */ . 128d 126c void* pdb; /* page directory base for this processor (va) */ Tss* tss; /* tss for this processor */ Segdesc gdt[6]; /* gdt for this processor */ Proc* proc; /* current process on this processor */ Proc* externup; /* extern register Proc *up */ Page* pdbpool; int pdbcnt; . 121a struct Segdesc { ulong d0; ulong d1; }; . 118,120c typedef struct { ulong link; /* link (old TSS selector) */ ulong esp0; /* privilege level 0 stack pointer */ ulong ss0; /* privilege level 0 stack selector */ ulong esp1; /* privilege level 1 stack pointer */ ulong ss1; /* privilege level 1 stack selector */ ulong esp2; /* privilege level 2 stack pointer */ ulong ss2; /* privilege level 2 stack selector */ ulong cr3; /* page directory base register */ ulong eip; /* instruction pointer */ ulong eflags; /* flags register */ ulong eax; /* general registers */ ulong ecx; ulong edx; ulong ebx; ulong esp; ulong ebp; ulong esi; ulong edi; ulong es; /* segment selectors */ ulong cs; ulong ss; ulong ds; ulong fs; ulong gs; ulong ldt; /* selector for task's LDT */ ulong iomap; /* I/O map base address + T-bit */ } Tss; . 101,103c Page* mmupdb; /* page directory base */ Page* mmufree; /* unused page table pages */ Page* mmuused; /* used page table pages */ . 96,97d 84,88d 76d 17,21d 10c typedef struct Pcidev Pcidev; . 2a typedef struct Irq Irq; typedef struct Irqctl Irqctl; . ## diffname pc/dat.h 1997/1101 ## diff -e /n/emeliedump/1997/0327/sys/src/brazil/pc/dat.h /n/emeliedump/1997/1101/sys/src/brazil/pc/dat.h 147c ulong* pdb; /* page directory base for this processor (va) */ . ## diffname pc/dat.h 1998/0115 ## diff -e /n/emeliedump/1997/1101/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0115/sys/src/brazil/pc/dat.h 169a ulong spuriousintr; ulong lastintr; . ## diffname pc/dat.h 1998/0401 ## diff -e /n/emeliedump/1998/0115/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0401/sys/src/brazil/pc/dat.h 180a vlong mtrrcap; vlong mtrrdef; vlong mtrrfix[11]; vlong mtrrvar[32]; /* 256 max. */ . ## diffname pc/dat.h 1998/0604 ## diff -e /n/emeliedump/1998/0401/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0604/sys/src/brazil/pc/dat.h 29c Proc *p; ushort pri; ushort isilock; . 17a typedef struct Proc Proc; . ## diffname pc/dat.h 1998/0605 ## diff -e /n/emeliedump/1998/0604/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0605/sys/src/brazil/pc/dat.h 18d 15a typedef struct Proc Proc; . ## diffname pc/dat.h 1998/0606 ## diff -e /n/emeliedump/1998/0605/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0606/sys/src/brazil/pc/dat.h 163a ulong fairness; /* for runproc */ . 31d ## diffname pc/dat.h 1998/0710 ## diff -e /n/emeliedump/1998/0606/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0710/sys/src/brazil/pc/dat.h 223a uvlong (*fastclock)(uvlong*); . ## diffname pc/dat.h 1998/0716 ## diff -e /n/emeliedump/1998/0710/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0716/sys/src/brazil/pc/dat.h 189a vlong clockstart; /* starting value for cycle clock */ . ## diffname pc/dat.h 1998/0717 ## diff -e /n/emeliedump/1998/0716/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0717/sys/src/brazil/pc/dat.h 190c vlong fastclock; /* last sampled value */ . ## diffname pc/dat.h 1998/0725 ## diff -e /n/emeliedump/1998/0717/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0725/sys/src/brazil/pc/dat.h 189,190d 172a vlong fastclock; /* last sampled value */ int flushmmu; /* make current proc flush it's mmu state */ . ## diffname pc/dat.h 1998/0825 ## diff -e /n/emeliedump/1998/0725/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0825/sys/src/brazil/pc/dat.h 177c int lastintr; . ## diffname pc/dat.h 1998/0910 ## diff -e /n/emeliedump/1998/0825/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0910/sys/src/brazil/pc/dat.h 262,295d 223c int (*intrenable)(Vctl*); . 18a typedef struct Vctl Vctl; . 3,4d ## diffname pc/dat.h 1998/0916 ## diff -e /n/emeliedump/1998/0910/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0916/sys/src/brazil/pc/dat.h 77a int nswppo; /* max # of pageouts per segment pass */ . ## diffname pc/dat.h 1999/0131 ## diff -e /n/emeliedump/1998/0916/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0131/sys/src/brazil/pc/dat.h 181a int cpuhz; . ## diffname pc/dat.h 1999/0701 ## diff -e /n/emeliedump/1999/0131/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0701/sys/src/brazil/pc/dat.h 173a vlong intrts; /* time stamp of last interrupt */ . ## diffname pc/dat.h 1999/0810 ## diff -e /n/emeliedump/1999/0701/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0810/sys/src/brazil/pc/dat.h 30a ulong glare; . ## diffname pc/dat.h 1999/0811 ## diff -e /n/emeliedump/1999/0810/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0811/sys/src/brazil/pc/dat.h 31d ## diffname pc/dat.h 2000/0623 ## diff -e /n/emeliedump/1999/0811/sys/src/brazil/pc/dat.h /n/emeliedump/2000/0623/sys/src/9/pc/dat.h 196a typedef struct Cycintr Cycintr; /* * fasttick timer interrupts */ struct Cycintr { vlong when; /* fastticks when f should be called */ void (*f)(Ureg*, Cycintr*); void *a; Cycintr *next; }; . ## diffname pc/dat.h 2000/1018 ## diff -e /n/emeliedump/2000/0623/sys/src/9/pc/dat.h /n/emeliedump/2000/1018/sys/src/9/pc/dat.h 151c Segdesc gdt[NGDT]; /* gdt for this processor */ . ## diffname pc/dat.h 2000/1106 ## diff -e /n/emeliedump/2000/1018/sys/src/9/pc/dat.h /n/emeliedump/2000/1106/sys/src/9/pc/dat.h 162a int inclockintr; . ## diffname pc/dat.h 2000/1118 ## diff -e /n/emeliedump/2000/1106/sys/src/9/pc/dat.h /n/emeliedump/2000/1118/sys/src/9/pc/dat.h 11a typedef struct PCMslot PCMslot; . ## diffname pc/dat.h 2001/0121 ## diff -e /n/emeliedump/2000/1118/sys/src/9/pc/dat.h /n/emeliedump/2001/0121/sys/src/9/pc/dat.h 249c #define ISAOPTLEN 28 . ## diffname pc/dat.h 2001/0527 ## diff -e /n/emeliedump/2001/0121/sys/src/9/pc/dat.h /n/emeliedump/2001/0527/sys/src/9/pc/dat.h 262c char *opt[NISAOPT]; . 253c char *type; . 249d 84a int nuart; /* number of uart devices */ . ## diffname pc/dat.h 2001/0731 ## diff -e /n/emeliedump/2001/0527/sys/src/9/pc/dat.h /n/emeliedump/2001/0731/sys/src/9/pc/dat.h 19a #define MAXSYSARG 5 /* for mount(fd, mpt, flag, arg, srv) */ . ## diffname pc/dat.h 2001/0819 ## diff -e /n/emeliedump/2001/0731/sys/src/9/pc/dat.h /n/emeliedump/2001/0819/sys/src/9/pc/dat.h 20c #define MAXSYSARG 5 /* for mount(fd, afd, mpt, flag, arg) */ . ## diffname pc/dat.h 2001/0905 ## diff -e /n/emeliedump/2001/0819/sys/src/9/pc/dat.h /n/emeliedump/2001/0905/sys/src/9/pc/dat.h 280a /* * hardware info about a device */ typedef struct { ulong port; int size; } port_t; struct DevConf { ulong interrupt; /* interrupt number */ char *type; /* card type, malloced */ int nports; /* Number of ports */ port_t *ports; /* The ports themselves */ }; . 243a int (*intrvecno)(int); int (*intrdisable)(int); . ## diffname pc/dat.h 2002/0109 ## diff -e /n/emeliedump/2001/0905/sys/src/9/pc/dat.h /n/emeliedump/2002/0109/sys/src/9/pc/dat.h 87c int nuart; /* number of uart devices */ . ## diffname pc/dat.h 2002/0221 ## diff -e /n/emeliedump/2002/0109/sys/src/9/pc/dat.h /n/emeliedump/2002/0221/sys/src/9/pc/dat.h 188c vlong cpuhz; . ## diffname pc/dat.h 2002/0315 ## diff -e /n/emeliedump/2002/0221/sys/src/9/pc/dat.h /n/emeliedump/2002/0315/sys/src/9/pc/dat.h 33a Proc * edfwaiting; . 32c Proc * p; . ## diffname pc/dat.h 2002/0330 ## diff -e /n/emeliedump/2002/0315/sys/src/9/pc/dat.h /n/emeliedump/2002/0330/sys/src/9/pc/dat.h 34d ## diffname pc/dat.h 2002/0404 ## diff -e /n/emeliedump/2002/0330/sys/src/9/pc/dat.h /n/emeliedump/2002/0404/sys/src/9/pc/dat.h 201,202d 1a typedef struct Cycintr Cycintr; . ## diffname pc/dat.h 2002/0405 ## diff -e /n/emeliedump/2002/0404/sys/src/9/pc/dat.h /n/emeliedump/2002/0405/sys/src/9/pc/dat.h 211c Timer *next; . 209c void (*f)(Ureg*, Timer*); . 206c struct Timer . 193a int havetsc; vlong lasttsc; /* last sampled value */ . 179d 2c typedef struct Timer Timer; . ## diffname pc/dat.h 2002/0410 ## diff -e /n/emeliedump/2002/0405/sys/src/9/pc/dat.h /n/emeliedump/2002/0410/sys/src/9/pc/dat.h 248a void (*timerset)(uvlong); . 205,215d 194d 186a Lock apictimerlock; . 2d ## diffname pc/dat.h 2002/0412 ## diff -e /n/emeliedump/2002/0410/sys/src/9/pc/dat.h /n/emeliedump/2002/0412/sys/src/9/pc/dat.h 193a int havepge; . 155c Segdesc *gdt; /* gdt for this processor */ . 150c int machno; /* physical id of processor (KNOWN TO ASSEMBLY) */ . ## diffname pc/dat.h 2002/0415 ## diff -e /n/emeliedump/2002/0412/sys/src/9/pc/dat.h /n/emeliedump/2002/0415/sys/src/9/pc/dat.h 194a uvlong tscticks; uvlong tscoff; . 188c uvlong cpuhz; . ## diffname pc/dat.h 2002/0420 ## diff -e /n/emeliedump/2002/0415/sys/src/9/pc/dat.h /n/emeliedump/2002/0420/sys/src/9/pc/dat.h 179a int ilockdepth; . ## diffname pc/dat.h 2002/0703 ## diff -e /n/emeliedump/2002/0420/sys/src/9/pc/dat.h /n/emeliedump/2002/0703/sys/src/9/pc/dat.h 287,290c ulong intnum; /* interrupt number */ char *type; /* card type, malloced */ int nports; /* Number of ports */ port_t *ports; /* The ports themselves */ . 282c int size; . 250c char *type; . 180c int ilockdepth; . 32c Proc *p; . ## diffname pc/dat.h 2002/0820 ## diff -e /n/emeliedump/2002/0703/sys/src/9/pc/dat.h /n/emeliedump/2002/0820/sys/src/9/pc/dat.h 178c uvlong intrts; /* time stamp of last interrupt */ . ## diffname pc/dat.h 2002/0821 ## diff -e /n/emeliedump/2002/0820/sys/src/9/pc/dat.h /n/emeliedump/2002/0821/sys/src/9/pc/dat.h 180a ulong inidle; /* fastticks in idlehands() since last slowtick */ ulong avginidle; /* avg fastticks in idlehands() per slowtick */ . ## diffname pc/dat.h 2002/0822 ## diff -e /n/emeliedump/2002/0821/sys/src/9/pc/dat.h /n/emeliedump/2002/0822/sys/src/9/pc/dat.h 181,182c Perf perf; /* performance counters */ . 178d ## diffname pc/dat.h 2002/0824 ## diff -e /n/emeliedump/2002/0822/sys/src/9/pc/dat.h /n/emeliedump/2002/0824/sys/src/9/pc/dat.h 48,50c /* this is a state */ FPinit= 0, FPactive= 1, FPinactive= 2, /* the following is a bit that can be or'd into the state */ FPillegal= 0x100, . ## diffname pc/dat.h 2003/0301 ## diff -e /n/emeliedump/2002/0824/sys/src/9/pc/dat.h /n/emeliedump/2003/0301/sys/src/9/pc/dat.h 256c int irq; .