The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/i386/include/pc/vesa.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1998 Michael Smith and Kazutaka YOKOTA
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer as
   10  *    the first lines of this file unmodified.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
   16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   18  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   25  *
   26  * $FreeBSD: releng/5.4/sys/i386/include/pc/vesa.h 103870 2002-09-23 18:54:32Z alfred $
   27  */
   28 
   29 #ifndef _MACHINE_PC_VESA_H
   30 #define _MACHINE_PC_VESA_H
   31 
   32 struct vesa_info
   33 {
   34     /* mandatory fields */
   35     u_int8_t            v_sig[4] __packed;      /* VESA */
   36     u_int16_t           v_version __packed;     /* ver in BCD */
   37     u_int32_t           v_oemstr __packed;      /* OEM string */
   38     u_int32_t           v_flags __packed;       /* flags */
   39 #define V_DAC8          (1<<0)
   40 #define V_NONVGA        (1<<1)
   41 #define V_SNOW          (1<<2)
   42     u_int32_t           v_modetable __packed;   /* modes */
   43     u_int16_t           v_memsize __packed;     /* in 64K */
   44     /* 2.0 */
   45     u_int16_t           v_revision __packed;    /* software rev */
   46     u_int32_t           v_venderstr __packed;   /* vender */
   47     u_int32_t           v_prodstr __packed;     /* product name */
   48     u_int32_t           v_revstr __packed;      /* product rev */
   49 };
   50 
   51 struct vesa_mode 
   52 {
   53     /* mandatory fields */
   54     u_int16_t           v_modeattr;
   55 #define V_MODESUPP      (1<<0)  /* VESA mode attributes */
   56 #define V_MODEOPTINFO   (1<<1)
   57 #define V_MODEBIOSOUT   (1<<2)
   58 #define V_MODECOLOR     (1<<3)
   59 #define V_MODEGRAPHICS  (1<<4)
   60 #define V_MODENONVGA    (1<<5)
   61 #define V_MODENONBANK   (1<<6)
   62 #define V_MODELFB       (1<<7)
   63 #define V_MODEVESA      (1<<16) /* Private attributes */
   64     u_int8_t            v_waattr;
   65     u_int8_t            v_wbattr;
   66 #define V_WATTREXIST    (1<<0)
   67 #define V_WATTRREAD     (1<<1)
   68 #define V_WATTRWRITE    (1<<2)
   69     u_int16_t           v_wgran;
   70     u_int16_t           v_wsize;
   71     u_int16_t           v_waseg;
   72     u_int16_t           v_wbseg;
   73     u_int32_t           v_posfunc;
   74     u_int16_t           v_bpscanline;
   75     /* fields optional for 1.0/1.1 implementations */
   76     u_int16_t           v_width;
   77     u_int16_t           v_height;
   78     u_int8_t            v_cwidth;
   79     u_int8_t            v_cheight;
   80     u_int8_t            v_planes;
   81     u_int8_t            v_bpp;
   82     u_int8_t            v_banks;
   83     u_int8_t            v_memmodel;
   84 #define V_MMTEXT        0
   85 #define V_MMCGA         1
   86 #define V_MMHGC         2
   87 #define V_MMEGA         3
   88 #define V_MMPACKED      4
   89 #define V_MMSEQU256     5
   90 #define V_MMDIRCOLOR    6
   91 #define V_MMYUV         7
   92     u_int8_t            v_banksize;
   93     u_int8_t            v_ipages;
   94     u_int8_t            v_reserved0;
   95     /* fields for 1.2+ implementations */
   96     u_int8_t            v_redmasksize;
   97     u_int8_t            v_redfieldpos;
   98     u_int8_t            v_greenmasksize;
   99     u_int8_t            v_greenfieldpos;
  100     u_int8_t            v_bluemasksize;
  101     u_int8_t            v_bluefieldpos;
  102     u_int8_t            v_resmasksize;
  103     u_int8_t            v_resfieldpos;
  104     u_int8_t            v_dircolormode;
  105     /* 2.0 implementations */
  106     u_int32_t           v_lfb;
  107     u_int32_t           v_offscreen;
  108     u_int16_t           v_offscreensize;
  109 };
  110 
  111 #ifdef _KERNEL
  112 
  113 #define VESA_MODE(x)    ((x) >= M_VESA_BASE)
  114 
  115 int vesa_load_ioctl(void);
  116 int vesa_unload_ioctl(void);
  117 
  118 #endif
  119 
  120 #endif /* !_MACHINE_PC_VESA_H */

Cache object: 5144975805553629a94c30328392c674


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.