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

Reply via email to