Commit | Line | Data |
---|---|---|
10f66600 | 1 | /* cpu.h 4.7 82/05/26 */ |
f5a2f2dd | 2 | |
adae96fc | 3 | #ifndef LOCORE |
f5a2f2dd BJ |
4 | /* |
5 | * Cpu identification, from SID register. | |
6 | */ | |
7 | union cpusid { | |
8 | int cpusid; | |
9 | struct cpuany { | |
10 | u_int :24, | |
11 | cp_type:8; | |
12 | } cpuany; | |
13 | struct cpu780 { | |
14 | u_int cp_sno:12, /* serial number */ | |
15 | cp_plant:3, /* plant number */ | |
16 | cp_eco:9, /* eco level */ | |
17 | cp_type:8; /* VAX_780 */ | |
18 | } cpu780; | |
19 | struct cpu750 { | |
20 | u_int cp_hrev:8, /* hardware rev level */ | |
21 | cp_urev:8, /* ucode rev level */ | |
22 | :8, | |
23 | cp_type:8; /* VAX_750 */ | |
24 | } cpu750; | |
10f66600 | 25 | /* need structure for 730 */ |
f5a2f2dd | 26 | }; |
adae96fc | 27 | #endif |
f5a2f2dd BJ |
28 | #define VAX_780 1 |
29 | #define VAX_750 2 | |
10f66600 | 30 | #define VAX_730 3 |
f5a2f2dd | 31 | |
ea4d5e21 | 32 | #define VAX_MAX 3 |
f5a2f2dd | 33 | |
adae96fc | 34 | #ifndef LOCORE |
f5a2f2dd BJ |
35 | /* |
36 | * Per-cpu information for system. | |
37 | */ | |
38 | struct percpu { | |
f201ad4d BJ |
39 | short pc_cputype; /* cpu type code */ |
40 | short pc_nnexus; /* number of nexus slots */ | |
41 | struct nexus *pc_nexbase; /* base of nexus space */ | |
42 | /* we should be able to have just one address for the unibus memories */ | |
43 | /* and calculate successive addresses by adding to the base, but the 750 */ | |
44 | /* doesn't obey the sensible rule: uba1 has a lower address than uba0! */ | |
45 | caddr_t *pc_umaddr; /* unibus memory addresses */ | |
46 | short pc_nubabdp; /* number of bdp's per uba */ | |
47 | short pc_haveubasr; /* have uba status register */ | |
48 | /* the 750 has some slots which don't promise to tell you their types */ | |
49 | /* if this pointer is non-zero, then you get the type from this array */ | |
50 | /* rather than from the (much more sensible) low byte of the config register */ | |
51 | short *pc_nextype; /* botch */ | |
f5a2f2dd BJ |
52 | }; |
53 | ||
54 | #ifdef KERNEL | |
55 | int cpu; | |
f201ad4d | 56 | struct percpu percpu[]; |
f5a2f2dd | 57 | #endif |
adae96fc | 58 | #endif |