|
@@ -1,22 +1,22 @@
|
|
|
typedef struct Conf Conf;
|
|
|
typedef struct FPsave FPsave;
|
|
|
typedef struct ISAConf ISAConf;
|
|
|
+typedef struct Imap Imap;
|
|
|
typedef struct Label Label;
|
|
|
typedef struct Lock Lock;
|
|
|
typedef struct Mach Mach;
|
|
|
typedef struct Notsave Notsave;
|
|
|
-typedef struct Page Page;
|
|
|
typedef struct PCArch PCArch;
|
|
|
-typedef struct Pcidev Pcidev;
|
|
|
typedef struct PMMU PMMU;
|
|
|
+typedef struct Page Page;
|
|
|
+typedef struct Pcidev Pcidev;
|
|
|
typedef struct Proc Proc;
|
|
|
typedef struct Sys Sys;
|
|
|
typedef struct Ureg Ureg;
|
|
|
typedef struct Vctl Vctl;
|
|
|
-typedef struct Imap Imap;
|
|
|
-typedef struct Vctl Vctl;
|
|
|
|
|
|
#pragma incomplete Ureg
|
|
|
+#pragma incomplete Imap
|
|
|
|
|
|
#define MAXSYSARG 5 /* for mount(fd, mpt, flag, arg, srv) */
|
|
|
|
|
@@ -61,7 +61,7 @@ enum
|
|
|
/*
|
|
|
* This structure must agree with fpsave and fprestore asm routines
|
|
|
*/
|
|
|
-struct FPsave
|
|
|
+struct FPsave
|
|
|
{
|
|
|
double fpreg[32];
|
|
|
union {
|
|
@@ -85,11 +85,11 @@ struct Conf
|
|
|
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 */
|
|
|
+ int nswppo; /* max # of pageouts per segment pass */
|
|
|
ulong copymode; /* 0 is copy on write, 1 is copy on reference */
|
|
|
- int monitor; /* has display? */
|
|
|
+ int monitor; /* has display? */
|
|
|
ulong ialloc; /* bytes available for interrupt time allocation */
|
|
|
- ulong pipeqsize; /* size in bytes of pipe queues */
|
|
|
+ ulong pipeqsize; /* size in bytes of pipe queues */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -98,8 +98,8 @@ struct Conf
|
|
|
#define NCOLOR 1
|
|
|
struct PMMU
|
|
|
{
|
|
|
- int mmupid;
|
|
|
- Ureg * mmureg; /* pointer to ureg structure */
|
|
|
+ int mmupid;
|
|
|
+ Ureg *mmureg; /* pointer to ureg structure */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -126,9 +126,9 @@ typedef void KMap;
|
|
|
struct Mach
|
|
|
{
|
|
|
/* OFFSETS OF THE FOLLOWING KNOWN BY l.s */
|
|
|
-/*0x00*/ int machno; /* physical id of processor */
|
|
|
+/*0x00*/ int machno; /* physical id of processor */
|
|
|
/*0x04*/ ulong splpc; /* pc that called splhi() */
|
|
|
-/*0x08*/ Proc * proc; /* current process on this processor */
|
|
|
+/*0x08*/ Proc *proc; /* current process on this processor */
|
|
|
/* Debugging/statistics for software TLB in l.s (therefore, also known by l.s) */
|
|
|
/*0x0c*/ ulong tlbfault; /* type of last miss */
|
|
|
/*0x10*/ ulong imiss; /* number of instruction misses */
|
|
@@ -140,20 +140,20 @@ struct Mach
|
|
|
|
|
|
ulong ticks; /* of the clock since boot time */
|
|
|
Label sched; /* scheduler wakeup */
|
|
|
- Lock alarmlock; /* access to alarm list */
|
|
|
- void * alarm; /* alarms bound to this clock */
|
|
|
- int inclockintr;
|
|
|
- int cputype;
|
|
|
+ Lock alarmlock; /* access to alarm list */
|
|
|
+ void *alarm; /* alarms bound to this clock */
|
|
|
+ int inclockintr;
|
|
|
+ int cputype;
|
|
|
ulong loopconst;
|
|
|
- Perf perf; /* performance counters */
|
|
|
+ Perf perf; /* performance counters */
|
|
|
|
|
|
- Proc* readied; /* for runproc */
|
|
|
+ Proc* readied; /* for runproc */
|
|
|
ulong schedticks; /* next forced context switch */
|
|
|
|
|
|
ulong clkin; /* basic clock frequency */
|
|
|
ulong vco_out;
|
|
|
vlong cpuhz;
|
|
|
- uvlong cyclefreq; /* Frequency of user readable cycle counter */
|
|
|
+ uvlong cyclefreq; /* Frequency of user readable cycle counter */
|
|
|
ulong bushz;
|
|
|
ulong dechz;
|
|
|
ulong tbhz;
|
|
@@ -163,27 +163,27 @@ struct Mach
|
|
|
ulong pcclast;
|
|
|
uvlong fastclock;
|
|
|
|
|
|
- int tlbpurge; /* # of tlb purges */
|
|
|
- int pfault; /* # of page faults */
|
|
|
- int cs;
|
|
|
- int syscall;
|
|
|
- int load;
|
|
|
- int intr;
|
|
|
- int flushmmu; /* make current proc flush it's mmu state */
|
|
|
- int ilockdepth;
|
|
|
-
|
|
|
- ulong ptabbase; /* start of page table in kernel virtual space */
|
|
|
- int slotgen; /* next pte (byte offset) when pteg is full */
|
|
|
- int mmupid; /* next mmu pid to use */
|
|
|
- int sweepcolor;
|
|
|
- int trigcolor;
|
|
|
+ int tlbpurge; /* # of tlb purges */
|
|
|
+ int pfault; /* # of page faults */
|
|
|
+ int cs;
|
|
|
+ int syscall;
|
|
|
+ int load;
|
|
|
+ int intr;
|
|
|
+ int flushmmu; /* make current proc flush it's mmu state */
|
|
|
+ int ilockdepth;
|
|
|
+
|
|
|
+ ulong ptabbase; /* start of page table in kernel virtual space */
|
|
|
+ int slotgen; /* next pte (byte offset) when pteg is full */
|
|
|
+ int mmupid; /* next mmu pid to use */
|
|
|
+ int sweepcolor;
|
|
|
+ int trigcolor;
|
|
|
Rendez sweepr;
|
|
|
|
|
|
ulong spuriousintr;
|
|
|
- int lastintr;
|
|
|
+ int lastintr;
|
|
|
|
|
|
/* MUST BE LAST */
|
|
|
- int stack[1];
|
|
|
+ int stack[1];
|
|
|
};
|
|
|
|
|
|
struct
|
|
@@ -200,7 +200,7 @@ struct
|
|
|
#define NISAOPT 8
|
|
|
|
|
|
struct ISAConf {
|
|
|
- char *type;
|
|
|
+ char *type;
|
|
|
ulong port;
|
|
|
int irq;
|
|
|
ulong dma;
|
|
@@ -213,17 +213,17 @@ struct ISAConf {
|
|
|
};
|
|
|
|
|
|
struct Vctl {
|
|
|
- Vctl* next; /* handlers on this vector */
|
|
|
+ Vctl* next; /* handlers on this vector */
|
|
|
|
|
|
char name[KNAMELEN]; /* of driver */
|
|
|
- int isintr; /* interrupt or fault/trap */
|
|
|
+ int isintr; /* interrupt or fault/trap */
|
|
|
int irq;
|
|
|
|
|
|
void (*f)(Ureg*, void*); /* handler to call */
|
|
|
- void* a; /* argument to call it with */
|
|
|
+ void* a; /* argument to call it with */
|
|
|
};
|
|
|
|
|
|
-extern Mach mach0;
|
|
|
+extern Mach mach0;
|
|
|
|
|
|
-extern register Mach *m;
|
|
|
-extern register Proc *up;
|
|
|
+extern register Mach *m;
|
|
|
+extern register Proc *up;
|