loader: efi multiboot2 update
Implement basic multiboot2 bits for efi loader. Note, we still do not enable automatic efi build.
Since with UEFI firmware the firmware is owning the resources till boot services are switched off, the basic principle is to use efi memory allocation to support the loading of the kernel and modules, as well as support structures. Once the loading is done and we go for boot, we build the multi boot info as usual, prepare the info block for relocation; switch off the boot services to get an access for memory and jump to trampoline.
The trampoline has 2 tasks to perform - first, based on relocation info block, it has to copy the data to the final locations (kernel, modules on page boundaries, the MBI), then we switch from 64bit mode to 32-bit mode and jump to kernel dboot as usual.
Updated by Electric Monk almost 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
git commit f9feecc12f00b97b49d542398fb3b5a452da0bbc
commit f9feecc12f00b97b49d542398fb3b5a452da0bbc Author: Toomas Soome <email@example.com> Date: 2017-08-30T18:18:41.000Z 8139 loader: efi multiboot2 update Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Approved by: Richard Lowe <email@example.com>