[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC] EFI: allow retry of ExitBootServices() call



>>> On 17.11.14 at 14:49, <konrad.wilk@xxxxxxxxxx> wrote:
> On Mon, Nov 17, 2014 at 01:35:17PM +0000, Jan Beulich wrote:
>> >>> On 14.11.14 at 16:32, <konrad.wilk@xxxxxxxxxx> wrote:
>> > On Fri, Nov 14, 2014 at 12:37:30PM +0000, Jan Beulich wrote:
>> >> The specification is kind of vague under what conditions
>> >> ExitBootServices() may legitimately fail, requiring the OS loader to
>> >> retry:
>> >> 
>> >> "If MapKey value is incorrect, ExitBootServices() returns
>> >>  EFI_INVALID_PARAMETER and GetMemoryMap() with ExitBootServices() must
>> >>  be called again. Firmware implementation may choose to do a partial
>> >>  shutdown of the boot services during the first call to
>> >>  ExitBootServices(). EFI OS loader should not make calls to any boot
>> >>  service function other then GetMemoryMap() after the first call to
>> >>  ExitBootServices()."
>> >> 
>> >> While our code guarantees the map key to be valid, there are systems
>> >> where a firmware internal notification sent while processing
>> >> ExitBootServices() reportedly results in changes to the memory map.
>> > 
>> > s/reportedly/in fact/
>> >> In that case, make a best effort second try: Avoid any boot service
>> >> calls other than the two named above, with the possible exception of
>> >> error paths. Those aren't a problem, since if we end up needing to
>> >> retry, we're hosed when something goes wrong as much as if we didn't
>> >> make the retry attempt.
>> >> 
>> >> For x86, a minimal adjustment to efi_arch_process_memory_map() is
>> >> needed for it to cope with potentially being called a second time.
>> > 
>> > Wow. Talk about timing. We saw this and were going to see
>> > doing something similar.
>> 
>> So what are your thoughts then regarding this patch going into 4.5?
> 
> Definitly should go in - and I would even say backport to earlier
> versions of Xen.

Sure, backporting was planned anyway.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.