Re-add the missing headers for EFI_LEGACY_BIOS_PROTOCOL and gEfiLegacyBiosGuid which were removed from OvmfPkg in 9d4becddba.
Neither OVMF nor EfiGuard actually *needs* the CSM for anything, but being able to check for the presence of the legacy BIOS protocol is still important in order to determine if we are actually booting a legacy BIOS boot option. This allows us to then inform the user that what they are doing is not suppported and most likely a mistake.
Fixes#119
Override the unwanted /GS flag addition (MSVC) and -fno-stack-protector removal (GCC) introduced in f53f029122
Additionally remove some other (less harmful but still unwanted) build flags that have been made the default in MSVC in the .vcxproj/.props files as well.
Fixes#134
The interactive driver configuration now requires the HOME key to be pressed when the loader is started. If it is not pressed, the default configuration will be used as before.
The CONFIGURE_DRIVER compile time define is no longer useful due to this change and has been removed.
- Add primitive aspect ratio weighting when determining which text mode is best
- Move all uses of gST->ConOut to SetHighestAvailableTextMode and exit early if it is NULL
Note that BmSetMemoryTypeInformationVariable() is told by the loader that the image being loaded is *not* a boot application, which is a blatant lie. The reason for doing this is to prevent BmSetMemoryTypeInformationVariable() from performing a warm reset of the system due to a change in the memory type info. (Again, and again, and again...)
This is an attempt to fix S4 (hibernate) entry/resume issues; see #12.
The EFI variable "BootCurrent" corresponds to XXXX in some variable "BootXXXX", and this value was being used to guard against recursive self-booting. However, EfiBootManagerGetLoadOptions() already returns the options sorted by the contents of the "BootOrder" variable, which means that XXXX does not necessarily correspond to the linear index in a for loop. Instead use BootOptions[Index].OptionNumber to retrieve and compare the original value of XXXX
Fixes#5