]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmVirtualizationPkg/ArmVirtualizationQemu: add VGA console output
authorLaszlo Ersek <lersek@redhat.com>
Mon, 23 Feb 2015 16:04:25 +0000 (16:04 +0000)
committerlersek <lersek@Edk2>
Mon, 23 Feb 2015 16:04:25 +0000 (16:04 +0000)
Alex Graf's QEMU patchset enables "-device VGA" for the virt machtype as
well. We can now include OvmfPkg/QemuVideoDxe in the firmware, and set
PcdDefaultConOutPaths such that the console output is multiplexed to the
video window as well. (Our platform BDS lib doesn't (yet) locate the VGA
device automatically.)

OvmfPkg/PlatformDxe is included too; it allows users to select a video
resolution. (Note that PcdSetupVideoHorizontalResolution and
PcdSetupVideoVerticalResolution are independent; see git commit 848834cb
(SVN r16311) for explanation.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Olivier Martin <Olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16913 6f19259b-4bc3-4df7-8a09-765794883524

ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf

index aabe8e5bc05981b826a5ace15949c1d8fcc2e928..03e7de9fb0039156b09a170d92715f0d06d0857b 100644 (file)
@@ -84,7 +84,8 @@
 \r
   ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
   #  It could be set FALSE to save size.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
 \r
   # Activate KVM workaround for now.\r
   gArmVirtualizationTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|TRUE\r
   gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/vda2 console=ttyAMA0 earlycon uefi_debug"\r
   gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0\r
 \r
+  #\r
   # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()"\r
+  #\r
+  # For the PCI VGA device path to work, you must start QEMU with the option\r
+  # '-device VGA,addr=01.0' (see "Pci(0x1,0x0)").\r
+  #\r
+  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1,0x0)/AcpiAdr(0x80010100)"\r
   gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()"\r
   gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
 \r
 \r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
 \r
+  #\r
+  # Set video resolution for boot options and for text setup.\r
+  # PlatformDxe can set the former at runtime.\r
+  #\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480\r
+\r
 ################################################################################\r
 #\r
 # Components Section - list of all EDK II Modules needed by this Platform\r
   ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
   OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
+\r
+  #\r
+  # Video support\r
+  #\r
+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {\r
+    <LibraryClasses>\r
+      BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
+  }\r
+  OvmfPkg/PlatformDxe/Platform.inf\r
index 8d8ec6344129275f1b543e046a87196bc26dae58..1d20d4e1c7375fc210cf22417cb3aa4a0e256090 100644 (file)
@@ -204,6 +204,12 @@ READ_LOCK_STATUS   = TRUE
   INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
   INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
 \r
+  #\r
+  # Video support\r
+  #\r
+  INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
+  INF OvmfPkg/PlatformDxe/Platform.inf\r
+\r
 [FV.FVMAIN_COMPACT]\r
 FvAlignment        = 16\r
 ERASE_POLARITY     = 1\r