diff options
author | Michael Brown | 2015-09-04 03:26:01 +0200 |
---|---|---|
committer | Michael Brown | 2015-09-07 02:38:40 +0200 |
commit | 15a8800a984239553cbbb6629e076e98a3be7537 (patch) | |
tree | 87c62eac43dc8f06224e128625d157e5cdf94fc9 /src/include/ipxe/errfile.h | |
parent | [efi] Allow efidev_parent() to traverse multiple device generations (diff) | |
download | ipxe-15a8800a984239553cbbb6629e076e98a3be7537.tar.gz ipxe-15a8800a984239553cbbb6629e076e98a3be7537.tar.xz ipxe-15a8800a984239553cbbb6629e076e98a3be7537.zip |
[efi] Add a USB host controller driver based on EFI_USB_IO_PROTOCOL
Allow iPXE to coexist with other USB device drivers, by attaching to
the EFI_USB_IO_PROTOCOL instances provided by the UEFI platform
firmware.
The EFI_USB_IO_PROTOCOL is an unsurprisingly badly designed
abstraction of a USB device. The poor design choices intrinsic in the
UEFI specification prevent efficient operation as a network device,
with the result that devices operated using the EFI_USB_IO_PROTOCOL
operate approximately two orders of magnitude slower than devices
operated using our native EHCI or xHCI host controller drivers.
Since the performance is so abysmally slow, and since the underlying
problems are due to fundamental architectural mistakes in the UEFI
specification, support for the EFI_USB_IO_PROTOCOL host controller
driver is left as disabled by default. Users are advised to use the
native iPXE host controller drivers instead.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/errfile.h')
-rw-r--r-- | src/include/ipxe/errfile.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index 00f8f981..aff911e3 100644 --- a/src/include/ipxe/errfile.h +++ b/src/include/ipxe/errfile.h @@ -85,6 +85,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define ERRFILE_uhci ( ERRFILE_DRIVER | 0x000b0000 ) #define ERRFILE_usbhid ( ERRFILE_DRIVER | 0x000c0000 ) #define ERRFILE_usbkbd ( ERRFILE_DRIVER | 0x000d0000 ) +#define ERRFILE_usbio ( ERRFILE_DRIVER | 0x000e0000 ) #define ERRFILE_nvs ( ERRFILE_DRIVER | 0x00100000 ) #define ERRFILE_spi ( ERRFILE_DRIVER | 0x00110000 ) |