Annotation of researchv9/sys/sundev/bw2reg.h, revision 1.1.1.1

1.1       root        1: /*     @(#)bw2reg.h 1.1 86/02/03 SMI   */
                      2: 
                      3: /*
                      4:  * Copyright (c) 1985 by Sun Microsystems, Inc.
                      5:  */
                      6: 
                      7: 
                      8: /*
                      9:  * Sun-2 black and white display hardware definitions
                     10:  */
                     11: 
                     12: /*
                     13:  * The Sun-2 video lives in P2 memory space (BW2MB) or is onboard
                     14:  * (BW2OB); we can access it through
                     15:  *     the identical virtual addresses established by the monitor
                     16:  *     the physical address appropriate to the type.
                     17:  * The video memory is just memory, although it can also copy data that
                     18:  * is written to other locations.
                     19:  * The A-side of the MB_ZSCC connects to the keyboard.
                     20:  * The B-side of the MB_ZSCC connects to the mouse.
                     21:  */
                     22: 
                     23: #define        BW2_FBSIZE              (128*1024)      /* size of frame buffer */
                     24: 
                     25: #define        BW2MB_FB        (char *)0x700000        /* frame buffer */
                     26: #define        BW2MB_ZSCC      (char *)0x780000        /* UARTS */
                     27: #define BW2MB_CR       (char *)0x781800        /* video control register */
                     28: #define BW2MB_PGT              PGT_OBMEM
                     29: 
                     30: #define BW2VME_FB      (char *)0x000000
                     31: #define BW2VME_CR      (char *)0x020000
                     32: #define BW2VME_PGT             PGT_OBIO
                     33: 
                     34: /*
                     35:  * The video control register is arranged as shown below.
                     36:  *
                     37:  * Vc_copybase specifies the base (physical) address in main memory
                     38:  * where, if a write is done, the write is also done to the frame buffer.
                     39:  * Note that copying only works on 128K boundaries even though the base
                     40:  * address is specified in 64K units, since the low order bit is ignored.
                     41:  */
                     42: struct bw2cr {
                     43:        unsigned vc_video_en:1;         /* Video enable */
                     44:        unsigned vc_copy_en:1;          /* Copy enable */
                     45:        unsigned vc_int_en:1;           /* Interrupt enable */
                     46:        unsigned vc_int:1;              /* Int active - r/o */
                     47:        unsigned vc_b_jumper:1;         /* Config jumper, 0=default */
                     48:                                        /* FIXME: 1=manufacturing burnin */
                     49:                                        /* This is a 'temporary' kludge */
                     50:        unsigned vc_a_jumper:1;         /* Config jumper, 0=default */
                     51:        unsigned vc_color_jumper:1;     /* Config jumper, 0=default */
                     52:                                        /* 1=use S-2 color as console */
                     53:        unsigned vc_1024_jumper:1;      /* Config jumper, 0=default */
                     54:                                        /* 1=screen is 1024*1024 */
                     55:        /* NOTE: vc_copybase & 0x81 == aberrant bits. Don't depend on 'em! */
                     56: #define        weird   1
                     57:        unsigned vc_copybase:weird+6+weird;     /* Base addr of copy memory */
                     58: #undef weird
                     59: };
                     60: #define BW2_COPYSHIFT  16              /* bits to shift base address */
                     61: 
                     62: #define BW2_USECOPYMEM         0x1     /* config flag to use copy memory */
                     63: 
                     64: #define BW2_VIDEOENABLEMASK     0x8000  /* Video enable */
                     65: #define BW2_COPYENABLEMASK      0x4000  /* Copy enable */
                     66: #define BW2_INTENABLEMASK       0x2000  /* Interrupt enable */
                     67: #define BW2_INTACTIVEMASK       0x1000  /* Interrupt active */
                     68: #define BW2_COPYBASEMASK        0x007E  /* Copy base */
                     69: 
                     70: /*
                     71:  * The device itself, as we remap it
                     72:  */
                     73: struct bw2dev {
                     74:        u_char  image[BW2_FBSIZE];
                     75: #ifdef sun2
                     76:        struct bw2cr bw2cr;
                     77:        u_char  filler[NBPG - sizeof (struct bw2cr)];
                     78: #endif
                     79: };

unix.superglobalmegacorp.com

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