Project

General

Profile

Bug #11516

loader.efi: replace HandleProtocol() with OpenProtocol()

Added by Toomas Soome 11 months ago. Updated 11 months ago.

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

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The HandleProtocol() is deprecated interface and we should use OpenProtocol() instead. Moreover, in some firmware implementation(s), the HandleProtocol() does return device path using static storage, so we can not keep the value returned there. With same firmware, the OpenProtocol() does return data we do not need to clone.

Tested by network and disk/cd boot on vmware fusion and bhyve; graphical and serial console, that should cover all use cases.

History

#1

Updated by Toomas Soome 11 months ago

  • Subject changed from loader.efi: replace HandleProtocol() with OpenProtocol() to loader.efi: replace HandleProtocol() with OpenProtocol()
#3

Updated by Toomas Soome 11 months ago

  • Description updated (diff)
#4

Updated by Electric Monk 11 months ago

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

git commit bf693dc92f91a3c8675bf5a04d1300c40058500c

commit  bf693dc92f91a3c8675bf5a04d1300c40058500c
Author: Toomas Soome <tsoome@me.com>
Date:   2019-08-07T18:12:01.000Z

    11516 loader.efi: replace HandleProtocol() with OpenProtocol()
    Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
    Reviewed by: John Levon <john.levon@joyent.com>
    Approved by: Robert Mustacchi <rm@joyent.com>

Also available in: Atom PDF