> On Oct 28, 2014, at 10:57 AM, Varad Gautam <[email protected]> wrote:
> 
> Hi,
> 
> I'm configuring BeagleBoneBlackPkg [1] to use
> IntelFrameworkModulePkg/Universal/BdsDxe. The build, after adding the
> dependencies hangs at [2]. What does 291:`InstallProtocolInterface:
> 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0` mean? Is HiiDatabaseDxe expecting
> a VFR form to load? Or does this indicate a missing module dependency?
> 

>From a quick `git grep` it looks like that protocol GUID is the FILE_GUID for 
>the HiiDatabaseDxe driver. The build gives a driver access to the FILE_GUID 
>via an auto generated global called gEfiCallerIdGuid. 

Thus this print is probably coming from HiiRegisterPackageNotify() calling 
gBS->InstallMultipleProtocolInterfaces(). Thus some one is calling a 
EFI_HII_DATABASE_PROTOCOL member function.

~/work/src/edk2(master)>git grep 348C4D62-BFBD-4882-9ECE-C80BB1C4783B
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf:24:  FILE_GUID         
             = 348C4D62-BFBD-4882-9ECE-C80BB1C4783B

https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c

EFI_STATUS
EFIAPI
HiiRegisterPackageNotify (
  IN  CONST EFI_HII_DATABASE_PROTOCOL   *This,
  IN  UINT8                             PackageType,
  IN  CONST EFI_GUID                    *PackageGuid,
  IN  CONST EFI_HII_DATABASE_NOTIFY     PackageNotifyFn,
  IN  EFI_HII_DATABASE_NOTIFY_TYPE      NotifyType,
  OUT EFI_HANDLE                        *NotifyHandle
  )
{
  HII_DATABASE_PRIVATE_DATA           *Private;
  HII_DATABASE_NOTIFY                 *Notify;
  EFI_STATUS                          Status;

  if (This == NULL || NotifyHandle == NULL) {
    return EFI_INVALID_PARAMETER;
  }
  if ((PackageType == EFI_HII_PACKAGE_TYPE_GUID && PackageGuid == NULL) ||
      (PackageType != EFI_HII_PACKAGE_TYPE_GUID && PackageGuid != NULL)) {
    return EFI_INVALID_PARAMETER;
  }

  Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);

  //
  // Allocate a notification node
  //
  Notify = (HII_DATABASE_NOTIFY *) AllocateZeroPool (sizeof 
(HII_DATABASE_NOTIFY));
  if (Notify == NULL) {
    return EFI_OUT_OF_RESOURCES;
  }

  //
  // Generate a notify handle
  //
  Status = gBS->InstallMultipleProtocolInterfaces (
                  &Notify->NotifyHandle,
                  &gEfiCallerIdGuid,
                  NULL,
                  NULL
                  );
  ASSERT_EFI_ERROR (Status);

  //
  // Fill in the information to the notification node
  //
  Notify->Signature       = HII_DATABASE_NOTIFY_SIGNATURE;
  Notify->PackageType     = PackageType;
  Notify->PackageGuid     = (EFI_GUID *) PackageGuid;
  Notify->PackageNotifyFn = (EFI_HII_DATABASE_NOTIFY) PackageNotifyFn;
  Notify->NotifyType      = NotifyType;

  InsertTailList (&Private->DatabaseNotifyList, &Notify->DatabaseNotifyEntry);
  *NotifyHandle = Notify->NotifyHandle;

  return EFI_SUCCESS;
}


Thanks,

Andrew Fish

> [1] 
> https://github.com/varadgautam/edk2/tree/kern/TexasInstrumentsPkg/BeagleBoneBlackPkg
> [2] http://fpaste.org/145882/14517581/
> 
> Thanks,
> Varad
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to