return EFI_SUCCESS;\r
}\r
\r
+///\r
+/// Table of supported video modes\r
+///\r
+QEMU_VIDEO_BOCHS_MODES QemuVideoBochsModes[] = {\r
+ { 640, 480, 32 },\r
+ { 800, 600, 32 },\r
+ { 1024, 768, 24 },\r
+};\r
+\r
+#define QEMU_VIDEO_BOCHS_MODE_COUNT \\r
+ (sizeof (QemuVideoBochsModes) / sizeof (QemuVideoBochsModes[0]))\r
+\r
+EFI_STATUS\r
+QemuVideoBochsModeSetup (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private\r
+ )\r
+{\r
+ UINT32 Index;\r
+ QEMU_VIDEO_MODE_DATA *ModeData;\r
+ QEMU_VIDEO_BOCHS_MODES *VideoMode;\r
+\r
+ //\r
+ // Setup Video Modes\r
+ //\r
+ Private->ModeData = AllocatePool (\r
+ sizeof (Private->ModeData[0]) * QEMU_VIDEO_BOCHS_MODE_COUNT\r
+ );\r
+ ModeData = Private->ModeData;\r
+ VideoMode = &QemuVideoBochsModes[0];\r
+ for (Index = 0; Index < QEMU_VIDEO_BOCHS_MODE_COUNT; Index ++) {\r
+ ModeData->ModeNumber = Index;\r
+ ModeData->HorizontalResolution = VideoMode->Width;\r
+ ModeData->VerticalResolution = VideoMode->Height;\r
+ ModeData->ColorDepth = VideoMode->ColorDepth;\r
+ ModeData->RefreshRate = 60;\r
+ DEBUG ((EFI_D_INFO,\r
+ "Adding Bochs Video Mode %d: %dx%d, %d-bit, %d Hz\n",\r
+ ModeData->ModeNumber,\r
+ ModeData->HorizontalResolution,\r
+ ModeData->VerticalResolution,\r
+ ModeData->ColorDepth,\r
+ ModeData->RefreshRate\r
+ ));\r
+\r
+ ModeData ++ ;\r
+ VideoMode ++;\r
+ }\r
+ Private->MaxMode = QEMU_VIDEO_BOCHS_MODE_COUNT;\r
+\r
+ return EFI_SUCCESS;\r
+}\r
+\r