Changeset 4027 in vbox for trunk/include
- Timestamp:
- Aug 3, 2007 7:53:12 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 23458
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxVideo.h
r3633 r4027 32 32 * etc. This is used exclusively by the corresponding instance of a display driver. 33 33 * 34 * The VRAM layout: 35 * Last 4096 bytes - Adapter information area. 36 * 4096 bytes aligned miniport heap (value specified in the config rouded up). 37 * Slack - what left after dividing the VRAM. 38 * 4096 bytes aligned framebuffers: 39 * last 4096 bytes of each framebuffer is the display information area. 40 * 34 41 * The Virtual Graphics Adapter information in the guest VRAM is stored by the 35 42 * guest video driver using structures prepended by VBOXVIDEOINFOHDR. 36 43 * 37 * When the guest driver writes dword 0 to the VBE_DISPI_INDEX_ CMONITORS,44 * When the guest driver writes dword 0 to the VBE_DISPI_INDEX_VBOX_VIDEO 38 45 * the host starts to process the info. The first element at the start of 39 46 * the 4096 bytes region should be normally be a LINK that points to … … 48 55 * But other VRAM can be used by host until the mode is disabled. 49 56 * 50 * The guest driver writes dword 0xffffffff to the VBE_DISPI_INDEX_ CMONITORS57 * The guest driver writes dword 0xffffffff to the VBE_DISPI_INDEX_VBOX_VIDEO 51 58 * to disable the mode. 52 59 * 60 * VBE_DISPI_INDEX_VBOX_VIDEO is used to read the configuration information 61 * from the host and issue commands to the host. 62 * 63 * The guest writes the VBE_DISPI_INDEX_VBOX_VIDEO index register, the the 64 * following operations with the VBE data register can be performed: 65 * 66 * Operation Result 67 * write 16 bit value NOP 68 * read 16 bit value count of monitors 69 * write 32 bit value sets the vbox command value and the command processed by the host 70 * read 32 bit value result of the last vbox command is returned 53 71 */ 54 72 … … 56 74 #define VBOX_VIDEO_NO_SCREEN ~0 57 75 76 #define VBOX_VIDEO_MAX_SCREENS 64 58 77 59 78 /* The size of the information. */ … … 72 91 */ 73 92 #define VBOX_VIDEO_INTERPRET_DISPLAY_MEMORY_BASE 0x00010000 93 94 /* The value for port IO to read the number of monitors. 95 */ 96 #define VBOX_VIDEO_QUERY_MONITOR_COUNT 0x00020000 97 98 /* The value for port IO to read the offscreen heap size value. 99 */ 100 #define VBOX_VIDEO_QUERY_OFFSCREEN_HEAP_SIZE 0x00020001 74 101 75 102 /* The end of the information. */ … … 83 110 /* Information about host notifications for the driver. */ 84 111 #define VBOX_VIDEO_INFO_TYPE_HOST_EVENTS 4 112 /* Information about non-volatile guest VRAM heap. */ 113 #define VBOX_VIDEO_INFO_TYPE_NV_HEAP 5 85 114 86 115 … … 161 190 uint32_t fu32Events; 162 191 } VBOXVIDEOINFOHOSTEVENTS; 192 193 /* Resides in adapter info memory. Describes the non-volatile VRAM heap. */ 194 typedef struct _VBOXVIDEOINFONVHEAP 195 { 196 /* Absolute offset in VRAM of the start of the heap. */ 197 uint32_t u32HeapOffset; 198 199 /* The size of the heap. */ 200 uint32_t u32HeapSize; 201 202 } VBOXVIDEOINFONVHEAP; 163 203 #pragma pack() 164 204
Note:
See TracChangeset
for help on using the changeset viewer.