BSD 4_1_snap development
[unix-history] / sys / dev / vaxcpu.c
CommitLineData
ba9bfaab
C
1/* vaxcpu.c 4.5 81/04/13 */
2
3#include "../h/param.h"
4#include "../h/pte.h"
5#include "../h/ubareg.h"
6#include "../h/nexus.h"
7#include "../h/cpu.h"
8
9/*
10 * Initialization of per-cpu data structures.
11 */
12
13/*
14 * These are the (fixed) addresses of the (last 8k bytes of)
15 * unibus memory for each of the possible unibus adapters. Note that the
16 * unibus memory addresses are actually indexed by the unibus adapter type code.
17 */
18#if VAX780
19caddr_t umaddr780[4] = {
20 (caddr_t) UMEM780(0), (caddr_t) UMEM780(1),
21 (caddr_t) UMEM780(2), (caddr_t) UMEM780(3)
22};
23#endif
24#if VAX750
25caddr_t umaddr750[2] = {
26 (caddr_t) UMEM750(0), (caddr_t) UMEM750(1),
27};
28#endif
29#if VAX7ZZ
30caddr_t umaddr7ZZ[1] = {
31 (caddr_t) UMEM7ZZ
32};
33#endif
34
35/*
36 * Information to patch around the stupidity of configuration
37 * registers not returning types on some of the processors.
38 */
39#if VAX750
40short nexty750[NNEX750] = {
41 NEX_MEM16, NEX_MEM16, NEX_MEM16, NEX_MEM16,
42 NEX_MBA, NEX_MBA, NEX_MBA, NEX_MBA,
43 NEX_UBA0, NEX_UBA1, NEX_ANY, NEX_ANY,
44 NEX_ANY, NEX_ANY, NEX_ANY, NEX_ANY
45};
46#endif
47#if VAX7ZZ
48short nexty7ZZ[NNEX7ZZ] = {
49 NEX_MEM16, NEX_ANY, NEX_ANY, NEX_ANY,
50 NEX_ANY, NEX_ANY, NEX_ANY, NEX_ANY,
51};
52#endif
53
54struct percpu percpu[] = {
55#if VAX780
56 VAX_780, NNEX780, NEX780, umaddr780, NBDP780, 1, 0,
57#endif
58#if VAX750
59 VAX_750, NNEX750, NEX750, umaddr750, NBDP750, 0, nexty750,
60#endif
61#if VAX7ZZ
62 VAX_7ZZ, NNEX7ZZ, NEX7ZZ, umaddr7ZZ, NBDP7ZZ, 0, nexty7ZZ,
63#endif
64 0,
65};