summaryrefslogtreecommitdiff
path: root/ArmVirtPkg
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-10-15 17:39:44 +0200
committerLaszlo Ersek <lersek@redhat.com>2016-10-15 19:02:31 +0200
commit5b54c92a6537a9b8650c054348702909c5f57f4f (patch)
tree12bf86c6f205b4c59b3f367d8c62bdd12a86269c /ArmVirtPkg
parentad9448408a5d2863db4aa2cb5d1f0d4a27689528 (diff)
downloadedk2-platforms-5b54c92a6537a9b8650c054348702909c5f57f4f.tar.xz
ArmVirtPkg: undo bogus component name and driver diagnostics disablement
The entry point function of any UEFI_DRIVER that conforms to the UEFI driver model must install an instance of the EFI_DRIVER_BINDING_PROTOCOL on the image handle. Beyond that, the following protocols are optional: - EFI_COMPONENT_NAME_PROTOCOL - EFI_COMPONENT_NAME2_PROTOCOL - EFI_DRIVER_CONFIGURATION_PROTOCOL - EFI_DRIVER_CONFIGURATION2_PROTOCOL - EFI_DRIVER_DIAGNOSTICS_PROTOCOL - EFI_DRIVER_DIAGNOSTICS2_PROTOCOL The UefiLib functions - EfiLibInstallAllDriverProtocols() - EfiLibInstallAllDriverProtocols2() - EfiLibInstallDriverBindingComponentName2() are convenience helpers for such UEFI_DRIVERs. They simplify the installation of the above protocols. The UefiLib instance in "MdePkg/Library/UefiLib/UefiDriverModel.c" allows platforms to control these functions through the MdePkg feature PCDs - PcdComponentNameDisable - PcdComponentName2Disable - PcdDriverDiagnosticsDisable - PcdDriverDiagnostics2Disable If any of these PCDs are set to TRUE, then the helper functions will not install the corresponding protocol interfaces on the image handle, even if the driver passes in non-NULL protocol interfaces. In other words, at build time, a platform can forcibly prevent all drivers that employ UefiLib from producing these protocols. In ArmVirtPkg, that's what we've been doing forever, for no reason at all. This is why we haven't been seeing component and driver names from the DH, DEVICES, DRIVERS and DEVTREE shell commands, unlike in OvmfPkg. The default value for all these PCDs is FALSE, in "MdePkg/MdePkg.dec". Revert ArmVirtPkg to the sane defaults. This bug dates back to the inception of ArmVirtPkg (called ArmPlatformPkg/ArmVirtualizationPkg at the time). Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Fixes: 6f5872b1f4013f58c6d2f446d885edd6c8ea6d21 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Diffstat (limited to 'ArmVirtPkg')
-rw-r--r--ArmVirtPkg/ArmVirt.dsc.inc4
1 files changed, 0 insertions, 4 deletions
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index c624b3cdbe..c071988ad8 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -254,10 +254,6 @@
[PcdsFeatureFlag.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
- gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
- gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
- gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
- gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
#
# Control what commands are supported from the UI