Inventor(s)

HP INCFollow

Abstract

In general, when UEFI DXE Core dispatcher starts to load DXE and UEFI drivers,

BIOS sends out generic post code for each DXE/UEFI drivers.

 After a UEFI driver is loaded via the boot services, this UEFI driver can be started

anywhere to connect from a controller. This UEFI driver can be stopped to

disconnect from a controller as well.

 Basically, BIOS has no way to issue post code when starting/stopping a UEFI driver,

especially UEFI driver is protected in binary format. Once system gets hang up

problem when starting/stopping UEFI driver, it is hard to identify the problem root

cause.

 UEFI defines Component Name protocol and Load Image protocol. Both can be

used to get a readable name and a globally unique ID (GUID) of a UEFI driver.

 Before starting a UEFI driver on a controller, BIOS can read driver name and driver

GUID in advance and store them into ECMOS.

 After the call complete of starting a UEFI driver, both UEFI driver name and GUID

will be cleared from ECMOS.

 Once the call of starting a UEFI driver doesn’t complete, BIOS keeps ECMOS

content for UEFI driver name and GUID.

 In next boot, BIOS can issue a private WMI command to read UEFI post error code from ECMOS and reports it to windows application for record. After that, BIOS can issue a private WMI command to clear UEFI post error code from ECMOS.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 4.0 License.

Share

COinS