+ This function attempts to traditionally boot the specified BootOption. If the EFI context has\r
+ been compromised, this function will not return. This procedure is not used for loading an EFIaware\r
+ OS off a traditional device. The following actions occur:\r
+ - Get EFI SMBIOS data structures, convert them to a traditional format, and copy to\r
+ Compatibility16.\r
+ - Get a pointer to ACPI data structures and copy the Compatibility16 RSD PTR to F0000 block.\r
+ - Find the traditional SMI handler from a firmware volume and register the traditional SMI\r
+ handler with the EFI SMI handler.\r
+ - Build onboard IDE information and pass this information to the Compatibility16 code.\r
+ - Make sure all PCI Interrupt Line registers are programmed to match 8259.\r
+ - Reconfigure SIO devices from EFI mode (polled) into traditional mode (interrupt driven).\r
+ - Shadow all PCI ROMs.\r
+ - Set up BDA and EBDA standard areas before the legacy boot.\r
+ - Construct the Compatibility16 boot memory map and pass it to the Compatibility16 code.\r
+ - Invoke the Compatibility16 table function Compatibility16PrepareToBoot(). This\r
+ invocation causes a thunk into the Compatibility16 code, which sets all appropriate internal\r
+ data structures. The boot device list is a parameter.\r
+ - Invoke the Compatibility16 Table function Compatibility16Boot(). This invocation\r
+ causes a thunk into the Compatibility16 code, which does an INT19.\r
+ - If the Compatibility16Boot() function returns, then the boot failed in a graceful\r
+ manner—i.e., EFI code is still valid. An ungraceful boot failure causes a reset because the state\r
+ of EFI code is unknown.\r