[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC] EFI: allow retry of ExitBootServices() call
>>> 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? And for the LIST_POISON* override one? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |