]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmVirtualizationPkg/ArmVirtualizationQemu: add USB keyboard input
authorLaszlo Ersek <lersek@redhat.com>
Mon, 23 Feb 2015 16:04:30 +0000 (16:04 +0000)
committerlersek <lersek@Edk2>
Mon, 23 Feb 2015 16:04:30 +0000 (16:04 +0000)
Similarly to the previous patch, we can now multiplex input from the USB
keyboard.

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@16914 6f19259b-4bc3-4df7-8a09-765794883524

ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf

index 70b14fbad51432b1ff80ee7312cc5c5ab7574680..a1e10d7d79cb69b88fba35362c1445d82f98d458 100644 (file)
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
   PciExpressLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf\r
 \r
+  # USB Libraries\r
+  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
+\r
 [LibraryClasses.common.SEC]\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
index 03e7de9fb0039156b09a170d92715f0d06d0857b..d3384a7dc1b355d738cfb1a96a8ee020d5fa0205 100644 (file)
   gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0\r
 \r
   #\r
-  # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
+  # Use the serial console (ConIn & ConOut), the USB keyboard (ConIn), and the\r
+  # Graphic driver (ConOut).\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
+  # For the USB keyboard device path to work, the following QEMU options are\r
+  # needed (see "docs/usb2.txt" and "docs/ich9-ehci-uhci.cfg"):\r
+  #\r
+  # -device ich9-usb-ehci1,multifunction=on,addr=1d.7,id=ehci\r
+  # -device ich9-usb-uhci1,multifunction=on,addr=1d.0,masterbus=ehci.0,firstport=0\r
+  # -device ich9-usb-uhci2,multifunction=on,addr=1d.1,masterbus=ehci.0,firstport=2\r
+  # -device ich9-usb-uhci3,multifunction=on,addr=1d.2,masterbus=ehci.0,firstport=4\r
+  # -device usb-kbd,bus=ehci.0\r
+  #\r
+  # Note the match between addr=1d.7 and Pci(0x1D,0x7).\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.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1D,0x7)/USB(0x0,0x0)"\r
   gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
 \r
   #\r
       BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
   }\r
   OvmfPkg/PlatformDxe/Platform.inf\r
+\r
+  #\r
+  # USB Support\r
+  #\r
+  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
+  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
index 1d20d4e1c7375fc210cf22417cb3aa4a0e256090..83f06d93ba5b013418c9179827badee12d779302 100644 (file)
@@ -210,6 +210,14 @@ READ_LOCK_STATUS   = TRUE
   INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
   INF OvmfPkg/PlatformDxe/Platform.inf\r
 \r
+  #\r
+  # USB Support\r
+  #\r
+  INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
+  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+  INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
+  INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
+\r
 [FV.FVMAIN_COMPACT]\r
 FvAlignment        = 16\r
 ERASE_POLARITY     = 1\r