[BACK]Return to vga_isa.c CVS log [TXT][DIR] Up to [local] / sys / dev / isa

Annotation of sys/dev/isa/vga_isa.c, Revision 1.1.1.1

1.1       nbrk        1: /* $OpenBSD: vga_isa.c,v 1.8 2002/03/14 01:26:56 millert Exp $ */
                      2: /* $NetBSD: vga_isa.c,v 1.3 1998/06/12 18:45:48 drochner Exp $ */
                      3:
                      4: /*
                      5:  * Copyright (c) 1995, 1996 Carnegie-Mellon University.
                      6:  * All rights reserved.
                      7:  *
                      8:  * Author: Chris G. Demetriou
                      9:  *
                     10:  * Permission to use, copy, modify and distribute this software and
                     11:  * its documentation is hereby granted, provided that both the copyright
                     12:  * notice and this permission notice appear in all copies of the
                     13:  * software, derivative works or modified versions, and any portions
                     14:  * thereof, and that both notices appear in supporting documentation.
                     15:  *
                     16:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     17:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
                     18:  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     19:  *
                     20:  * Carnegie Mellon requests users of this software to return to
                     21:  *
                     22:  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
                     23:  *  School of Computer Science
                     24:  *  Carnegie Mellon University
                     25:  *  Pittsburgh PA 15213-3890
                     26:  *
                     27:  * any improvements or extensions that they make and grant Carnegie the
                     28:  * rights to redistribute these changes.
                     29:  */
                     30:
                     31: #include <sys/param.h>
                     32: #include <sys/systm.h>
                     33: #include <sys/kernel.h>
                     34: #include <sys/device.h>
                     35: #include <sys/malloc.h>
                     36:
                     37: #include <dev/isa/isavar.h>
                     38:
                     39: #include <dev/ic/mc6845reg.h>
                     40: #include <dev/ic/pcdisplayvar.h>
                     41: #include <dev/ic/vgareg.h>
                     42: #include <dev/ic/vgavar.h>
                     43: #include <dev/isa/vga_isavar.h>
                     44:
                     45: #include <dev/wscons/wsconsio.h>
                     46: #include <dev/wscons/wsdisplayvar.h>
                     47:
                     48: struct vga_isa_softc {
                     49:        struct device sc_dev;
                     50: #if 0
                     51:        struct vga_config *sc_vc;       /* VGA configuration */
                     52: #endif
                     53: };
                     54:
                     55: int    vga_isa_match(struct device *, void *, void *);
                     56: void   vga_isa_attach(struct device *, struct device *, void *);
                     57:
                     58: struct cfattach vga_isa_ca = {
                     59:        sizeof(struct vga_isa_softc), vga_isa_match, vga_isa_attach,
                     60: };
                     61:
                     62: int
                     63: vga_isa_match(parent, match, aux)
                     64:        struct device *parent;
                     65:        void *match;
                     66:        void *aux;
                     67: {
                     68:        struct isa_attach_args *ia = aux;
                     69:
                     70:        /* If values are hardwired to something that they can't be, punt. */
                     71:        if ((ia->ia_iobase != IOBASEUNK && ia->ia_iobase != 0x3b0) ||
                     72:            /* ia->ia_iosize != 0 || XXX isa.c */
                     73:            (ia->ia_maddr != MADDRUNK && ia->ia_maddr != 0xa0000) ||
                     74:            (ia->ia_msize != 0 && ia->ia_msize != 0x20000) ||
                     75:            ia->ia_irq != IRQUNK || ia->ia_drq != DRQUNK)
                     76:                return (0);
                     77:
                     78:        if (!vga_is_console(ia->ia_iot, WSDISPLAY_TYPE_ISAVGA) &&
                     79:            !vga_common_probe(ia->ia_iot, ia->ia_memt))
                     80:                return (0);
                     81:
                     82:        ia->ia_iobase = 0x3b0;  /* XXX mono 0x3b0 color 0x3c0 */
                     83:        ia->ia_iosize = 0x30;   /* XXX 0x20 */
                     84:        ia->ia_maddr = 0xa0000;
                     85:        ia->ia_msize = 0x20000;
                     86:        return (2);     /* more than generic pcdisplay */
                     87: }
                     88:
                     89: void
                     90: vga_isa_attach(parent, self, aux)
                     91:        struct device *parent, *self;
                     92:        void *aux;
                     93: {
                     94:        struct isa_attach_args *ia = aux;
                     95: #if 0
                     96:        struct vga_isa_softc *sc = (struct vga_isa_softc *)self;
                     97: #endif
                     98:
                     99:        printf("\n");
                    100:
                    101:        vga_common_attach(self, ia->ia_iot, ia->ia_memt,
                    102:                          WSDISPLAY_TYPE_ISAVGA);
                    103: }
                    104:
                    105: int
                    106: vga_isa_cnattach(iot, memt)
                    107:        bus_space_tag_t iot, memt;
                    108: {
                    109:        return (vga_cnattach(iot, memt, WSDISPLAY_TYPE_ISAVGA, 1));
                    110: }

CVSweb