On Mar 4, 2013, at 2:43 AM, "Cohen Nehemia, Eli" <[email protected]>
wrote:
> Hello there,
> I have quite an unusual question and I was hoping to get an answer from the
> community:
>
> I work with an ICE device to debug and control firmware, usually when UEFI
> Shell is loaded. Sometimes there is a need to request an UEFI service (e.g.
> allocate some memory) but since the session is out of UEFI context, I do not
> have a pointer to boot services (gBS) or runtime services.
>
> How can I work around this to obtain boot services or runtime services
> pointers?
> Is there a table in a predefined location? I bet OS have a similar method to
> 'communicate' with UEFI to request such services.
>
The OS has no need for a predefined location. The OS loader is an EFI
application so it gets passed a pointer to the EFI_SYSTEM_TABLE. The
EFI_SYSTEM_TABLE has pointers to the EFI boot and runtime services, as well as
the EFI_CONFIGURATION_TABLE. The EFI_CONFIGURATION_TALBE has pointers to things
like SMBIOS, ACPI, and etc.
The debugger is the only one who needs to lookup this kind of information. You
will find the information you need in the Debugger Support protocol chapter,
under Debug Support Table.
Thanks,
Andrew Fish
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel