VirtualBox

Changeset 34399 in vbox


Ignore:
Timestamp:
Nov 26, 2010 4:30:44 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
68170
Message:

Devices/Graphics, Additions: move the VBE I/O port-related definitions into a single shared header file

Location:
trunk
Files:
1 added
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/Hardware/VBoxVideoVBE.h

    r34390 r34399  
    1 #ifndef vbe_h_included
    2 #define vbe_h_included
     1/** @file
     2 *
     3 * VirtualBox graphics card port I/O definitions
     4 */
    35
    4 #include "vgabios.h"
    5 
    6 // DISPI helper function
    7 void dispi_set_enable(enable);
    8 
    9 /** VBE int10 API
     6/*
     7 * Copyright (C) 2006-2010 Oracle Corporation
    108 *
    11  *  See the function descriptions in vbe.c for more information
     9 * This file is part of VirtualBox Open Source Edition (OSE), as
     10 * available from http://www.virtualbox.org. This file is free software;
     11 * you can redistribute it and/or modify it under the terms of the GNU
     12 * General Public License (GPL) as published by the Free Software
     13 * Foundation, in version 2 as it comes in the "COPYING" file of the
     14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
     15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     16 *
     17 * The contents of this file may alternatively be used under the terms
     18 * of the Common Development and Distribution License Version 1.0
     19 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
     20 * VirtualBox OSE distribution, in which case the provisions of the
     21 * CDDL are applicable instead of those of the GPL.
     22 *
     23 * You may elect to license modified versions of this file under the
     24 * terms and conditions of either the GPL or the CDDL or both.
    1225 */
    13 Boolean vbe_has_vbe_display();
    14 void vbe_biosfn_return_controller_information(AX, ES, DI);
    15 void vbe_biosfn_return_mode_information(AX, CX, ES, DI);
    16 void vbe_biosfn_set_mode(AX, BX, ES, DI);
    17 void vbe_biosfn_save_restore_state(AX, CX, DX, ES, BX);
    18 void vbe_biosfn_return_protected_mode_interface(AX);
    19 
    20 // The official VBE Information Block
    21 typedef struct VbeInfoBlock
    22 {
    23    Bit8u  VbeSignature[4];
    24    Bit16u VbeVersion;
    25    Bit16u OemStringPtr_Off;
    26    Bit16u OemStringPtr_Seg;
    27    Bit8u  Capabilities[4];
    28    Bit16u VideoModePtr_Off;
    29    Bit16u VideoModePtr_Seg;
    30    Bit16u TotalMemory;
    31    Bit16u OemSoftwareRev;
    32    Bit16u OemVendorNamePtr_Off;
    33    Bit16u OemVendorNamePtr_Seg;
    34    Bit16u OemProductNamePtr_Off;
    35    Bit16u OemProductNamePtr_Seg;
    36    Bit16u OemProductRevPtr_Off;
    37    Bit16u OemProductRevPtr_Seg;
    38    Bit16u  Reserved[111]; // used for dynamicly generated mode list
    39    Bit8u  OemData[256];
    40 } VbeInfoBlock;
    41 
    42 
    43 // This one is for compactly storing a static list of mode info blocks
    44 // this saves us 189 bytes per block
    45 typedef struct ModeInfoBlockCompact
    46 {
    47 // Mandatory information for all VBE revisions
    48    Bit16u ModeAttributes;
    49    Bit8u  WinAAttributes;
    50    Bit8u  WinBAttributes;
    51    Bit16u WinGranularity;
    52    Bit16u WinSize;
    53    Bit16u WinASegment;
    54    Bit16u WinBSegment;
    55    Bit32u WinFuncPtr;
    56    Bit16u BytesPerScanLine;
    57 // Mandatory information for VBE 1.2 and above
    58    Bit16u XResolution;
    59    Bit16u YResolution;
    60    Bit8u  XCharSize;
    61    Bit8u  YCharSize;
    62    Bit8u  NumberOfPlanes;
    63    Bit8u  BitsPerPixel;
    64    Bit8u  NumberOfBanks;
    65    Bit8u  MemoryModel;
    66    Bit8u  BankSize;
    67    Bit8u  NumberOfImagePages;
    68    Bit8u  Reserved_page;
    69 // Direct Color fields (required for direct/6 and YUV/7 memory models)
    70    Bit8u  RedMaskSize;
    71    Bit8u  RedFieldPosition;
    72    Bit8u  GreenMaskSize;
    73    Bit8u  GreenFieldPosition;
    74    Bit8u  BlueMaskSize;
    75    Bit8u  BlueFieldPosition;
    76    Bit8u  RsvdMaskSize;
    77    Bit8u  RsvdFieldPosition;
    78    Bit8u  DirectColorModeInfo;
    79 // Mandatory information for VBE 2.0 and above
    80    Bit32u PhysBasePtr;
    81    Bit32u OffScreenMemOffset;
    82    Bit16u OffScreenMemSize;
    83 // Mandatory information for VBE 3.0 and above
    84    Bit16u LinBytesPerScanLine;
    85    Bit8u  BnkNumberOfPages;
    86    Bit8u  LinNumberOfPages;
    87    Bit8u  LinRedMaskSize;
    88    Bit8u  LinRedFieldPosition;
    89    Bit8u  LinGreenMaskSize;
    90    Bit8u  LinGreenFieldPosition;
    91    Bit8u  LinBlueMaskSize;
    92    Bit8u  LinBlueFieldPosition;
    93    Bit8u  LinRsvdMaskSize;
    94    Bit8u  LinRsvdFieldPosition;
    95    Bit32u MaxPixelClock;
    96 //   Bit8u  Reserved[189]; // DO NOT PUT THIS IN HERE because of Compact Mode Info storage in bios
    97 } ModeInfoBlockCompact;
    98 
    99 typedef struct ModeInfoBlock
    100 {
    101 // Mandatory information for all VBE revisions
    102    Bit16u ModeAttributes;
    103    Bit8u  WinAAttributes;
    104    Bit8u  WinBAttributes;
    105    Bit16u WinGranularity;
    106    Bit16u WinSize;
    107    Bit16u WinASegment;
    108    Bit16u WinBSegment;
    109    Bit32u WinFuncPtr;
    110    Bit16u BytesPerScanLine;
    111 // Mandatory information for VBE 1.2 and above
    112    Bit16u XResolution;
    113    Bit16u YResolution;
    114    Bit8u  XCharSize;
    115    Bit8u  YCharSize;
    116    Bit8u  NumberOfPlanes;
    117    Bit8u  BitsPerPixel;
    118    Bit8u  NumberOfBanks;
    119    Bit8u  MemoryModel;
    120    Bit8u  BankSize;
    121    Bit8u  NumberOfImagePages;
    122    Bit8u  Reserved_page;
    123 // Direct Color fields (required for direct/6 and YUV/7 memory models)
    124    Bit8u  RedMaskSize;
    125    Bit8u  RedFieldPosition;
    126    Bit8u  GreenMaskSize;
    127    Bit8u  GreenFieldPosition;
    128    Bit8u  BlueMaskSize;
    129    Bit8u  BlueFieldPosition;
    130    Bit8u  RsvdMaskSize;
    131    Bit8u  RsvdFieldPosition;
    132    Bit8u  DirectColorModeInfo;
    133 // Mandatory information for VBE 2.0 and above
    134    Bit32u PhysBasePtr;
    135    Bit32u OffScreenMemOffset;
    136    Bit16u OffScreenMemSize;
    137 // Mandatory information for VBE 3.0 and above
    138    Bit16u LinBytesPerScanLine;
    139    Bit8u  BnkNumberOfPages;
    140    Bit8u  LinNumberOfPages;
    141    Bit8u  LinRedMaskSize;
    142    Bit8u  LinRedFieldPosition;
    143    Bit8u  LinGreenMaskSize;
    144    Bit8u  LinGreenFieldPosition;
    145    Bit8u  LinBlueMaskSize;
    146    Bit8u  LinBlueFieldPosition;
    147    Bit8u  LinRsvdMaskSize;
    148    Bit8u  LinRsvdFieldPosition;
    149    Bit32u MaxPixelClock;
    150    Bit8u  Reserved[189];
    151 } ModeInfoBlock;
    152 
    153 typedef struct ModeInfoListItem
    154 {
    155   Bit16u                mode;
    156   ModeInfoBlockCompact  info;
    157 } ModeInfoListItem;
    158 
    159 // VBE Return Status Info
    160 // AL
    161 #define VBE_RETURN_STATUS_SUPPORTED                      0x4F
    162 #define VBE_RETURN_STATUS_UNSUPPORTED                    0x00
    163 // AH
    164 #define VBE_RETURN_STATUS_SUCCESSFULL                    0x00
    165 #define VBE_RETURN_STATUS_FAILED                         0x01
    166 #define VBE_RETURN_STATUS_NOT_SUPPORTED                  0x02
    167 #define VBE_RETURN_STATUS_INVALID                        0x03
    168 
    169 // VBE Mode Numbers
    170 
    171 #define VBE_MODE_VESA_DEFINED                            0x0100
    172 #define VBE_MODE_REFRESH_RATE_USE_CRTC                   0x0800
    173 #define VBE_MODE_LINEAR_FRAME_BUFFER                     0x4000
    174 #define VBE_MODE_PRESERVE_DISPLAY_MEMORY                 0x8000
    175 
    176 // VBE GFX Mode Number
    177 
    178 #define VBE_VESA_MODE_640X400X8                          0x100
    179 #define VBE_VESA_MODE_640X480X8                          0x101
    180 #define VBE_VESA_MODE_800X600X4                          0x102
    181 #define VBE_VESA_MODE_800X600X8                          0x103
    182 #define VBE_VESA_MODE_1024X768X4                         0x104
    183 #define VBE_VESA_MODE_1024X768X8                         0x105
    184 #define VBE_VESA_MODE_1280X1024X4                        0x106
    185 #define VBE_VESA_MODE_1280X1024X8                        0x107
    186 #define VBE_VESA_MODE_320X200X1555                       0x10D
    187 #define VBE_VESA_MODE_320X200X565                        0x10E
    188 #define VBE_VESA_MODE_320X200X888                        0x10F
    189 #define VBE_VESA_MODE_640X480X1555                       0x110
    190 #define VBE_VESA_MODE_640X480X565                        0x111
    191 #define VBE_VESA_MODE_640X480X888                        0x112
    192 #define VBE_VESA_MODE_800X600X1555                       0x113
    193 #define VBE_VESA_MODE_800X600X565                        0x114
    194 #define VBE_VESA_MODE_800X600X888                        0x115
    195 #define VBE_VESA_MODE_1024X768X1555                      0x116
    196 #define VBE_VESA_MODE_1024X768X565                       0x117
    197 #define VBE_VESA_MODE_1024X768X888                       0x118
    198 #define VBE_VESA_MODE_1280X1024X1555                     0x119
    199 #define VBE_VESA_MODE_1280X1024X565                      0x11A
    200 #define VBE_VESA_MODE_1280X1024X888                      0x11B
    201 #define VBE_VESA_MODE_1600X1200X8                        0x11C
    202 #define VBE_VESA_MODE_1600X1200X1555                     0x11D
    203 #define VBE_VESA_MODE_1600X1200X565                      0x11E
    204 #define VBE_VESA_MODE_1600X1200X888                      0x11F
    205 
    206 // BOCHS/PLEX86 'own' mode numbers
    207 #define VBE_OWN_MODE_320X200X8888                        0x140
    208 #define VBE_OWN_MODE_640X400X8888                        0x141
    209 #define VBE_OWN_MODE_640X480X8888                        0x142
    210 #define VBE_OWN_MODE_800X600X8888                        0x143
    211 #define VBE_OWN_MODE_1024X768X8888                       0x144
    212 #define VBE_OWN_MODE_1280X1024X8888                      0x145
    213 #define VBE_OWN_MODE_320X200X8                           0x146
    214 #define VBE_OWN_MODE_1600X1200X8888                      0x147
    215 #define VBE_OWN_MODE_1152X864X8                          0x148
    216 #define VBE_OWN_MODE_1152X864X1555                       0x149
    217 #define VBE_OWN_MODE_1152X864X565                        0x14a
    218 #define VBE_OWN_MODE_1152X864X888                        0x14b
    219 #define VBE_OWN_MODE_1152X864X8888                       0x14c
    220 
    221 #define VBE_VESA_MODE_END_OF_LIST                        0xFFFF
    222 
    223 // Capabilities
    224 
    225 #define VBE_CAPABILITY_8BIT_DAC                          0x0001
    226 #define VBE_CAPABILITY_NOT_VGA_COMPATIBLE                0x0002
    227 #define VBE_CAPABILITY_RAMDAC_USE_BLANK_BIT              0x0004
    228 #define VBE_CAPABILITY_STEREOSCOPIC_SUPPORT              0x0008
    229 #define VBE_CAPABILITY_STEREO_VIA_VESA_EVC               0x0010
    230 
    231 // Mode Attributes
    232 
    233 #define VBE_MODE_ATTRIBUTE_SUPPORTED                     0x0001
    234 #define VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE  0x0002
    235 #define VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT              0x0004
    236 #define VBE_MODE_ATTRIBUTE_COLOR_MODE                    0x0008
    237 #define VBE_MODE_ATTRIBUTE_GRAPHICS_MODE                 0x0010
    238 #define VBE_MODE_ATTRIBUTE_NOT_VGA_COMPATIBLE            0x0020
    239 #define VBE_MODE_ATTRIBUTE_NO_VGA_COMPATIBLE_WINDOW      0x0040
    240 #define VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE      0x0080
    241 #define VBE_MODE_ATTRIBUTE_DOUBLE_SCAN_MODE              0x0100
    242 #define VBE_MODE_ATTRIBUTE_INTERLACE_MODE                0x0200
    243 #define VBE_MODE_ATTRIBUTE_HARDWARE_TRIPLE_BUFFER        0x0400
    244 #define VBE_MODE_ATTRIBUTE_HARDWARE_STEREOSCOPIC_DISPLAY 0x0800
    245 #define VBE_MODE_ATTRIBUTE_DUAL_DISPLAY_START_ADDRESS    0x1000
    246 
    247 #define VBE_MODE_ATTTRIBUTE_LFB_ONLY                     ( VBE_MODE_ATTRIBUTE_NO_VGA_COMPATIBLE_WINDOW | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE )
    248 
    249 // Window attributes
    250 
    251 #define VBE_WINDOW_ATTRIBUTE_RELOCATABLE                 0x01
    252 #define VBE_WINDOW_ATTRIBUTE_READABLE                    0x02
    253 #define VBE_WINDOW_ATTRIBUTE_WRITEABLE                   0x04
    254 
    255 // Memory model
    256 
    257 #define VBE_MEMORYMODEL_TEXT_MODE                        0x00
    258 #define VBE_MEMORYMODEL_CGA_GRAPHICS                     0x01
    259 #define VBE_MEMORYMODEL_HERCULES_GRAPHICS                0x02
    260 #define VBE_MEMORYMODEL_PLANAR                           0x03
    261 #define VBE_MEMORYMODEL_PACKED_PIXEL                     0x04
    262 #define VBE_MEMORYMODEL_NON_CHAIN_4_256                  0x05
    263 #define VBE_MEMORYMODEL_DIRECT_COLOR                     0x06
    264 #define VBE_MEMORYMODEL_YUV                              0x07
    265 
    266 // DirectColorModeInfo
    267 
    268 #define VBE_DIRECTCOLOR_COLOR_RAMP_PROGRAMMABLE          0x01
    269 #define VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE          0x02
     26#ifndef VBoxVideoVBE_h_included
     27# define VBoxVideoVBE_h_included
    27028
    27129// GUEST <-> HOST Communication API
     
    27432//        like 0xE0000000
    27533
    276 
    27734  #define VBE_DISPI_BANK_ADDRESS          0xA0000
    27835  #define VBE_DISPI_BANK_SIZE_KB          64
    27936
    280   #define VBE_DISPI_MAX_XRES              1024
    281   #define VBE_DISPI_MAX_YRES              768
     37  #define VBE_DISPI_MAX_XRES              16384
     38  #define VBE_DISPI_MAX_YRES              16384
     39  #define VBE_DISPI_MAX_BPP               32
    28240
    28341  #define VBE_DISPI_IOPORT_INDEX          0x01CE
     
    29452  #define VBE_DISPI_INDEX_X_OFFSET        0x8
    29553  #define VBE_DISPI_INDEX_Y_OFFSET        0x9
     54  #define VBE_DISPI_INDEX_VBOX_VIDEO      0xa
     55  #define VBE_DISPI_INDEX_NB_SAVED        0xb /* Number of saved registers (vbe_regs array) */
     56  #define VBE_DISPI_INDEX_NB              0xb /* Total number of VBE registers */
    29657
    29758  #define VBE_DISPI_ID0                   0xB0C0
     
    30061  #define VBE_DISPI_ID3                   0xB0C3
    30162  #define VBE_DISPI_ID4                   0xB0C4
     63
     64  #define VBE_DISPI_ID_VBOX_VIDEO         0xBE00
     65/* The VBOX interface id. Indicates support for VBVA shared memory interface. */
     66  #define VBE_DISPI_ID_HGSMI              0xBE01
     67  #define VBE_DISPI_ID_ANYX               0xBE02
    30268
    30369  #define VBE_DISPI_DISABLED              0x00
     
    31076  #define VBE_DISPI_LFB_PHYSICAL_ADDRESS  0xE0000000
    31177
    312   /**
    313    * VBE Bios Extra Data structure.
    314    * @remark duplicated in DevVGA.h.
    315    */
    316   typedef struct VBEHeader
    317   {
    318       /** Signature (VBEHEADER_MAGIC). */
    319       Bit16u        u16Signature;
    320       /** Data size. */
    321       Bit16u        cbData;
    322   } VBEHeader;
     78  #define VGA_PORT_HGSMI_HOST             0x3b0
     79  #define VGA_PORT_HGSMI_GUEST            0x3d0
    32380
    324   /** The value of the VBEHEADER::u16Signature field.
    325    * @remark duplicated in DevVGA.h. */
    326   #define VBEHEADER_MAGIC      0x77CC
    327 
    328   /** The extra port which is used to read the mode list.
    329    * @remark duplicated in DevVGA.h. */
    330   #define VBE_EXTRA_PORT       0x3b6
    331 
    332   /** The extra port which is used for debug printf.
    333    * @remark duplicated in DevVGA.h. */
    334   #define VBE_PRINTF_PORT      0x3b7
    335 
    336 #endif
     81#endif  /* VBoxVideoVBE_h_included */
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h

    r34349 r34399  
    2222//#include <iprt/thread.h>
    2323
     24#include <VBox/Hardware/VBoxVideoVBE.h>
    2425#include <VBox/VBoxVideoGuest.h>
    2526#include <VBox/VBoxVideo.h>
    2627#include "VBoxHGSMI.h"
    2728
    28 #define VBE_DISPI_IOPORT_INDEX          0x01CE
    29 #define VBE_DISPI_IOPORT_DATA           0x01CF
    30 #define VBE_DISPI_INDEX_ID              0x0
    31 #define VBE_DISPI_INDEX_XRES            0x1
    32 #define VBE_DISPI_INDEX_YRES            0x2
    33 #define VBE_DISPI_INDEX_BPP             0x3
    34 #define VBE_DISPI_INDEX_ENABLE          0x4
    35 #define VBE_DISPI_INDEX_VIRT_WIDTH      0x6
    36 #define VBE_DISPI_INDEX_VIRT_HEIGHT     0x7
    37 #define VBE_DISPI_INDEX_X_OFFSET        0x8
    38 #define VBE_DISPI_INDEX_Y_OFFSET        0x9
    39 #define VBE_DISPI_INDEX_VBOX_VIDEO      0xa
    40 
    41 #define VBE_DISPI_ID2                   0xB0C2
    42 /* The VBOX interface id. Indicates support for VBE_DISPI_INDEX_VBOX_VIDEO. */
    43 #define VBE_DISPI_ID_VBOX_VIDEO         0xBE00
    44 #define VBE_DISPI_ID_HGSMI              0xBE01
    45 #define VBE_DISPI_ID_ANYX               0xBE02
    46 #define VBE_DISPI_DISABLED              0x00
    47 #define VBE_DISPI_ENABLED               0x01
    48 #define VBE_DISPI_LFB_ENABLED           0x40
    49 #define VBE_DISPI_LFB_PHYSICAL_ADDRESS  0xE0000000
     29/* This looks absolutely unnecessary to me, but harmless. */
    5030#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 4
    5131#define VBE_DISPI_TOTAL_VIDEO_MEMORY_KB         (VBE_DISPI_TOTAL_VIDEO_MEMORY_MB * 1024)
    5232#define VBE_DISPI_TOTAL_VIDEO_MEMORY_BYTES      (VBE_DISPI_TOTAL_VIDEO_MEMORY_KB * 1024)
    53 
    54 #define VGA_PORT_HGSMI_HOST  0x3b0
    55 #define VGA_PORT_HGSMI_GUEST 0x3d0
    5633
    5734typedef struct VBOXVIDEO_COMMON
  • trunk/src/VBox/Additions/x11/vboxvideo/vboxvideo.h

    r33460 r34399  
    9494#define BOOL_STR(a) ((a) ? "TRUE" : "FALSE")
    9595
     96#include <VBox/Hardware/VBoxVideoVBE.h>
    9697#include <VBox/VMMDev.h>
    9798
     
    124125/* ShadowFB support */
    125126#include "shadowfb.h"
    126 
    127 /* VBox video related defines */
    128 
    129 #define VBE_DISPI_IOPORT_INDEX          0x01CE
    130 #define VBE_DISPI_IOPORT_DATA           0x01CF
    131 #define VBE_DISPI_INDEX_ID              0x0
    132 #define VBE_DISPI_INDEX_XRES            0x1
    133 #define VBE_DISPI_INDEX_YRES            0x2
    134 #define VBE_DISPI_INDEX_BPP             0x3
    135 #define VBE_DISPI_INDEX_ENABLE          0x4
    136 #define VBE_DISPI_INDEX_VIRT_WIDTH      0x6
    137 #define VBE_DISPI_INDEX_VIRT_HEIGHT     0x7
    138 #define VBE_DISPI_ID2                   0xB0C2
    139 #define VBE_DISPI_ID_ANYX               0xBE02
    140 #define VBE_DISPI_DISABLED              0x00
    141 #define VBE_DISPI_ENABLED               0x01
    142 #define VBE_DISPI_LFB_ENABLED           0x40
    143127
    144128/* Dga definitions */
     
    262246extern void VBOXDRICloseScreen(ScreenPtr pScreen, VBOXPtr pVBox);
    263247
     248/* Xinerama stuff */
     249#define VBOXRAMA_MAJOR_VERSION 1
     250#define VBOXRAMA_MINOR_VERSION 0
     251
    264252#endif /* _VBOXVIDEO_H_ */
    265253
  • trunk/src/VBox/Devices/Graphics/BIOS/Makefile.kmk

    r28800 r34399  
    7575# 2. precompile
    7676# WARNING! DEBUG is undefined here to keep the image size stable between debug and release builds.
    77 $$(PATH_VgaBiosBin)/_vgabios_.c: $(addprefix $(PATH_SUB_CURRENT)/,vgabios.c vgabios.h vbe.h vgatables.h vgafonts.h vbe.c clext.c) $$(PATH_VgaBiosBin)/vbetables.h $(VBOX_VERSION_STAMP)
     77$$(PATH_VgaBiosBin)/_vgabios_.c: $(addprefix $(PATH_SUB_CURRENT)/,vgabios.c vgabios.h vbe.h vgatables.h vgafonts.h vbe.c clext.c) $$(PATH_VgaBiosBin)/vbetables.h $(PATH_ROOT)/include/VBox/Hardware/VBoxVideoVBE.h $(VBOX_VERSION_STAMP)
    7878        $(call MSG_TOOL,cpp,VgaBiosBin,$<,$@)
    7979        $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P \
     
    8181                -DVBOX_VENDOR='"$(VBOX_VENDOR)"' -DVBOX_PRODUCT='"$(VBOX_PRODUCT)"' \
    8282                -DVBE -DVGABIOS_DATE="''" $(addprefix -D,$(DEFS) $(DEFS.$(KBUILD_TYPE))) -UDEBUG \
     83                -I$(PATH_ROOT)/include \
    8384                -o $@ $<
    8485
  • trunk/src/VBox/Devices/Graphics/BIOS/vbe.h

    r26495 r34399  
    33
    44#include "vgabios.h"
     5
     6#include <VBox/Hardware/VBoxVideoVBE.h>
    57
    68// DISPI helper function
     
    269271#define VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE          0x02
    270272
    271 // GUEST <-> HOST Communication API
    272 
    273 // FIXME: either dynamicly ask host for this or put somewhere high in physical memory
    274 //        like 0xE0000000
    275 
    276 
    277   #define VBE_DISPI_BANK_ADDRESS          0xA0000
    278   #define VBE_DISPI_BANK_SIZE_KB          64
    279 
    280   #define VBE_DISPI_MAX_XRES              1024
    281   #define VBE_DISPI_MAX_YRES              768
    282 
    283   #define VBE_DISPI_IOPORT_INDEX          0x01CE
    284   #define VBE_DISPI_IOPORT_DATA           0x01CF
    285 
    286   #define VBE_DISPI_INDEX_ID              0x0
    287   #define VBE_DISPI_INDEX_XRES            0x1
    288   #define VBE_DISPI_INDEX_YRES            0x2
    289   #define VBE_DISPI_INDEX_BPP             0x3
    290   #define VBE_DISPI_INDEX_ENABLE          0x4
    291   #define VBE_DISPI_INDEX_BANK            0x5
    292   #define VBE_DISPI_INDEX_VIRT_WIDTH      0x6
    293   #define VBE_DISPI_INDEX_VIRT_HEIGHT     0x7
    294   #define VBE_DISPI_INDEX_X_OFFSET        0x8
    295   #define VBE_DISPI_INDEX_Y_OFFSET        0x9
    296 
    297   #define VBE_DISPI_ID0                   0xB0C0
    298   #define VBE_DISPI_ID1                   0xB0C1
    299   #define VBE_DISPI_ID2                   0xB0C2
    300   #define VBE_DISPI_ID3                   0xB0C3
    301   #define VBE_DISPI_ID4                   0xB0C4
    302 
    303   #define VBE_DISPI_DISABLED              0x00
    304   #define VBE_DISPI_ENABLED               0x01
    305   #define VBE_DISPI_GETCAPS               0x02
    306   #define VBE_DISPI_8BIT_DAC              0x20
    307   #define VBE_DISPI_LFB_ENABLED           0x40
    308   #define VBE_DISPI_NOCLEARMEM            0x80
    309 
    310   #define VBE_DISPI_LFB_PHYSICAL_ADDRESS  0xE0000000
    311 
    312273  /**
    313274   * VBE Bios Extra Data structure.
  • trunk/src/VBox/Devices/Graphics/DevVGA.h

    r34188 r34399  
    5858#endif
    5959
     60#include <VBox/Hardware/VBoxVideoVBE.h>
     61
    6062#ifdef VBOX_WITH_HGSMI
    6163# include "HGSMI/HGSMIHost.h"
     
    7173/* bochs VBE support */
    7274#define CONFIG_BOCHS_VBE
    73 
    74 #ifdef VBOX
    75 #define VBE_DISPI_MAX_XRES              16384
    76 #define VBE_DISPI_MAX_YRES              16384
    77 #else
    78 #define VBE_DISPI_MAX_XRES              1600
    79 #define VBE_DISPI_MAX_YRES              1200
    80 #endif
    81 #define VBE_DISPI_MAX_BPP               32
    82 
    83 #define VBE_DISPI_INDEX_ID              0x0
    84 #define VBE_DISPI_INDEX_XRES            0x1
    85 #define VBE_DISPI_INDEX_YRES            0x2
    86 #define VBE_DISPI_INDEX_BPP             0x3
    87 #define VBE_DISPI_INDEX_ENABLE          0x4
    88 #define VBE_DISPI_INDEX_BANK            0x5
    89 #define VBE_DISPI_INDEX_VIRT_WIDTH      0x6
    90 #define VBE_DISPI_INDEX_VIRT_HEIGHT     0x7
    91 #define VBE_DISPI_INDEX_X_OFFSET        0x8
    92 #define VBE_DISPI_INDEX_Y_OFFSET        0x9
    93 #define VBE_DISPI_INDEX_VBOX_VIDEO      0xa
    94 #define VBE_DISPI_INDEX_NB_SAVED        0xb /* Number of saved registers (vbe_regs array) */
    95 #define VBE_DISPI_INDEX_NB              0xb /* Total number of VBE registers */
    96 
    97 #define VBE_DISPI_ID0                   0xB0C0
    98 #define VBE_DISPI_ID1                   0xB0C1
    99 #define VBE_DISPI_ID2                   0xB0C2
    100 #define VBE_DISPI_ID3                   0xB0C3
    101 #define VBE_DISPI_ID4                   0xB0C4
    102 
    103 #ifdef VBOX
    104 /* The VBOX interface id. Indicates support for VBE_DISPI_INDEX_VBOX_VIDEO. */
    105 #define VBE_DISPI_ID_VBOX_VIDEO         0xBE00
    106 #ifdef VBOX_WITH_HGSMI
    107 /* The VBOX interface id. Indicates support for VBVA shared memory interface. */
    108 #define VBE_DISPI_ID_HGSMI              0xBE01
    109 #endif /* VBOX_WITH_HGSMI */
    110 /* Indicates support for unrestricted horizontal resolutions (not multiple of 8). */
    111 #define VBE_DISPI_ID_ANYX               0xBE02
    112 #endif /* VBOX */
    113 
    114 #define VBE_DISPI_DISABLED              0x00
    115 #define VBE_DISPI_ENABLED               0x01
    116 #define VBE_DISPI_GETCAPS               0x02
    117 #define VBE_DISPI_8BIT_DAC              0x20
    118 #define VBE_DISPI_LFB_ENABLED           0x40
    119 #define VBE_DISPI_NOCLEARMEM            0x80
    120 
    121 #define VBE_DISPI_LFB_PHYSICAL_ADDRESS  0xE0000000
    12275
    12376#ifdef CONFIG_BOCHS_VBE
  • trunk/src/VBox/Devices/Graphics/DevVGAModes.h

    r28800 r34399  
    2020
    2121#ifdef VBE_NEW_DYN_LIST
     22
     23#include <VBox/Hardware/VBoxVideoVBE.h>
    2224
    2325/* VBE Mode Numbers */
     
    121123/* Video memory */
    122124#define VGAMEM_GRAPH                                     0xA000
    123 #define VBE_DISPI_BANK_SIZE_KB                           64
    124 #define VBE_DISPI_LFB_PHYSICAL_ADDRESS                   0xE0000000
    125125
    126126/*
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette