Project

General

Profile

Actions

Bug #14060

closed

loader.efi: multiboot2_exec() should fall back to use module load address

Added by Toomas Soome 19 days ago. Updated 13 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

UEFI loader does read modules to temporary location and once boot services are switched off, it will try to find final location for module. With fragmented memory map, it may happen, the new location is offered above 4GB memory line. Unfortunately, we can not use high addresses, because module address in multiboot 2 module tag structure is 32-bit value.

If the above happens, try to re-use the location where module was loaded and skip the relocation at all.

This does fix UEFI loader on Lenovo x3650 M5. Also tested on "normal" systems, where we do not see such issue with memory map.

Actions #1

Updated by Toomas Soome 13 days ago

  • Description updated (diff)
Actions #2

Updated by Electric Monk 13 days ago

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

git commit 5388916ef6c753f570909efa4a196dfdc68d6fb7

commit  5388916ef6c753f570909efa4a196dfdc68d6fb7
Author: Toomas Soome <tsoome@me.com>
Date:   2021-09-13T14:52:42.000Z

    14060 loader.efi: multiboot2_exec() should fall back to use module load address
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF