Annotation of 43BSD/sys/vax/cpudata.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 1986 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:  *     @(#)cpudata.c   7.1 (Berkeley) 6/5/86
        !             7:  */
        !             8: 
        !             9: #include "pte.h"
        !            10: 
        !            11: #include "param.h"
        !            12: 
        !            13: #include "cpu.h"
        !            14: #include "nexus.h"
        !            15: #include "ioa.h"
        !            16: #include "../vaxuba/ubareg.h"
        !            17: 
        !            18: /*
        !            19:  * Initialization of per-cpu data structures.
        !            20:  */
        !            21: 
        !            22: /*
        !            23:  * These are the (fixed) addresses of the (last 8k bytes of)
        !            24:  * unibus memory for each of the possible unibus adapters.  Note that the
        !            25:  * unibus memory addresses are actually indexed by the unibus adapter type code.
        !            26:  */
        !            27: #if VAX8600
        !            28: caddr_t umaddr8600a[4] = {
        !            29:        (caddr_t) UMEMA8600(0), (caddr_t) UMEMA8600(1),
        !            30:        (caddr_t) UMEMA8600(2), (caddr_t) UMEMA8600(3),
        !            31: };
        !            32: caddr_t umaddr8600b[4] = {
        !            33:        (caddr_t) UMEMB8600(0), (caddr_t) UMEMB8600(1),
        !            34:        (caddr_t) UMEMB8600(2), (caddr_t) UMEMB8600(3),
        !            35: };
        !            36: #endif
        !            37: #if VAX780
        !            38: caddr_t        umaddr780[4] = {
        !            39:        (caddr_t) UMEM780(0), (caddr_t) UMEM780(1),
        !            40:        (caddr_t) UMEM780(2), (caddr_t) UMEM780(3)
        !            41: };
        !            42: #endif
        !            43: #if VAX750
        !            44: caddr_t        umaddr750[2] = {
        !            45:        (caddr_t) UMEM750(0), (caddr_t) UMEM750(1),
        !            46: };
        !            47: #endif
        !            48: #if VAX730
        !            49: caddr_t        umaddr730[1] = {
        !            50:        (caddr_t) UMEM730
        !            51: };
        !            52: #endif
        !            53: #if VAX630
        !            54: caddr_t        umaddr630[1] = {
        !            55:        (caddr_t) UMEM630
        !            56: };
        !            57: #endif
        !            58: 
        !            59: /*
        !            60:  * Information to patch around the stupidity of configuration
        !            61:  * registers not returning types on some of the processors.
        !            62:  */
        !            63: #if VAX750
        !            64: short  nexty750[NNEX750] = {
        !            65:        NEX_MEM16,      NEX_MEM16,      NEX_MEM16,      NEX_MEM16,
        !            66:        NEX_MBA,        NEX_MBA,        NEX_MBA,        NEX_MBA,
        !            67:        NEX_UBA0,       NEX_UBA1,       NEX_ANY,        NEX_ANY,
        !            68:        NEX_ANY,        NEX_ANY,        NEX_ANY,        NEX_ANY
        !            69: };
        !            70: #endif
        !            71: #if VAX730
        !            72: short  nexty730[NNEX730] = {
        !            73:        NEX_MEM16,      NEX_ANY,        NEX_ANY,        NEX_ANY,
        !            74:        NEX_ANY,        NEX_ANY,        NEX_ANY,        NEX_ANY,
        !            75: };
        !            76: #endif
        !            77: 
        !            78: #if VAX8600
        !            79: struct nexusconnect sbi8600[] = {
        !            80:        { NNEX8600, NEXA8600, umaddr8600a, NBDP8600, 1, 0 },
        !            81:        { NNEX8600, NEXB8600, umaddr8600b, NBDP8600, 1, 0 },
        !            82: };
        !            83: struct iobus io8600[] = {
        !            84:        { IO_ABUS, IOA8600(0), IOAMAPSIZ, (caddr_t)&sbi8600[0] },
        !            85:        { IO_ABUS, IOA8600(1), IOAMAPSIZ, (caddr_t)&sbi8600[1] },
        !            86: };
        !            87: #endif
        !            88: #if VAX630
        !            89: short  nexty630[NNEX630] = {
        !            90:        NEX_UBA0,
        !            91: };
        !            92: #endif
        !            93: 
        !            94: #if VAX780
        !            95: struct nexusconnect sbi780 = {
        !            96:        NNEX780, NEX780, umaddr780, NBDP780, 1, 0,
        !            97: };
        !            98: struct iobus io780[] = { IO_SBI780, 0, 0, (caddr_t)&sbi780 };
        !            99: #endif
        !           100: 
        !           101: #if VAX750
        !           102: struct nexusconnect cmi750 = {
        !           103:        NNEX750, NEX750, umaddr750, NBDP750, 0, nexty750,
        !           104: };
        !           105: struct iobus io750[] = { IO_CMI750, 0, 0, (caddr_t)&cmi750 };
        !           106: #endif
        !           107: 
        !           108: #if VAX730
        !           109: struct nexusconnect xxx730 = {
        !           110:        NNEX730, NEX730, umaddr730, NBDP730, 0, nexty730,
        !           111: };
        !           112: struct iobus io730[] = { IO_XXX730, 0, 0, (caddr_t)&xxx730 };
        !           113: #endif
        !           114: #if VAX630
        !           115: struct nexusconnect xxx630 = {
        !           116:        NNEX630, NEX630, umaddr630, NBDP630, 0, nexty630,
        !           117: };
        !           118: struct iobus io630[] = { IO_QBUS, 0, 0, (caddr_t)&xxx630 };
        !           119: #endif
        !           120: 
        !           121: 
        !           122: struct percpu percpu[] = {
        !           123: #if VAX8600
        !           124:        { VAX_8600, 6, 2, io8600 },
        !           125: #endif
        !           126: #if VAX780
        !           127:        { VAX_780, 2, 1, io780 },
        !           128: #endif
        !           129: #if VAX750
        !           130:        { VAX_750, 1, 1, io750 },
        !           131: #endif
        !           132: #if VAX730
        !           133:        { VAX_730, 1, 1, io730 },
        !           134: #endif
        !           135: #if VAX630
        !           136:        { VAX_630, 2, 1, io630 },
        !           137: #endif
        !           138:        0,
        !           139: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.