|
|
1.1 root 1: #
2: # parameters for assembly-language stuff
3: #
4:
5: .set SAVREG,0x3f # mask of registers to save on traps
6: .set NRS,6 # number of registers saved
7: .set NISP,3 # number of pages of interrupt stack
8:
9: .set KA,0x80000000 # base of system address space
10:
11: .set MAXPHMEM,1024*1024*1024 # largest memory we can cope with
12:
13: #
14: # hardware definitions
15: # keep these as few as possible;
16: # write in C instead.
17: #
18:
19: #
20: # the hardware part of the PCB
21: #
22: .set PCB_KSP,0
23: .set PCB_ESP,4
24: .set PCB_SSP,8
25: .set PCB_USP,12
26: # r0-r13
27: .set PCB_PC,72
28: .set PCB_PSL,76
29: .set PCB_P0BR,80
30: .set PCB_P0LR,84
31: .set PCB_P1BR,88
32: .set PCB_P1LR,92
33: #
34: # one software extension word; a botch to be removed
35: #
36: .set PCB_SSWAP,96
37:
38: #
39: # psl
40: #
41:
42: .set PSL_PRVMOD,0x00c00000 # previous mode; all on == user
43: .set PSL_CURMOD,0x03000000 # current mode; ditto
44: .set PSL_FPD,0x08000000 # first part done before trap
45: .set PSLB_IS,26 # bit number: on interrupt stack
46:
47: #
48: # processor registers
49: #
50: .set USP,0x3 # user stack pointer
51: .set P0BR,0x8 # page table base, length
52: .set P0LR,0x9
53: .set P1BR,0xa
54: .set P1LR,0xb
55: .set SBR,0xc
56: .set SLR,0xd
57: .set PCBB,0x10 # current process pcb
58: .set SCBB,0x11 # system control block
59: .set IPL,0x12 # interrupt priority level
60: .set ICCS,0x18 # interval counter control
61: .set NICR,0x19 # next interval count
62: .set RXCS,0x20 # console rcv status, data
63: .set RXDB,0x21
64: .set TXCS,0x22 # console xmt status, data
65: .set TXDB,0x23
66: .set MAPEN,0x38 # enable memory mapping
67: .set TBIA,0x39 # invalidate translation buffer cache
68: .set TBIS,0x3a
69: .set CPUSID,0x3e # system ID register
70:
71: #
72: # hardware memory management
73: #
74: .set NBPG,512 # bytes per hardware page
75: .set PGSHIFT,9 # a/NBPG == a>>PGSHIFT
76: .set PG_V,0x80000000 # page table entry: valid bit
77: .set PG_KW,0x10000000 # page prot: kernel write
78: .set PG_URKW,0x70000000 # page prot: kernel write user read
79:
80: #
81: # miscellany
82: #
83: .set HIGH,0x1f # highest interrupt level
84: .set DUMPMAGIC,0x79646e61
85:
86: #
87: # software parameters duplicated from C code
88: # their presence is a bug; fix later
89: #
90:
91: .set UPAGES,10
92: .set P_LINK,0
93: .set P_RLINK,4
94: .set P_ADDR,8
95: .set P_PRI,13
96: .set P_STAT,15
97: .set P_FLAG,32
98: .set SRUN,3
99: .set SPROCIO,16777216
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.