ReactOS 0.4.16-dev-334-g4d9f67c
vmx_regs.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: win32ss/drivers/miniport/vmx_svga/vmx_regs.h
5 * PURPOSE: VMWARE SVGA-II Card Registers and Definitions
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9//
10// IT'S OVER 9000 THOUSAND!!!!!!!!!!
11//
12#define SVGA_MAGIC 0x900000
13
14//
15// Known VMWARE SVGA Versions
16//
17#define SVGA_VERSION_2 2
18#define SVGA_VERSION_1 1
19#define SVGA_VERSION_0 0
20
21//
22// Known VMWARE SVGA IDs
23//
24#define SVGA_MAKE_ID(x) (SVGA_MAGIC << 8 | (x))
25#define SVGA_ID_2 SVGA_MAKE_ID(SVGA_VERSION_2)
26#define SVGA_ID_1 SVGA_MAKE_ID(SVGA_VERSION_1)
27#define SVGA_ID_0 SVGA_MAKE_ID(SVGA_VERSION_0)
28#define SVGA_ID_INVALID 0xFFFFFFFF
29
30//
31// Card Capabilities
32//
33#define SVGA_CAP_NONE 0x00000000
34#define SVGA_CAP_RECT_FILL 0x00000001
35#define SVGA_CAP_RECT_COPY 0x00000002
36#define SVGA_CAP_RECT_PAT_FILL 0x00000004
37#define SVGA_CAP_LEGACY_OFFSCREEN 0x00000008
38#define SVGA_CAP_RASTER_OP 0x00000010
39#define SVGA_CAP_CURSOR 0x00000020
40#define SVGA_CAP_CURSOR_BYPASS 0x00000040
41#define SVGA_CAP_CURSOR_BYPASS_2 0x00000080
42#define SVGA_CAP_8BIT_EMULATION 0x00000100
43#define SVGA_CAP_ALPHA_CURSOR 0x00000200
44#define SVGA_CAP_GLYPH 0x00000400
45#define SVGA_CAP_GLYPH_CLIPPING 0x00000800
46#define SVGA_CAP_OFFSCREEN_1 0x00001000
47#define SVGA_CAP_ALPHA_BLEND 0x00002000
48#define SVGA_CAP_3D 0x00004000
49#define SVGA_CAP_EXTENDED_FIFO 0x00008000
50#define SVGA_CAP_MULTIMON 0x00010000
51#define SVGA_CAP_PITCHLOCK 0x00020000
52#define SVGA_CAP_IRQMASK 0x00040000
53#define SVGA_CAP_DISPLAY_TOPOLOGY 0x00080000
54
55//
56// Port Offsets and Base in PCI Space
57//
58#define SVGA_LEGACY_BASE_PORT 0x4560
59#define SVGA_INDEX_PORT 0x0
60#define SVGA_VALUE_PORT 0x1
61#define SVGA_BIOS_PORT 0x2
62#define SVGA_NUM_PORTS 0x3
63#define SVGA_IRQSTATUS_PORT 0x8
64
65//
66// Invalid display ID
67//
68#define SVGA_INVALID_DISPLAY_ID 0xFFFFFFFF
69
70//
71// Global Maximums
72//
73#define SVGA_MAX_BITS_PER_PIXEL 32
74#define SVGA_MAX_DEPTH 24
75#define SVGA_MAX_DISPLAYS 10
76#define SVGA_MAX_PSEUDOCOLOR_DEPTH 8
77#define SVGA_MAX_PSEUDOCOLORS (1 << SVGA_MAX_PSEUDOCOLOR_DEPTH)
78#define SVGA_NUM_PALETTE_REGS (3 * SVGA_MAX_PSEUDOCOLORS)
79#define SVGA_FB_MAX_SIZE \
80 ((((SVGA_MAX_WIDTH * SVGA_MAX_HEIGHT * \
81 SVGA_MAX_BITS_PER_PIXEL / 8) >> PAGE_SHIFT) + 1) << PAGE_SHIFT)
82
83//
84// Card Registers
85//
87{
_VMX_SVGA_REGISTERS
Definition: vmx_regs.h:87
@ SVGA_REG_MEM_REGS
Definition: vmx_regs.h:118
@ SVGA_REG_FB_OFFSET
Definition: vmx_regs.h:102
@ SVGA_REG_NUM_DISPLAYS
Definition: vmx_regs.h:119
@ SVGA_REG_ID
Definition: vmx_regs.h:88
@ SVGA_REG_NUM_GUEST_DISPLAYS
Definition: vmx_regs.h:122
@ SVGA_REG_BYTES_PER_LINE
Definition: vmx_regs.h:100
@ SVGA_REG_CURSOR_ID
Definition: vmx_regs.h:112
@ SVGA_REG_PSEUDOCOLOR
Definition: vmx_regs.h:96
@ SVGA_REG_SYNC
Definition: vmx_regs.h:109
@ SVGA_REG_DISPLAY_WIDTH
Definition: vmx_regs.h:127
@ SVGA_REG_HEIGHT
Definition: vmx_regs.h:91
@ SVGA_REG_TOP
Definition: vmx_regs.h:129
@ SVGA_REG_DISPLAY_HEIGHT
Definition: vmx_regs.h:128
@ SVGA_REG_BLUE_MASK
Definition: vmx_regs.h:99
@ SVGA_REG_MAX_HEIGHT
Definition: vmx_regs.h:93
@ SVGA_REG_CURSOR_X
Definition: vmx_regs.h:113
@ SVGA_REG_DISPLAY_IS_PRIMARY
Definition: vmx_regs.h:124
@ SVGA_REG_CAPABILITIES
Definition: vmx_regs.h:105
@ SVGA_REG_FB_SIZE
Definition: vmx_regs.h:104
@ SVGA_REG_CONFIG_DONE
Definition: vmx_regs.h:108
@ SVGA_REG_MEM_SIZE
Definition: vmx_regs.h:107
@ SVGA_REG_CURSOR_ON
Definition: vmx_regs.h:115
@ SVGA_REG_CURSOR_Y
Definition: vmx_regs.h:114
@ SVGA_REG_DISPLAY_ID
Definition: vmx_regs.h:123
@ SVGA_REG_MEM_START
Definition: vmx_regs.h:106
@ SVGA_REG_HOST_BITS_PER_PIXEL
Definition: vmx_regs.h:116
@ SVGA_REG_FB_START
Definition: vmx_regs.h:101
@ SVGA_REG_DISPLAY_POSITION_X
Definition: vmx_regs.h:125
@ SVGA_REG_IRQMASK
Definition: vmx_regs.h:121
@ SVGA_REG_SCRATCH_SIZE
Definition: vmx_regs.h:117
@ SVGA_REG_RED_MASK
Definition: vmx_regs.h:97
@ SVGA_REG_BITS_PER_PIXEL
Definition: vmx_regs.h:95
@ SVGA_REG_MAX_WIDTH
Definition: vmx_regs.h:92
@ SVGA_REG_GREEN_MASK
Definition: vmx_regs.h:98
@ SVGA_REG_PITCHLOCK
Definition: vmx_regs.h:120
@ SVGA_REG_DEPTH
Definition: vmx_regs.h:94
@ SVGA_REG_DISPLAY_POSITION_Y
Definition: vmx_regs.h:126
@ SVGA_REG_ENABLE
Definition: vmx_regs.h:89
@ SVGA_REG_BUSY
Definition: vmx_regs.h:110
@ SVGA_REG_VRAM_SIZE
Definition: vmx_regs.h:103
@ SVGA_REG_WIDTH
Definition: vmx_regs.h:90
@ SVGA_REG_GUEST_ID
Definition: vmx_regs.h:111
enum _VMX_SVGA_REGISTERS VMX_SVGA_REGISTERS