On 07/24/13 01:36, Andrew Fish wrote:
> EFI requests mappings for physical address ranges in the memory map by
> setting the attribute bit EFI_MEMORY_RUNTIME. The OS (or loader
> depending on the OS design), after ExitBootServices() calls
> SetVirtualAddressMap() to provide the firmware with the virtual mapping
> for the physical address ranges. Prior to the SetVirtualAddressMap() EFI
> Runtime Services are only called in physical mode, after
>  SetVirtualAddressMap() runtime services may only be called in virtual mode.
> 
> You can read up on this in the UEFI 2.4 spec.

I was recently thinking about this (my first (and to time, only)
encounter has been svn r14425) -- how do you convert an array that's
bigger than one page?

The base pointer can be converted, but code using the array assumes the
array is contiguous in address space (by way of the subscript operator
[]), which may not be true for virtual addresses if the array is bigger
than one page.

One of Matthew Garrett's presentations mentioned this problem/question
IIRC... Apologies if it has come up before on the list, I can't remember
the answer.

Thanks!
Laszlo

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to