public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Carsey, Jaben" <jaben.carsey@intel.com>
To: GN Keshava <keshava.gn@gmail.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Carsey, Jaben" <jaben.carsey@intel.com>
Subject: Re: LocateHandle for gEfiShellProtocolGuid is failing in my application
Date: Wed, 28 Dec 2016 14:56:19 +0000	[thread overview]
Message-ID: <CB6E33457884FA40993F35157061515C54B31495@FMSMSX103.amr.corp.intel.com> (raw)
In-Reply-To: <CABKwMdtTungxaJp95BiJ1DZpK62m5eoREgNw6_W_mTdDiqQBdA@mail.gmail.com>

ShellBinPkg should be the right location to get a UEFI Shell from (for the record the EdkShellBinPkg would be the old version).

If you do "ver -s" the ourput will provide additional version information about the shell itself.

Have you updated your git version recently?

-Jaben

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> GN Keshava
> Sent: Tuesday, December 27, 2016 8:16 PM
> To: Carsey, Jaben <jaben.carsey@intel.com>; edk2-devel@lists.01.org
> Subject: Re: [edk2] LocateHandle for gEfiShellProtocolGuid is failing in my
> application
> Importance: High
> 
> Thanks a lot for the help, Jaben.
> 
> *>>Maybe it is EDK Shell and not UEFI Shell?*
> How I can understand if it is EDK shell or UEFI shell?
> (I'm using *UEFI x86 Shell *or *MinShell *from
> efi\MyWorkSpace\ShellBinPkg\
> directory). Is it OK to use this?
> Is it possible for you to give me an UEFI shell binary for x86 (Intel i5
> 3470), so that I can try it right away?
> 
> *>>I wonder if the firmware supplier is using an older version of the shell
> binary?*
> For Intel i5 3470, how to check what is the firmware version?
> 
> Thanks again.
> Regards,
> Keshava GN
> 
> On Wed, 28 Dec 2016 at 04:58 Carsey, Jaben <jaben.carsey@intel.com>
> wrote:
> 
> > I wonder if the firmware supplier is using an older version of the shell
> > binary?  Maybe it is EDK Shell and not UEFI Shell?  I am unsure how to fix
> > the issue.
> >
> > -Jaben
> >
> > > -----Original Message-----
> > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> > > GN Keshava
> > > Sent: Thursday, December 22, 2016 8:07 PM
> > > To: Carsey, Jaben <jaben.carsey@intel.com>; edk2-devel@lists.01.org
> > > Subject: Re: [edk2] LocateHandle for gEfiShellProtocolGuid is failing in
> > my
> > > application
> > > Importance: High
> > >
> > > Hi Jaben,
> > >
> > > Version is 2.31... Revision is 4.653
> > >
> > > Thanks.
> > > Regards,
> > > Keshava
> > >
> > > On Thu, 22 Dec 2016 at 22:26 Carsey, Jaben <jaben.carsey@intel.com>
> > wrote:
> > >
> > > > That function is not in the shell library.
> > > >
> > > >
> > > >
> > > > LocateHandle would be useful is you wanted to find the image handle
> for
> > > > the shell binary whereas LocaetProtocol would be just getting a
> > pointer to
> > > > the protocol.
> > > >
> > > >
> > > >
> > > > Which version of the UEFI Shell are you using?  (what does “ver”
> > command
> > > > say)
> > > >
> > > >
> > > >
> > > > -Jaben
> > > >
> > > >
> > > >
> > > > *From:* GN Keshava [mailto:keshava.gn@gmail.com]
> > > > *Sent:* Thursday, December 22, 2016 2:07 AM
> > > > *To:* Carsey, Jaben <jaben.carsey@intel.com>; edk2-
> devel@lists.01.org
> > > > *Subject:* Re: [edk2] LocateHandle for gEfiShellProtocolGuid is failing
> > > > in my application
> > > > *Importance:* High
> > > >
> > > >
> > > >
> > > > Hi Jaben and Andrew, Thanks for the replies. Here's a small update.
> > > >
> > > >
> > > >
> > > > I tried using *LocateProtocol*, and I get "*Status Not Found*" (%r
> > would
> > > > print "Status Not Found").
> > > >
> > > > I'm getting the same error status for *LocateHandle *too. I'm using
> > > > *BufferSize=0* and *Buffer=NULL* for getting the BufferSize.
> > > >
> > > > What this would mean? Is there any specific requirement my
> application
> > > > should meet, to use ShellProtocol? Or, as I mentioned in previous
> > mail, I
> > > > want to use GetMapFromDevicePath function. Is there any alternate
> way
> > > to do
> > > > it?
> > > >
> > > >
> > > >
> > > > Thanks for your help.
> > > >
> > > > Regards,
> > > >
> > > > Keshava
> > > >
> > > >
> > > >
> > > > On Thu, 22 Dec 2016 at 15:01 GN Keshava <keshava.gn@gmail.com>
> wrote:
> > > >
> > > > Hi Jaben,
> > > >
> > > >
> > > >
> > > > *>> Is there a reason that you are not using ShellLib to facilitate
> > your
> > > > app functionality?  That library makes lots of things a lot easier.*
> > > >
> > > >
> > > >
> > > > I want to use EFI_SHELL_PROTOCOL->*GetMapFromDevicePath* in my
> > > app. Is
> > > > there any way to use it using ShellLib ?
> > > >
> > > >
> > > >
> > > > *>> Why do you use LocateHandle and not LocateProtocol?*
> > > >
> > > >
> > > >
> > > > Got LocateHandle in my reference. I would like to know more about
> > > > difference and usage of these in different scenario.
> > > >
> > > >
> > > >
> > > > *>> Are you running the UEFI Shell and then your application?*
> > > >
> > > >
> > > >
> > > > Yes. I'm running my application from UEFI shell as :
> > > >
> > > >
> > > >
> > > > *fs1:\> MyApp.exe Arg1 Arg2*
> > > >
> > > >
> > > >
> > > > Thanks for the help..
> > > >
> > > >
> > > >
> > > > Regards,
> > > >
> > > > Keshava
> > > >
> > > >
> > > >
> > > > On Thu, 22 Dec 2016 at 00:06 Carsey, Jaben <jaben.carsey@intel.com>
> > > wrote:
> > > >
> > > > Hi Keshava,
> > > >
> > > > few questions:
> > > > Is there a reason that you are not using ShellLib to facilitate your
> > app
> > > > functionality?  That library makes lots of things a lot easier.
> > > > Why do you use LocateHandle and not LocateProtocol?
> > > > Are you sure about that return code?  Usually most-sig-bit is set for
> > > > error returns.
> > > >
> > > > Does the following snippet of code find a valid instance?
> > > >
> > > >     Status = gBS->LocateProtocol(
> > > >       &gEfiShellProtocolGuid,
> > > >       NULL,
> > > >       (VOID **)&gEfiShellProtocol
> > > >      );
> > > >     if (EFI_ERROR(Status)) {
> > > >       gEfiShellProtocol = NULL;
> > > >     }
> > > >
> > > > Are you running the UEFI Shell and then your application?
> > > >
> > > >
> > > > -Jaben
> > > >
> > > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On
> Behalf
> > Of
> > > > > GN Keshava
> > > > > Sent: Tuesday, December 20, 2016 11:32 PM
> > > > > To: edk2-devel@lists.01.org
> > > > > Subject: [edk2] LocateHandle for gEfiShellProtocolGuid is failing in
> > my
> > > > > application
> > > > > Importance: High
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm developing a shell application. A call to LocateHandle for
> > > > > gEfiShellProtocolGuid is failing with Status 0x0E.
> > > > >
> > > > > Below is my code. Please let me know what I'm doing wrong.
> > > > >
> > > > > Status = gBS->LocateHandle(ByProtocol, &gEfiShellProtocolGuid,
> NULL,
> > > > > &BufferSize, Buffer); // Get BufferSize
> > > > > if (EFI_ERROR(Status))
> > > > > Print(L"LocateHandle Status 0x%x\n",Status);
> > > > >
> > > > > Status = gBS->AllocatePool(EfiBootServicesData, BufferSize,
> > > > > (void**)&Buffer);
> > > > > if (EFI_ERROR(Status))
> > > > > Print(L"AllocatePool Status 0x%x\n",Status);
> > > > >
> > > > > Status = gBS->LocateHandle(ByProtocol, &gEfiShellProtocolGuid,
> NULL,
> > > > > &BufferSize, Buffer);
> > > > > if (EFI_ERROR(Status))
> > > > > Print(L"LocateHandle Status 0x%x\n",Status);
> > > > >
> > > > > All calls failing with Status being 0x0E. Please help me to solve
> > this.
> > > > Is
> > > > > there any special requirement for using this protocol?
> > > > >
> > > > > Thanks.
> > > > > Regards,
> > > > > Keshava
> > > > > _______________________________________________
> > > > > 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	other threads:[~2016-12-28 14:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-21  7:32 LocateHandle for gEfiShellProtocolGuid is failing in my application GN Keshava
2016-12-21 18:36 ` Carsey, Jaben
2016-12-22  9:35   ` GN Keshava
2016-12-22 10:07     ` GN Keshava
2016-12-22 16:56       ` Carsey, Jaben
2016-12-23  4:06         ` GN Keshava
2016-12-27 23:28           ` Carsey, Jaben
2016-12-28  4:16             ` GN Keshava
2016-12-28 14:56               ` Carsey, Jaben [this message]
2016-12-21 18:59 ` Andrew Fish
2016-12-21 19:13 ` Andrew Fish
2016-12-22  2:00   ` GN Keshava

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CB6E33457884FA40993F35157061515C54B31495@FMSMSX103.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox