## diffname mpc/dat.h 1999/0121 ## diff -e /dev/null /n/emeliedump/1999/0121/sys/src/brazil/mpc/dat.h 0a typedef struct Conf Conf; typedef struct FPsave FPsave; typedef struct IMM IMM; typedef struct Irqctl Irqctl; typedef struct ISAConf ISAConf; typedef struct Label Label; typedef struct Lock Lock; typedef struct Mach Mach; typedef struct Notsave Notsave; typedef struct PMMU PMMU; typedef struct Map Map; typedef struct PCArch PCArch; typedef struct Proc Proc; typedef struct RMap RMap; typedef struct Ureg Ureg; #define MACHP(n) (n==0? &mach0 : *(Mach**)0) /* * parameters for sysproc.c */ #define AOUT_MAGIC (Q_MAGIC) struct Lock { ulong key; ulong pc; ulong sr; Proc *p; ushort isilock; }; struct Label { ulong sp; ulong pc; }; /* * things saved in the Proc structure during a notify */ struct Notsave { ulong UNUSED; }; /* * MMU stuff in proc */ #define NCOLOR 1 struct PMMU { ulong UNUSED; }; /* * FPsave.status */ enum { FPinit, FPactive, FPinactive, }; /* * This structure must agree with fpsave and fprestore asm routines */ struct FPsave { double fpreg[32]; union { double fpscrd; struct { ulong pad; ulong fpscr; }; }; int fpistate; /* emulated fp */ ulong emreg[32][3]; /* emulated fp */ }; struct Conf { ulong nmach; /* processors */ ulong nproc; /* processes */ ulong npage0; /* total physical pages of memory */ ulong npage1; /* total physical pages of memory */ ulong npage; /* total physical pages of memory */ ulong upages; /* user page pool */ ulong nimage; /* number of page cache image headers */ ulong nswap; /* number of swap pages */ int nswppo; /* max # of pageouts per segment pass */ ulong base0; /* base of bank 0 */ ulong base1; /* base of bank 1 */ ulong copymode; /* 0 is copy on write, 1 is copy on reference */ ulong ialloc; /* max interrupt time allocation in bytes */ ulong interps; /* number of interpreter processes */ ulong pipeqsize; /* size in bytes of pipe queues */ }; #include "../port/portdat.h" /* * machine dependent definitions not used by ../port/dat.h */ struct Mach { /* OFFSETS OF THE FOLLOWING KNOWN BY l.s */ int machno; /* physical id of processor (unused) */ ulong splpc; /* pc of last caller to splhi (unused) */ int mmask; /* 1<machno (unused) */ /* ordering from here on irrelevant */ 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 nrdy; int speed; /* general system clock in MHz */ long oscclk; /* oscillator frequency (MHz) */ long cpuhz; /* general system clock (cycles) */ long clockgen; /* clock generator frequency (cycles) */ int cputype; ulong delayloop; ulong* bcsr; IMM* iomem; /* MPC8xx internal i/o control memory */ ulong fairness; /* for runproc */ int tlbfault; int tlbpurge; int pfault; int cs; int syscall; int load; int intr; vlong fastclock; /* last sampled value */ int flushmmu; /* make current proc flush it's mmu state */ /* MUST BE LAST */ int stack[1]; }; extern Mach mach0; /* * Fake kmap */ typedef void KMap; #define VA(k) ((ulong)(k)) #define kmap(p) (KMap*)((p)->pa) #define kunmap(k) /* * routines for things outside the PowerPC model */ struct PCArch { char* id; int (*ident)(void); /* this should be in the model */ void (*reset)(void); /* this should be in the model */ int (*serialpower)(int); /* 1 == on, 0 == off */ int (*modempower)(int); /* 1 == on, 0 == off */ void (*intrinit)(void); int (*intrenable)(int, int, Irqctl*); void (*clockenable)(void); }; /* * a parsed .ini line */ #define ISAOPTLEN 16 #define NISAOPT 8 struct ISAConf { char type[NAMELEN]; ulong port; ulong irq; ulong mem; int dma; ulong size; ulong freq; uchar bus; int nopt; char opt[NISAOPT][ISAOPTLEN]; }; struct Map { int size; ulong addr; }; struct RMap { char* name; Map* map; Map* mapend; Lock; }; struct { Lock; short machs; short exiting; short ispanic; }active; extern register Mach *m; extern register Proc *up; . ## diffname mpc/dat.h 1999/0122 ## diff -e /n/emeliedump/1999/0121/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0122/sys/src/brazil/mpc/dat.h 129c // ulong* bcsr; . ## diffname mpc/dat.h 1999/0127 ## diff -e /n/emeliedump/1999/0122/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0127/sys/src/brazil/mpc/dat.h 217a extern int predawn; . 118d 114a Proc *proc; /* current process on this processor */ . 113c ulong splpc; /* pc of last caller to splhi */ . ## diffname mpc/dat.h 1999/0623 ## diff -e /n/emeliedump/1999/0127/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0623/sys/src/brazil/mpc/dat.h 9a typedef struct PCMmap PCMmap; . ## diffname mpc/dat.h 1999/0701 ## diff -e /n/emeliedump/1999/0623/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0701/sys/src/brazil/mpc/dat.h 142a vlong intrts; /* time stamp of last interrupt */ . ## diffname mpc/dat.h 1999/0810 ## diff -e /n/emeliedump/1999/0701/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0810/sys/src/brazil/mpc/dat.h 32a ulong glare; . ## diffname mpc/dat.h 1999/0811 ## diff -e /n/emeliedump/1999/0810/sys/src/brazil/mpc/dat.h /n/emeliedump/1999/0811/sys/src/brazil/mpc/dat.h 33d ## diffname mpc/dat.h 2000/0516 ## diff -e /n/emeliedump/1999/0811/sys/src/brazil/mpc/dat.h /n/emeliedump/2000/0516/sys/src/9/mpc/dat.h 156c #define kmap(p) (KMap*)(((p)->pa)|KZERO) . 150a struct Softtlb { ulong virt; ulong phys; }; . 149d 135d 120a QLock stlblk; /* lock for allocating stlb entries on this mach */ int lastpid; /* last pid allocated on this machine */ int purgepid; /* last pid purged on this machine */ Proc* pidproc[NTLBPID]; /* proc that owns tlbpid on this mach */ . 116c Proc *proc; /* current process on this processor */ Softtlb *stb; /* software tlb cache */ ulong tlbfault; /* # of tlb faults */ ulong dar; /* # of tlb faults */ ulong dsisr; /* # of tlb faults */ ulong epn; ulong cmp1; . 114c ulong splpc; /* pc of last caller to splhi */ . 55c int pidonmach[MAXMACH]; . 18,19d 15a typedef struct Softtlb Softtlb; . ## diffname mpc/dat.h 2001/0527 # deleted ## diff -e /n/emeliedump/2000/0516/sys/src/9/mpc/dat.h /n/emeliedump/2001/0527/sys/src/9/mpc/dat.h 1,233d