[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>
This commit is contained in:
Michael Brown
2015-09-10 17:22:03 +01:00
parent 668dc73d52
commit 5df081d6c0
6 changed files with 1409 additions and 5 deletions

View File

@@ -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

View File

@@ -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 */

View File

@@ -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)