|
|
1.1 root 1: typedef struct Conf Conf;
2: typedef struct FFrame FFrame;
3: typedef struct FPsave FPsave;
4: typedef struct Label Label;
5: typedef struct Lock Lock;
6: typedef struct Mach Mach;
7: typedef struct Page Page;
8: typedef struct PMMU PMMU;
9: typedef struct Portpage Portpage;
10: typedef struct Ureg Ureg;
11: typedef struct User User;
12:
13: #define MACHP(n) (n==0? &mach0 : *(Mach**)0)
14:
15: extern Mach mach0;
16: extern void (*kprofp)(ulong);
17:
18: /*
19: * parameters for sysproc.c
20: */
21: #define AOUT_MAGIC A_MAGIC
22:
23: struct Lock
24: {
25: char key;
26: ulong pc;
27: ulong sr;
28: };
29:
30: struct Label
31: {
32: ulong sp;
33: ulong pc;
34: ushort sr;
35: };
36:
37: /*
38: * floating point registers
39: */
40: enum
41: {
42: FPinit,
43: FPactive,
44: FPdirty,
45: };
46:
47: struct FPsave
48: {
49: uchar type;
50: uchar size;
51: short reserved;
52: char junk[212]; /* 68881: sizes 24, 180; 68882: 56, 212 */
53: /* this offset known in db */
54: union{
55: char reg[3*4+8*12];
56: struct{
57: ulong fpcr;
58: ulong fpsr;
59: ulong fpiar;
60: struct{
61: ulong d[3];
62: }dreg[8];
63: };
64: };
65: };
66:
67: struct Conf
68: {
69: int nmach; /* processors */
70: int nproc; /* processes */
71: int monitor; /* has display */
72: ulong npage0; /* total physical pages of memory, bank 0 */
73: ulong npage1; /* total physical pages of memory, bank 1 */
74: ulong npage;
75: ulong base0; /* base of bank 0 */
76: ulong base1; /* base of bank 1 */
77: ulong upages; /* user page pool */
78: ulong nimage; /* number of page cache image headers */
79: ulong nswap; /* number of swap blocks */
80: int copymode; /* 0 is copy on write, 1 is copy on reference */
81: int portispaged; /*
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.