1 | /*-------------------------------------*/ |
---|
2 | /* prcb.h */ |
---|
3 | /* Last change : 11. 1.95 */ |
---|
4 | /*-------------------------------------*/ |
---|
5 | #ifndef _PRCB_H_ |
---|
6 | #define _PRCB_H_ |
---|
7 | |
---|
8 | #include "flttbl.h" |
---|
9 | #include "cntrltbl.h" |
---|
10 | #include "intrtbl.h" |
---|
11 | #include "systbl.h" |
---|
12 | |
---|
13 | /* PRocess Control Block |
---|
14 | */ |
---|
15 | struct PRCB { |
---|
16 | FaultTblEntry * faultTbl; /* Fault Table Base */ |
---|
17 | ControlTblEntry * controlTbl; /* Control Table Base */ |
---|
18 | unsigned int arithConfig; /* Arithmetic Control Register Image */ |
---|
19 | unsigned int faultConfig; /* Fault Configuration Word Image */ |
---|
20 | InterruptTbl * interruptTbl; /* Interrupt Table Base */ |
---|
21 | SystemTbl * systemTbl; /* System Procedure Table Base */ |
---|
22 | unsigned int reserved; /* Reserved */ |
---|
23 | unsigned int * intStackPtr; /* Interrupt Stack Pointer */ |
---|
24 | unsigned int instCacheConfig; /* Instruction Cache Config */ |
---|
25 | unsigned int regCacheConfig; /* Register Cache Config */ |
---|
26 | }; |
---|
27 | /* Constants for Arithmetic Control Register. |
---|
28 | */ |
---|
29 | #define INT_OVFL_ENABLE 0 |
---|
30 | #define INT_OVFL_DISABLE 0x1000 |
---|
31 | |
---|
32 | #define PRECISE_FLTS 0x8000 |
---|
33 | #define IMPRECISE_FLTS 0 |
---|
34 | /* Constants for Fault Configuration Word. |
---|
35 | */ |
---|
36 | #define UNLGND_FAULT_ENABLE 0 |
---|
37 | #define UNLGND_FAULT_DISABLE 0x40000000 |
---|
38 | /* Constants for Instruction Cache Configuration Word. |
---|
39 | */ |
---|
40 | #define INST_CACHE_ENABLE 0 |
---|
41 | #define INST_CACHE_DISABLE 0x10000 |
---|
42 | /* RAM-based Process Control Block. |
---|
43 | */ |
---|
44 | extern struct PRCB ram_prcb; |
---|
45 | extern struct PRCB rom_prcb; |
---|
46 | /* Supervisor Stack. Is defined directly in rom.ld. |
---|
47 | */ |
---|
48 | extern unsigned int svrStackPtr[]; |
---|
49 | /* Interrupt Stack. Is defined directly in rom.ld. |
---|
50 | */ |
---|
51 | extern unsigned int intStackPtr[]; |
---|
52 | |
---|
53 | #endif |
---|
54 | /*-------------*/ |
---|
55 | /* End of file */ |
---|
56 | /*-------------*/ |
---|
57 | |
---|