elilo is not in spec comliance with eif boot services call ExitBootServices()
this is preventing some new efi 2.2 platforms from booting linux successfully
The directive for the efi ExitBootServices call has been changed from 1.02 which elilo was originally developed against. It used to suggest defering the get_memmap call until immediately before the ExitBootServices call. elilo did that as part of building boot params. The spec now dictates that bootloaders must check the error status of ExitBootServices and retry if the memory map key is invalid (memory map has changed outside of elilo via another efi driver.) and so elilo must now get the new memmap, rebuild boot params and retry. Elilo.c has been patched to accommodate this.
patch developed, tested fine, will prompt 3.12 release
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The directive for the efi ExitBootServices call has been changed from 1.02 which elilo was originally developed against. It used to suggest defering the get_memmap call until immediately before the ExitBootServices call. elilo did that as part of building boot params. The spec now dictates that bootloaders must check the error status of ExitBootServices and retry if the memory map key is invalid (memory map has changed outside of elilo via another efi driver.) and so elilo must now get the new memmap, rebuild boot params and retry. Elilo.c has been patched to accommodate this.
patch developed, tested fine, will prompt 3.12 release
Fixed in 3.12
* Fixed bug 2825044 ExitBootServices error handling, correctly deal
with changed memory map key if memory map changes from under elilo.