1*6943Ssam /* cpu.h 4.7 82/05/26 */ 22550Swnj 32712Swnj #ifndef LOCORE 42550Swnj /* 52550Swnj * Cpu identification, from SID register. 62550Swnj */ 72550Swnj union cpusid { 82550Swnj int cpusid; 92550Swnj struct cpuany { 102550Swnj u_int :24, 112550Swnj cp_type:8; 122550Swnj } cpuany; 132550Swnj struct cpu780 { 142550Swnj u_int cp_sno:12, /* serial number */ 152550Swnj cp_plant:3, /* plant number */ 162550Swnj cp_eco:9, /* eco level */ 172550Swnj cp_type:8; /* VAX_780 */ 182550Swnj } cpu780; 192550Swnj struct cpu750 { 202550Swnj u_int cp_hrev:8, /* hardware rev level */ 212550Swnj cp_urev:8, /* ucode rev level */ 222550Swnj :8, 232550Swnj cp_type:8; /* VAX_750 */ 242550Swnj } cpu750; 25*6943Ssam /* need structure for 730 */ 262550Swnj }; 272712Swnj #endif 282550Swnj #define VAX_780 1 292550Swnj #define VAX_750 2 30*6943Ssam #define VAX_730 3 312550Swnj 323340Swnj #define VAX_MAX 3 332550Swnj 342712Swnj #ifndef LOCORE 352550Swnj /* 362550Swnj * Per-cpu information for system. 372550Swnj */ 382550Swnj struct percpu { 393245Swnj short pc_cputype; /* cpu type code */ 403245Swnj short pc_nnexus; /* number of nexus slots */ 413245Swnj struct nexus *pc_nexbase; /* base of nexus space */ 423245Swnj /* we should be able to have just one address for the unibus memories */ 433245Swnj /* and calculate successive addresses by adding to the base, but the 750 */ 443245Swnj /* doesn't obey the sensible rule: uba1 has a lower address than uba0! */ 453245Swnj caddr_t *pc_umaddr; /* unibus memory addresses */ 463245Swnj short pc_nubabdp; /* number of bdp's per uba */ 473245Swnj short pc_haveubasr; /* have uba status register */ 483245Swnj /* the 750 has some slots which don't promise to tell you their types */ 493245Swnj /* if this pointer is non-zero, then you get the type from this array */ 503245Swnj /* rather than from the (much more sensible) low byte of the config register */ 513245Swnj short *pc_nextype; /* botch */ 522550Swnj }; 532550Swnj 542550Swnj #ifdef KERNEL 552550Swnj int cpu; 563245Swnj struct percpu percpu[]; 572550Swnj #endif 582712Swnj #endif 59