-STATIC\r
-EFI_STATUS\r
-QemuVideoVmwareSvgaCompleteModeData (\r
- IN QEMU_VIDEO_PRIVATE_DATA *Private,\r
- OUT EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode\r
- )\r
-{\r
- EFI_STATUS Status;\r
- EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;\r
- EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *FrameBufDesc;\r
- UINT32 BytesPerLine, FbOffset, BytesPerPixel;\r
-\r
- Info = Mode->Info;\r
- CopyMem (Info, &Private->VmwareSvgaModeInfo[Mode->Mode], sizeof (*Info));\r
- BytesPerPixel = Private->ModeData[Mode->Mode].ColorDepth / 8;\r
- BytesPerLine = Info->PixelsPerScanLine * BytesPerPixel;\r
-\r
- FbOffset = VmwareSvgaRead (Private, VmwareSvgaRegFbOffset);\r
-\r
- Status = Private->PciIo->GetBarAttributes (\r
- Private->PciIo,\r
- PCI_BAR_IDX1,\r
- NULL,\r
- (VOID**) &FrameBufDesc\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return EFI_DEVICE_ERROR;\r
- }\r
-\r
- Mode->FrameBufferBase = FrameBufDesc->AddrRangeMin + FbOffset;\r
- Mode->FrameBufferSize = BytesPerLine * Info->VerticalResolution;\r
-\r
- FreePool (FrameBufDesc);\r
- return Status;\r
-}\r
-\r
-\r