2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: drivers/video/miniport/vmx_svga/vmx_svga.c
5 * PURPOSE: VMWARE SVGA-II Card Main Driver File
6 * PROGRAMMERS: ReactOS Portable Systems Group
9 /* INCLUDES *******************************************************************/
13 /* GLOBALS ********************************************************************/
15 PHW_DEVICE_EXTENSION VmxDeviceExtensionArray
[SVGA_MAX_DISPLAYS
];
17 /* FUNCTIONS ******************************************************************/
21 VmxFindAdapter(IN PVOID HwDeviceExtension
,
23 IN PWSTR ArgumentString
,
24 IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo
,
32 VmxInitialize(IN PVOID HwDeviceExtension
)
39 VmxStartIO(IN PVOID HwDeviceExtension
,
40 IN PVIDEO_REQUEST_PACKET RequestPacket
)
47 VmxResetHw(IN PVOID DeviceExtension
,
56 VmxGetPowerState(IN PVOID HwDeviceExtension
,
58 IN PVIDEO_POWER_MANAGEMENT VideoPowerControl
)
65 VmxSetPowerState(IN PVOID HwDeviceExtension
,
67 IN PVIDEO_POWER_MANAGEMENT VideoPowerControl
)
75 VmxInterrupt(IN PVOID HwDeviceExtension
)
82 VmxGetVideoChildDescriptor(IN PVOID HwDeviceExtension
,
83 IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo
,
84 OUT PVIDEO_CHILD_TYPE VideoChildType
,
85 OUT PUCHAR pChildDescriptor
,
94 DriverEntry(IN PVOID Context1
,
97 VIDEO_HW_INITIALIZATION_DATA InitData
;
99 /* Zero initialization structure and array of extensions, one per screen */
100 VideoPortZeroMemory(VmxDeviceExtensionArray
, sizeof(VmxDeviceExtensionArray
));
101 VideoPortZeroMemory(&InitData
, sizeof(InitData
));
103 /* Setup the initialization structure with VideoPort */
104 InitData
.HwInitDataSize
= sizeof(VIDEO_HW_INITIALIZATION_DATA
);
105 InitData
.HwFindAdapter
= VmxFindAdapter
;
106 InitData
.HwInitialize
= VmxInitialize
;
107 InitData
.HwInterrupt
= VmxInterrupt
;
108 InitData
.HwStartIO
= VmxStartIO
;
109 InitData
.HwResetHw
= VmxResetHw
;
110 InitData
.HwGetPowerState
= VmxGetPowerState
;
111 InitData
.HwSetPowerState
= VmxSetPowerState
;
112 InitData
.HwGetVideoChildDescriptor
= VmxGetVideoChildDescriptor
;
113 InitData
.AdapterInterfaceType
= PCIBus
;
114 InitData
.HwInitDataSize
= sizeof(VIDEO_HW_INITIALIZATION_DATA
);
115 InitData
.HwDeviceExtensionSize
= sizeof(HW_DEVICE_EXTENSION
);
116 return VideoPortInitialize(Context1
, Context2
, &InitData
, NULL
);