ArmVirtualizationPkg/ArmVirtualizationQemu: add USB keyboard input

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
This commit is contained in:
Laszlo Ersek 2015-02-23 16:04:30 +00:00 committed by lersek
parent d01c77bb47
commit e17b1db501
3 changed files with 33 additions and 2 deletions

View File

@ -104,6 +104,9 @@
PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
PciExpressLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf PciExpressLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
# USB Libraries
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
[LibraryClasses.common.SEC] [LibraryClasses.common.SEC]
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf

View File

@ -130,13 +130,25 @@
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0 gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0
# #
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut) # Use the serial console (ConIn & ConOut), the USB keyboard (ConIn), and the
# Graphic driver (ConOut).
# #
# For the PCI VGA device path to work, you must start QEMU with the option # For the PCI VGA device path to work, you must start QEMU with the option
# '-device VGA,addr=01.0' (see "Pci(0x1,0x0)"). # '-device VGA,addr=01.0' (see "Pci(0x1,0x0)").
# #
# For the USB keyboard device path to work, the following QEMU options are
# needed (see "docs/usb2.txt" and "docs/ich9-ehci-uhci.cfg"):
#
# -device ich9-usb-ehci1,multifunction=on,addr=1d.7,id=ehci
# -device ich9-usb-uhci1,multifunction=on,addr=1d.0,masterbus=ehci.0,firstport=0
# -device ich9-usb-uhci2,multifunction=on,addr=1d.1,masterbus=ehci.0,firstport=2
# -device ich9-usb-uhci3,multifunction=on,addr=1d.2,masterbus=ehci.0,firstport=4
# -device usb-kbd,bus=ehci.0
#
# Note the match between addr=1d.7 and Pci(0x1D,0x7).
#
gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1,0x0)/AcpiAdr(0x80010100)" gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1,0x0)/AcpiAdr(0x80010100)"
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()" gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1D,0x7)/USB(0x0,0x0)"
gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3 gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3
# #
@ -339,3 +351,11 @@
BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
} }
OvmfPkg/PlatformDxe/Platform.inf OvmfPkg/PlatformDxe/Platform.inf
#
# USB Support
#
MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf

View File

@ -210,6 +210,14 @@ READ_LOCK_STATUS = TRUE
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
INF OvmfPkg/PlatformDxe/Platform.inf INF OvmfPkg/PlatformDxe/Platform.inf
#
# USB Support
#
INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
[FV.FVMAIN_COMPACT] [FV.FVMAIN_COMPACT]
FvAlignment = 16 FvAlignment = 16
ERASE_POLARITY = 1 ERASE_POLARITY = 1