diff options
author | Michael Brown | 2015-05-11 16:42:54 +0200 |
---|---|---|
committer | Michael Brown | 2015-05-12 16:53:22 +0200 |
commit | 372672275e48a7f0fcd058476bd742bf950e4074 (patch) | |
tree | e4d781c7be57583d93aaac215c0fa5e01bd89d34 /src/config | |
parent | [usb] Add generic USB human interface device (HID) framework (diff) | |
download | ipxe-372672275e48a7f0fcd058476bd742bf950e4074.tar.gz ipxe-372672275e48a7f0fcd058476bd742bf950e4074.tar.xz ipxe-372672275e48a7f0fcd058476bd742bf950e4074.zip |
[usb] Add basic support for USB keyboards
When USB network card drivers are used, the BIOS' legacy USB
capability is necessarily disabled since there is no way to share the
host controller between the BIOS and iPXE. This currently results in
USB keyboards becoming non-functional in USB-enabled builds of iPXE.
Fix by adding basic support for USB keyboards, enabled by default in
iPXE builds which include USB support.
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/pcbios.h | 1 | ||||
-rw-r--r-- | src/config/usb.h | 6 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/config/config_usb.c b/src/config/config_usb.c index 9c9305d7..dc0e6e6a 100644 --- a/src/config/config_usb.c +++ b/src/config/config_usb.c @@ -43,3 +43,10 @@ REQUIRE_OBJECT ( ehci ); #ifdef USB_HCD_UHCI REQUIRE_OBJECT ( uhci ); #endif + +/* + * Drag in USB peripherals + */ +#ifdef USB_KEYBOARD +REQUIRE_OBJECT ( usbkbd ); +#endif diff --git a/src/config/defaults/pcbios.h b/src/config/defaults/pcbios.h index dfd3e2f8..4ad81210 100644 --- a/src/config/defaults/pcbios.h +++ b/src/config/defaults/pcbios.h @@ -39,6 +39,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #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_KEYBOARD /* USB keyboards */ #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 0181c50e..52e82eaa 100644 --- a/src/config/usb.h +++ b/src/config/usb.h @@ -19,6 +19,12 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); //#undef USB_HCD_EHCI /* EHCI USB host controller */ //#undef USB_HCD_UHCI /* UHCI USB host controller */ +/* + * USB peripherals + * + */ +//#undef USB_KEYBOARD /* USB keyboards */ + #include <config/named.h> #include NAMED_CONFIG(usb.h) #include <config/local/usb.h> |