> On Dec 22, 2014, at 2:09 AM, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: > > Hello, > > An issue has come up while developing the EFI support for the arm64 > linux kernel, in particular the support for kexec which requires > changes with respect to how we handle the virtual to physical mapping > of runtime services. > > My question is: is it legal for SetVirtualAddressMap() [which is > called using a 1:1 mapping as per the spec] to already dereference > those virtual addresses before it returns itself? My assumption would > be no, as it would require two mappings to be active at the same time, > implying that those mappings should never overlap. However, the spec > is not explicit about this in the text,
It is hard for the spec to tell you what not to do as the surface are of that is very large, the spec focus on telling you what is required. > so I am seeking confirmation > of this. > The contract is SetVirtualAddressMap() is called 1:1, and after it returns all subsequent runtime calls will be made with the virtual mapping. The virtual mappings are for code and data. While there are events for RT drivers to fixup any stored pointers, the SetVirtualAddressMap() code actually re-applies PE/COFF fixups for the virtual mapping for all the runtime functions so that they can be called at their virtual address. Thanks, Andrew Fish > Any and all comments appreciated, > > Kind regards, > Ard Biesheuvel > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel