diff options
author | Michael Brown | 2015-09-10 18:22:03 +0200 |
---|---|---|
committer | Michael Brown | 2015-09-14 23:11:37 +0200 |
commit | 5df081d6c039924506c07c0c7a2cf7e2c699709f (patch) | |
tree | be5be151ecfc2372a1267372215dc49f3ca67340 /src/config | |
parent | [usb] Allow for wildcard USB class IDs (diff) | |
download | ipxe-5df081d6c039924506c07c0c7a2cf7e2c699709f.tar.gz ipxe-5df081d6c039924506c07c0c7a2cf7e2c699709f.tar.xz ipxe-5df081d6c039924506c07c0c7a2cf7e2c699709f.zip |
[efi] Expose unused USB devices via EFI_USB_IO_PROTOCOL
Allow the UEFI platform firmware to provide drivers for unrecognised
devices, by exposing our own implementation of EFI_USB_IO_PROTOCOL.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/config_usb.c | 7 | ||||
-rw-r--r-- | src/config/defaults/efi.h | 5 | ||||
-rw-r--r-- | src/config/usb.h | 16 |
3 files changed, 23 insertions, 5 deletions
diff --git a/src/config/config_usb.c b/src/config/config_usb.c index 4e5843b9..17296d27 100644 --- a/src/config/config_usb.c +++ b/src/config/config_usb.c @@ -53,3 +53,10 @@ REQUIRE_OBJECT ( usbio ); #ifdef USB_KEYBOARD REQUIRE_OBJECT ( usbkbd ); #endif + +/* + * Drag in USB external interfaces + */ +#ifdef USB_EFI +REQUIRE_OBJECT ( efi_usb ); +#endif diff --git a/src/config/defaults/efi.h b/src/config/defaults/efi.h index cdf41c54..502bef1d 100644 --- a/src/config/defaults/efi.h +++ b/src/config/defaults/efi.h @@ -26,6 +26,11 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define IMAGE_EFI /* EFI image support */ #define IMAGE_SCRIPT /* iPXE script image support */ +#define USB_HCD_XHCI /* xHCI USB host controller */ +#define USB_HCD_EHCI /* EHCI USB host controller */ +#define USB_HCD_UHCI /* UHCI USB host controller */ +#define USB_EFI /* Provide EFI_USB_IO_PROTOCOL interface */ + #define REBOOT_CMD /* Reboot command */ #define CPUID_CMD /* x86 CPU feature detection command */ diff --git a/src/config/usb.h b/src/config/usb.h index 6d80e7f6..d2519d87 100644 --- a/src/config/usb.h +++ b/src/config/usb.h @@ -15,16 +15,22 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * USB host controllers (all enabled by default) * */ -//#undef USB_HCD_XHCI /* xHCI USB host controller */ -//#undef USB_HCD_EHCI /* EHCI USB host controller */ -//#undef USB_HCD_UHCI /* UHCI USB host controller */ -//#define USB_HCD_USBIO /* Very slow EFI USB host controller */ +//#undef USB_HCD_XHCI /* xHCI USB host controller */ +//#undef USB_HCD_EHCI /* EHCI USB host controller */ +//#undef USB_HCD_UHCI /* UHCI USB host controller */ +//#define USB_HCD_USBIO /* Very slow EFI USB host controller */ /* * USB peripherals * */ -//#undef USB_KEYBOARD /* USB keyboards */ +//#undef USB_KEYBOARD /* USB keyboards */ + +/* + * USB external interfaces + * + */ +//#undef USB_EFI /* Provide EFI_USB_IO_PROTOCOL interface */ #include <config/named.h> #include NAMED_CONFIG(usb.h) |