1 typedef struct Conf Conf;
2 typedef struct Confmem Confmem;
3 typedef struct FPsave FPsave;
4 typedef struct PFPU PFPU;
6 typedef struct Label Label;
7 typedef struct Lock Lock;
8 typedef struct KMap KMap;
9 typedef struct MMMU MMMU;
10 typedef struct Mach Mach;
11 typedef struct Page Page;
12 typedef struct Proc Proc;
13 typedef struct PMMU PMMU;
14 typedef struct Ureg Ureg;
15 typedef struct ISAConf ISAConf;
16 typedef struct DMAC DMAC;
19 #pragma incomplete Ureg
21 #define MAXSYSARG 5 /* for mount(fd, mpt, flag, arg, srv) */
23 #define AOUT_MAGIC (E_MAGIC)
71 ulong nmach; /* processors */
72 ulong nproc; /* processes */
73 Confmem mem[2]; /* physical memory */
74 ulong npage; /* total physical pages of memory */
75 usize upages; /* user page pool */
76 ulong copymode; /* 0 is copy on write, 1 is copy on reference */
77 ulong ialloc; /* max interrupt time allocation in bytes */
78 ulong pipeqsize; /* size in bytes of pipe queues */
79 ulong nimage; /* number of page cache image headers */
80 ulong nswap; /* number of swap pages */
81 int nswppo; /* max # of pageouts per segment pass */
93 Page *mmuused, *mmufree;
99 #include "../port/portdat.h"
119 int machno; /* physical id of processor */
120 uintptr splpc; /* pc of last caller to splhi */
121 Proc* proc; /* current process */
124 /* end of known offsets to assembly */
133 uvlong cpuhz; /* speed of cpu */
147 #define BUSUNKNOWN -1
151 char machs[MAXMACH]; /* active CPUs */
152 int exiting; /* shutdown */
155 extern register Mach* m; /* R10 */
156 extern register Proc* up; /* R9 */
158 extern int normalprint;
164 * hardware info about a device
173 ulong intnum; /* interrupt number */
174 char *type; /* card type, malloced */
175 int nports; /* Number of ports */
176 Devport *ports; /* The ports themselves */
179 #define mpcore ((ulong*)MPCORE_BASE)
180 #define resetmgr ((ulong*)RESETMGR_BASE)
181 #define sysmgr ((ulong*)SYSMGR_BASE)
182 #define l3 ((ulong*)L3_BASE)
185 #define SRC_INC (1<<0)
186 #define DST_INC (1<<14)