audk/ArmPkg/Library
Ard Biesheuvel 0ae52d4fd1 ArmPkg/PlatformBootManagerLib: connect non-discoverable USB hosts
The way the BDS handles the short-form USB device path of the console
keyboard relies on USB host controllers to be locatable via their PCI
metadata, which implies that these controllers already have a PCI I/O
protocol installed on their handle.

This is not the case for non-discoverable USB host controllers that are
supported by the NonDiscoverable PCI device driver. These controllers
must be connected first, or the BDS will never notice their existence,
and will not enable any USB keyboards connected through them.

Let's work around this by connecting these handles explicitly. This is
a bit of a stopgap, but it is the cleanest way of dealing with this
without violating the UEFI driver model entirely. This ensures that
platforms that do not rely on ConnectAll() will keep working as
expected.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2020-06-06 07:49:42 +00:00
..
ArmArchTimerLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
ArmCacheMaintenanceLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmDisassemblerLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
ArmExceptionLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
ArmGenericTimerPhyCounterLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmGenericTimerVirtCounterLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmGicArchLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmGicArchSecLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmHvcLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmLib ArmPkg/ArmLib: Fix cache-invalidate initial page tables 2020-03-19 17:35:32 +00:00
ArmMmuLib ArmPkg/ArmMmuLib: drop unused TT_ATTR_INDX_INVALID CPP macro 2020-04-02 12:35:52 +00:00
ArmMtlNullLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmPsciResetSystemLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmSmcLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
ArmSmcLibNull ArmPkg: convert LFs to CRLF, expand hard TABs 2020-03-04 12:22:07 +00:00
ArmSmcPsciResetSystemLib ArmPkg/ArmSmcPsciResetSystemLib: remove EnterS3WithImmediateWake () 2020-01-14 22:12:17 +00:00
ArmSoftFloatLib ArmPkg: convert LFs to CRLF, expand hard TABs 2020-03-04 12:22:07 +00:00
ArmSvcLib ArmPkg/ArmSvcLib: prevent speculative execution beyond svc 2020-06-05 08:05:03 +00:00
CompilerIntrinsicsLib ArmPkg/CompilerIntrinsicsLib: provide atomics intrinsics 2020-06-02 07:05:21 +00:00
DebugAgentSymbolsBaseLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
DebugPeCoffExtraActionLib ArmPkg: DebugPeCoffExtraActionLib: fix trivial comment typos 2019-07-30 14:58:17 +01:00
DefaultExceptionHandlerLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
GccLto ArmPkg: convert LFs to CRLF, expand hard TABs 2020-03-04 12:22:07 +00:00
OpteeLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
PeiServicesTablePointerLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
PlatformBootManagerLib ArmPkg/PlatformBootManagerLib: connect non-discoverable USB hosts 2020-06-06 07:49:42 +00:00
RvdPeCoffExtraActionLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
SemiHostingDebugLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
SemiHostingSerialPortLib ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
SemihostLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00
StandaloneMmMmuLib ArmPkg: Replace BSD License with BSD+Patent License 2019-04-09 09:10:21 -07:00