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