xref: /csrg-svn/sys/vax/include/cpu.h (revision 2550)
1*2550Swnj /*	cpu.h	4.1	81/02/19	*/
2*2550Swnj 
3*2550Swnj /*
4*2550Swnj  * Cpu identification, from SID register.
5*2550Swnj  */
6*2550Swnj union cpusid {
7*2550Swnj 	int	cpusid;
8*2550Swnj 	struct cpuany {
9*2550Swnj 		u_int	:24,
10*2550Swnj 			cp_type:8;
11*2550Swnj 	} cpuany;
12*2550Swnj 	struct cpu780 {
13*2550Swnj 		u_int	cp_sno:12,		/* serial number */
14*2550Swnj 			cp_plant:3,		/* plant number */
15*2550Swnj 			cp_eco:9,		/* eco level */
16*2550Swnj 			cp_type:8;		/* VAX_780 */
17*2550Swnj 	} cpu780;
18*2550Swnj 	struct cpu750 {
19*2550Swnj 		u_int	cp_hrev:8,		/* hardware rev level */
20*2550Swnj 			cp_urev:8,		/* ucode rev level */
21*2550Swnj 			:8,
22*2550Swnj 			cp_type:8;		/* VAX_750 */
23*2550Swnj 	} cpu750;
24*2550Swnj };
25*2550Swnj #define	VAX_780		1
26*2550Swnj #define	VAX_750		2
27*2550Swnj 
28*2550Swnj #define	VAX_MAX		2
29*2550Swnj 
30*2550Swnj /*
31*2550Swnj  * Per-cpu information for system.
32*2550Swnj  */
33*2550Swnj struct	percpu {
34*2550Swnj 	int	(*pc_config)();
35*2550Swnj 	short	pc_cputype;
36*2550Swnj };
37*2550Swnj 
38*2550Swnj #ifdef KERNEL
39*2550Swnj int	cpu;
40*2550Swnj #endif
41