Annotation of 41BSD/4.0.upgrade/sys/h/cpu.h, revision 1.1.1.1

1.1       root        1: /*     cpu.h   4.6     81/04/03        */
                      2: 
                      3: #ifndef LOCORE
                      4: /*
                      5:  * Cpu identification, from SID register.
                      6:  */
                      7: union cpusid {
                      8:        int     cpusid;
                      9:        struct cpuany {
                     10:                u_int   :24,
                     11:                        cp_type:8;
                     12:        } cpuany;
                     13:        struct cpu780 {
                     14:                u_int   cp_sno:12,              /* serial number */
                     15:                        cp_plant:3,             /* plant number */
                     16:                        cp_eco:9,               /* eco level */
                     17:                        cp_type:8;              /* VAX_780 */
                     18:        } cpu780;
                     19:        struct cpu750 {
                     20:                u_int   cp_hrev:8,              /* hardware rev level */
                     21:                        cp_urev:8,              /* ucode rev level */
                     22:                        :8,
                     23:                        cp_type:8;              /* VAX_750 */
                     24:        } cpu750;
                     25:        /* need structure for 7ZZ */
                     26: };
                     27: #endif
                     28: #define        VAX_780         1
                     29: #define        VAX_750         2
                     30: #define        VAX_7ZZ         3
                     31: 
                     32: #define        VAX_MAX         3
                     33: 
                     34: #ifndef LOCORE
                     35: /*
                     36:  * Per-cpu information for system.
                     37:  */
                     38: struct percpu {
                     39:        short   pc_cputype;             /* cpu type code */
                     40:        short   pc_nnexus;              /* number of nexus slots */
                     41:        struct  nexus *pc_nexbase;      /* base of nexus space */
                     42: /* we should be able to have just one address for the unibus memories */
                     43: /* and calculate successive addresses by adding to the base, but the 750 */
                     44: /* doesn't obey the sensible rule: uba1 has a lower address than uba0! */
                     45:        caddr_t *pc_umaddr;             /* unibus memory addresses */
                     46:        short   pc_nubabdp;             /* number of bdp's per uba */
                     47:        short   pc_haveubasr;           /* have uba status register */
                     48: /* the 750 has some slots which don't promise to tell you their types */
                     49: /* if this pointer is non-zero, then you get the type from this array */
                     50: /* rather than from the (much more sensible) low byte of the config register */
                     51:        short   *pc_nextype;            /* botch */
                     52: };
                     53: 
                     54: #ifdef KERNEL
                     55: int    cpu;
                     56: struct percpu percpu[];
                     57: #endif
                     58: #endif

unix.superglobalmegacorp.com

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