static int
VBESortModesCallback(PVBE_MODEINFO VbeModeInfoA, PVBE_MODEINFO VbeModeInfoB)
{
- DPRINT(("VBESortModesCallback: %dx%dx%d / %dx%dx%d\n",
+ VideoPortDebugPrint(Info, "VBESortModesCallback: %dx%dx%d / %dx%dx%d\n",
VbeModeInfoA->XResolution, VbeModeInfoA->YResolution,
VbeModeInfoA->BitsPerPixel,
VbeModeInfoB->XResolution, VbeModeInfoB->YResolution,
- VbeModeInfoB->BitsPerPixel));
+ VbeModeInfoB->BitsPerPixel);
/*
* FIXME: Until some reasonable method for changing video modes will
ULONG Pos;
int Result;
VBE_MODEINFO TempModeInfo;
- WORD TempModeNumber;
+ USHORT TempModeNumber;
while (!Finished)
{
if (Status != NO_ERROR)
{
- DPRINT(("Failed to get Int 10 service functions (Status %x)\n", Status));
+ VideoPortDebugPrint(Error, "Failed to get Int 10 service functions (Status %x)\n", Status);
return FALSE;
}
if (Status != NO_ERROR)
{
- DPRINT(("Failed to allocate virtual memory (Status %x)\n", Status));
+ VideoPortDebugPrint(Error, "Failed to allocate virtual memory (Status %x)\n", Status);
return FALSE;
}
&VBEDeviceExtension->VbeInfo,
sizeof(VBEDeviceExtension->VbeInfo));
- DPRINT(("VBE BIOS Present (%d.%d, %8ld Kb)\n",
+ /* Verify the VBE signature. */
+ if (VideoPortCompareMemory(VBEDeviceExtension->VbeInfo.Signature, "VESA", 4) != 4)
+ {
+ VideoPortDebugPrint(Warn, "No VBE BIOS present\n");
+ return FALSE;
+ }
+
+ VideoPortDebugPrint(Trace, "VBE BIOS Present (%d.%d, %8ld Kb)\n",
VBEDeviceExtension->VbeInfo.Version / 0x100,
VBEDeviceExtension->VbeInfo.Version & 0xFF,
- VBEDeviceExtension->VbeInfo.TotalMemory * 16));
+ VBEDeviceExtension->VbeInfo.TotalMemory * 64);
#ifdef VBE12_SUPPORT
if (VBEDeviceExtension->VbeInfo.Version < 0x102)
if (VBEDeviceExtension->VbeInfo.Version < 0x200)
#endif
{
- DPRINT(("VBE BIOS present, but incompatible version.\n"));
+ VideoPortDebugPrint(Warn, "VBE BIOS present, but incompatible version.\n");
return FALSE;
}
}
else
{
- DPRINT(("No VBE BIOS found.\n"));
+ VideoPortDebugPrint(Warn, "No VBE BIOS found.\n");
return FALSE;
}
*/
VBEDeviceExtension->ModeInfo =
- ExAllocatePool(PagedPool, ModeCount * sizeof(VBE_MODEINFO));
+ VideoPortAllocatePool(HwDeviceExtension, VpPagedPool, ModeCount * sizeof(VBE_MODEINFO), TAG_VBE);
VBEDeviceExtension->ModeNumbers =
- ExAllocatePool(PagedPool, ModeCount * sizeof(WORD));
+ VideoPortAllocatePool(HwDeviceExtension, VpPagedPool, ModeCount * sizeof(USHORT), TAG_VBE);
/*
* Get the actual mode infos.
VbeModeInfo->XResolution >= 640 &&
VbeModeInfo->YResolution >= 480 &&
(VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_PACKEDPIXEL ||
- VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_DIRECTCOLOR))
+ VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_DIRECTCOLOR) &&
+ VbeModeInfo->PhysBasePtr != 0)
{
if (VbeModeInfo->ModeAttributes & VBE_MODEATTR_LINEAR)
{
if (SuitableModeCount == 0)
{
- DPRINT(("VBEMP: No video modes supported\n"));
+ VideoPortDebugPrint(Warn, "VBEMP: No video modes supported\n");
return FALSE;
}
VBESortModes(VBEDeviceExtension);
/*
- * Print the supported video modes when DBG is set.
+ * Print the supported video modes when NDEBUG is not set.
*/
-#ifdef DBG
for (CurrentMode = 0;
CurrentMode < SuitableModeCount;
CurrentMode++)
{
- DPRINT(("%dx%dx%d\n",
+ VideoPortDebugPrint(Trace, "%dx%dx%d\n",
VBEDeviceExtension->ModeInfo[CurrentMode].XResolution,
VBEDeviceExtension->ModeInfo[CurrentMode].YResolution,
- VBEDeviceExtension->ModeInfo[CurrentMode].BitsPerPixel));
+ VBEDeviceExtension->ModeInfo[CurrentMode].BitsPerPixel);
}
-#endif
return TRUE;
}
PVOID HwDeviceExtension,
PVIDEO_REQUEST_PACKET RequestPacket)
{
- BOOL Result;
+ BOOLEAN Result;
- RequestPacket->StatusBlock->Status = STATUS_UNSUCCESSFUL;
+ RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
switch (RequestPacket->IoControlCode)
{
if (RequestPacket->InputBufferLength < sizeof(VIDEO_CLUT) ||
RequestPacket->InputBufferLength <
(((PVIDEO_CLUT)RequestPacket->InputBuffer)->NumEntries * sizeof(ULONG)) +
- sizeof(VIDEO_CLUT))
+ FIELD_OFFSET(VIDEO_CLUT, LookupTable))
{
RequestPacket->StatusBlock->Status = ERROR_INSUFFICIENT_BUFFER;
return TRUE;
break;
default:
- RequestPacket->StatusBlock->Status = STATUS_NOT_IMPLEMENTED;
+ RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
return FALSE;
}
if (Result)
- RequestPacket->StatusBlock->Status = STATUS_SUCCESS;
+ RequestPacket->StatusBlock->Status = NO_ERROR;
return TRUE;
}
&BiosRegisters);
if (BiosRegisters.Eax == VBE_NOT_SUPPORTED)
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
if (BiosRegisters.Eax != VBE_SUCCESS)
return ERROR_INVALID_FUNCTION;
return NO_ERROR;
}
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
}
/*
&BiosRegisters);
if (BiosRegisters.Eax == VBE_NOT_SUPPORTED)
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
if (BiosRegisters.Eax != VBE_SUCCESS)
return ERROR_INVALID_FUNCTION;
* Sets the adapter to the specified operating mode.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBESetCurrentMode(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE RequestedMode,
}
else
{
- DPRINT(("VBEMP: VBESetCurrentMode failed (%x)\n", BiosRegisters.Eax));
+ VideoPortDebugPrint(Error, "VBEMP: VBESetCurrentMode failed (%x)\n", BiosRegisters.Eax);
DeviceExtension->CurrentMode = -1;
}
* at system boot.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEResetDevice(
PVBE_DEVICE_EXTENSION DeviceExtension,
PSTATUS_BLOCK StatusBlock)
* space of the requestor.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEMapVideoMemory(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MEMORY RequestedAddress,
* frame buffer and video RAM.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEUnmapVideoMemory(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MEMORY VideoMemory,
* buffer for an IOCTL_VIDEO_QUERY_AVAIL_MODES request.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryNumAvailModes(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_NUM_MODES Modes,
* Returns information about each video mode supported by the adapter.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryAvailModes(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE_INFORMATION ReturnedModes,
* Returns information about current video mode.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryCurrentMode(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE_INFORMATION VideoModeInfo,
* yet implemented.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBESetColorRegisters(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_CLUT ColorLookUpTable,