I have the same ASSERT issue on Juno platform even the EnglishDxe.inf is included to the platform build. If UefiShellLib has such dependency on the protocol then according to EDKII Module Writer's Guide you need to specify the dependency on protocol in the module .inf to ensure the drivers proper load sequence.

8.6 Dependency Expressions
A dependency expression specifies the protocols that the DXE driver requires to
execute. In EDK II, it is specified in the [Depex] section of INF file.

The following dependency in UefiShellLib.inf fixes ASSERT problem:

[Depex]
  gEfiUnicodeCollation2ProtocolGuid


Thanks,

Daniil


On 10/05/2016 11:02 AM, Shah, Tapan wrote:
It's possible. But I think gEfiUnicodeCollation2ProtocolGuid protocol is 
necessary for even other Shell libraries other than UefiShellLib in order to 
have Shell parser and other command line processing to work properly. That's 
why I added ASSERT if UefiShellLib fails to locate the protocol.
Reference platform should have EnglishDxe module to have this protocol installed properly.

   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf

-----Original Message-----
From: Carsey, Jaben [mailto:jaben.car...@intel.com]
Sent: Wednesday, October 05, 2016 10:41 AM
To: Supreeth Venkatesh <supreeth.venkat...@arm.com>; edk2-devel-01 
<edk2-devel@lists.01.org>; Shah, Tapan <tapands...@hpe.com>
Cc: Leif Lindholm <leif.lindh...@arm.com>; Carsey, Jaben 
<jaben.car...@intel.com>
Subject: RE: Assert in ShellPkg with latest tianocore edk2 source on the 
Reference Platform

Tapan,

Could this be a side effect of your patch?  Should we allow the UefiShellLib to 
continue without this protocol and then return an error only when the OpenFile 
is called?

Also, it looks like we never properly initialize mUnicodeCollationProtocol.  We 
check for NULL in Constructor, but nothing else...

-Jaben

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
Supreeth Venkatesh
Sent: Tuesday, October 04, 2016 3:51 PM
To: edk2-devel-01 <edk2-devel@lists.01.org>
Cc: Leif Lindholm <leif.lindh...@arm.com>
Subject: [edk2] Assert in ShellPkg with latest tianocore edk2 source
on the Reference Platform
Importance: High

All,

Recently, I updated to latest edk2 master (yesterday's) and I am
actually encountering assert in
ShellPkg/Library/UefiShellLib/UefiShellLib.c

if (mUnicodeCollationProtocol == NULL) {
     Status = gBS->LocateProtocol (&gEfiUnicodeCollation2ProtocolGuid,
NULL, (VOID**)&mUnicodeCollationProtocol);
     ASSERT_EFI_ERROR (Status);
   }

It was working few weeks back and has now stopped working.
It's probably because  the platform is unable to locate this protocol
"UnicodeCollationProtocol".
Is Anyone else facing the same issue?
Does the new ShellPkg requires additional packages/infs to be included
in the platform description file to work with latest changes  to get
past this error?

Thanks,
Supreeth
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose
the contents to any other person, use it for any purpose, or store or
copy the information in any medium. Thank you.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to