A.3 BDS Hook Points

BDS Hook Point Summary

Four new event signal groups are defined that will be signaled at the point shown in Table 16 Event groups as described in the UEFI specification are collections of events identified by a shared EFI_GUID that when one member event group is signaled, all other event groups are signed and their individual notification actions are taken. These event groups should be used in combination with the pre-existing notification mechanisms: signal of gEfiEndOfDxeEventGroupGuid and installation of the gEfiPciEnumerationCompleteProtocolGuid or gEfiDxeSmmReadyToLockProtocolGuid. Preference should always be given to the notification points defined outside this specification to make code dependent upon the notification as portable as possible.

PlatformBootManagerBeforeConsole () [1] Event: PCI enumeration complete - Install gEfiPciEnumerationCompleteProtocolGuid

* Minimum Platform action(s) performed:
    * Trusted consoles added

[2] Event: SignalBeforeConsoleAfterTrustedConsole

* Minimum Platform action(s) performed:
    * Enumerate USB keyboard
    * Connect controller for trusted graphics console
    * Register default boot option (UEFI shell)
    * Register static hot keys (F2/F7)
    * Process TCG Physical Presence
    * Process TCG MOR
    * Perform memory test

[3] Event: SignalBeforeConsoleBeforeEndOfDxe

* Minimum Platform action(s) performed:
    * None

[4] Event: End of DXE - Signal gEfiEndOfDxeEventGroupGuid

* Minimum Platform action(s) performed:
    * None

[5] Event: SmmReadyToLock: Signal gEfiDxeSmmReadyToLockProtocolGuid

* Minimum Platform action(s) performed:
    * Dispatch deferred 3rd party images (e.g. UEFI OPROMs)

PlatformBootManagerAfterConsole () [1] Invoke ConnectSequence ()

[2] Event: Signal AfterConsoleReadyBeforeBootOption

* Minimum Platform action(s) performed:
    * Print hot key message to output console ("Press F7 for BootMenu!")
    * Refresh all boot options
    * Sort load option variables

Full BDS Hook Point Map

Figure 10 Full BDS Hook Point Map