audk/ArmPkg
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
..
Drivers ArmPkg/MmCommunicationDxe: expose MM Communicate 2 protocol 2020-05-12 19:23:44 +00:00
Filesystem/SemihostFs ArmPkg: Fix various typos 2019-07-04 12:20:28 +01:00
Include ArmPkg/CpuDxe: move PageAttributeToGcdAttribute() out of ArmMmuLib 2020-04-02 12:35:52 +00:00
Library ArmPkg/PlatformBootManagerLib: connect non-discoverable USB hosts 2020-06-06 07:49:42 +00:00
ArmPkg.dec ArmPkg/ArmSmcPsciResetSystemLib: remove EnterS3WithImmediateWake () 2020-01-14 22:12:17 +00:00
ArmPkg.dsc ArmPkg/ArmPkg.dsc: set terminal type PCD to the right value 2020-06-03 21:28:33 +00:00