]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: include XHCI driver
authorLaszlo Ersek <lersek@redhat.com>
Mon, 16 Mar 2015 19:57:34 +0000 (19:57 +0000)
committerlersek <lersek@Edk2>
Mon, 16 Mar 2015 19:57:34 +0000 (19:57 +0000)
QEMU commit aa685789 ("xhci: generate a Transfer Event for each Transfer
TRB with the IOC bit set") fixed an emulation problem in QEMU; we can now
drive that host controller with edk2's XhciDxe. Include it in OvmfPkg, as
XHCI emulation is reportedly more virtualization-friendly than EHCI,
consuming less CPU.

The driver can be tested with the following QEMU command line options:

  -device nec-usb-xhci -device usb-kbd

This patch should not regress existing QEMU command lines (ie. trigger an
ASSERT() in XhciDxe that fails on pre-aa685789 QEMU) because QEMU's
"-device nec-usb-xhci" has never before resulted in USB devices that
worked with edk2 firmware builds, hence users have never had a reason to
add that option.

Now that they learn about XHCI support in OVMF by reading this commit
message, they (or their packagers) will also know to update qemu to
aa685789 or later (in practice that means the upcoming 2.3 release), at
least if they want to use '-device nec-usb-xhci' with edk2, for the first
time ever.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Alexander Graf <agraf@suse.de>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17055 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32.fdf
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgIa32X64.fdf
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/OvmfPkgX64.fdf

index 1f43f7d31f737e9138a68c363f9956819fe3b419..6b0ffc68dda049f04995178eab4bcdc7a8962229 100644 (file)
   #\r
   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
index ecef963d1e8504241a6dc3a8a284efb4093b3dc1..cc70bb782ec10629dda2dc269eeb128e62786fff 100644 (file)
@@ -334,6 +334,7 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
 #\r
 INF  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
 INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+INF  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
index 21393ebb52ba6b95b073442a58b4b3a35230fb47..d89a2978561eef9192183781a0a467f51289a353 100644 (file)
   #\r
   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
index 29414ff04082dde8f38af0d1bebbaedff91c6f31..7256ff33810cf1af54b46be2925af9517be8a9a4 100644 (file)
@@ -334,6 +334,7 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
 #\r
 INF  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
 INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+INF  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
index 25a3ee52ed56cd3741fc63d24522a6a38fdff03f..6b7aea7cd0bcba772af4a9119ebad95f4a0e8f93 100644 (file)
   #\r
   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
index f1feb698ba661787a3384361d4c822fe0811c8fa..80fd8277dd84224afe4e554551fb6d9bccd24232 100644 (file)
@@ -334,6 +334,7 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
 #\r
 INF  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
 INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
+INF  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
 INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r