Project

General

Profile

Feature #8139

loader: efi multiboot2 update

Added by Toomas Soome over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
2017-05-01
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

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.

History

#1

Updated by Electric Monk over 2 years ago

  • % Done changed from 90 to 100
  • Status changed from In Progress to Closed

git commit f9feecc12f00b97b49d542398fb3b5a452da0bbc

commit  f9feecc12f00b97b49d542398fb3b5a452da0bbc
Author: Toomas Soome <tsoome@me.com>
Date:   2017-08-30T18:18:41.000Z

    8139 loader: efi multiboot2 update
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF