1. If IDE controller is not in IDE mode, we should not clear IO bar.
2. Remove hard code value and create new PCDs for OpROM reserved range in CSM module.
3. Parse full EDID data to get all video resolutions supported by monitors.
4. Take the highest horizontal resolution as highest video resolution.
5. Call LegacyBiosInstallVgaRom to shadow Legacy VBIOS instead of LegacyBiosInstallPciRom during legacy boot.
6. When EDID comes from hardware INT10 and does not include 800x600, 640x480 and 1024x768, but INT10 supports these modes, add them into GOP mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14246 6f19259b-4bc3-4df7-8a09-765794883524
1. Allocate ReservedMemory instead of ACPIMemoryNVS for its shadow memory space which is not required to be restored by OS.
2. Use IA32_IDT_GATE_DESCRIPTOR defined in BaseLib instead of local struct INTERRUPT_GATE_DESCRIPTOR.
3. Just reserve memory space for page table, but not create it, and allocate the memory with ReservedMemory instead of ACPIMemoryNVS.
4. ACPI4.0/5.0 have clear description:
FIRMWARE_CTRL: If the X_FIRMWARE_CTRL field contains a non zero value then this field must be zero.
X_FIRMWARE_CTRL: This field is used when the physical address of the FACS is above 4GB. If the FIRMWARE_CTRL field contains a non zero value then this field must be zero.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14231 6f19259b-4bc3-4df7-8a09-765794883524
1. To follow UEFI spec, update the code to make correct check to support multiple _ADR fields.
2. BiosVideo allocate wrong size of buffer for EDID override data. Fix this issue to allocate correct buffer size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14070 6f19259b-4bc3-4df7-8a09-765794883524
1. Removed SetMode in GraphicsConsole Start() in release BIOS to improve performance. Initialize current text mode number to 0xFF as invalid text mode per UEFI spec. Add current mode check in text out protocol interface to avoid invalid text mode.
2. Set mode 0 (80x25) when Consplitter does not exist.
3. Fix the issue that FTW driver fail to reclaim WorkSpace.
4. Move GOP and UGA draw from Consplitter entrypoint to start(). When there is one real physical graphics device in system, Consplitter will expose GOP/UGA protocol on the virtual handle. In addition, fix a obvious logic issue in GraphicsConsole.
5. Update license statement and function header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13829 6f19259b-4bc3-4df7-8a09-765794883524
1. Update the logic to force user to reset when change configuration which need to reset.
2. Move PcdConInConnectOnDemand initlization to PlatformBds constructor so that hotkey service can act accordingly.
3. Reset system only when the pre-allocated memory is more than 1.5 of needed memory and boot mode is BOOT_WITH_DEFAULT_SETTING, or less than the needed memory.
4. Fix some corner case for LazyConIn feature.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13822 6f19259b-4bc3-4df7-8a09-765794883524
1. In PcdBootlogoOnlyEnable case, Clear cursor & screen when key rather than Hotkey or Enter is pressed to goto front page.
2. Add 2 new Bds features
a. Lazy ConIn
b OsIndicationsSupported & OsIndications
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13821 6f19259b-4bc3-4df7-8a09-765794883524
1. Change the EFI_BOOT_KEY_DATA definition to use macro instead of bit fields.
2. Change the BDS module in IntelFrameworkModulePkg to use the new EFI_BOOT_KEY_DATA definition.
3. Change Bcfg.c to use the new definition of EFI_KEY_OPTION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13816 6f19259b-4bc3-4df7-8a09-765794883524
1. LastVariableOffset is wrongly set to 0 when FtwVariableSpace() fails. Recalculate the HwErrVariableTotalSize, HwErrVariableTotalSize and LastVariableOffset when FtwVariableSpace() fails.
2. Fix a bug when comparing two timestamp in auth-variable driver.
Remove the TimeCompare function in Bds since it's not used anymore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13813 6f19259b-4bc3-4df7-8a09-765794883524
1. Added secure boot in CSM module entrypoint, if UEFI secure boot is enabled,
CSM module cannot be started.
2. Check if active video mode is changed after OpROM starts, if active video
mode is not changed, skip INT10 calls to improve performance.
3. Handle the case when OpROM wants to completely remove itself.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13797 6f19259b-4bc3-4df7-8a09-765794883524
1. Update DxeCore and FwVolDxe drivers to inherit authentication status for the FV image, if the image came from an FV image file and section in another firmware volume.
2. Record LoadImage perf log for LoadImageEx() and use NULL as Handle to record StartImage perf log when StartImage() fails.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13404 6f19259b-4bc3-4df7-8a09-765794883524
1. Enhance the ConPlatform driver's matching algorithm to manage the console controller when it shares the same parent with a certain instance in the "ConOut".
2. Remove the check of signature because the code which looks for the input NotifyHandle in the internal linked list is enough.
3. Enhance ConSplitter to register hot keys for new connected consoles.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13398 6f19259b-4bc3-4df7-8a09-765794883524
Currently restoring PCI attributes are put in child uninstall logic, if one child is uninstalled, PCI attributes are restored, it will bring problem for stopping the next child. we do not restore the PCI attributes until all child handles are uninstalled.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13319 6f19259b-4bc3-4df7-8a09-765794883524
1. When transfer from Unicode to hex number, current code only consider the 0-9 case, not include the A-F case, now update code to consider all.
2. Add more check for the bmp file to avoid access violation.
3. Add code to check boot option variable before use it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13272 6f19259b-4bc3-4df7-8a09-765794883524
When CSM uses EFI_SEGMENT and EFI_OFFSET to call CSM16 function, some CSM16 use es:[offset + 0xabcd] to get data passed from CSM32, offset + 0xabcd could exceed 0xFFFF which is invalid in real mode. So added NORMALIZE_EFI_SEGMENT and NORMALIZE_EFI_OFFSET to keep offset as small as possible to avoid this issue during CSM16 function call.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13171 6f19259b-4bc3-4df7-8a09-765794883524
1. Add Missing invocations to VA_END() for VA_START().
2. Add a new macro VA_COPY for variable argument support. Fix a bug in the UefiLib instance that there is a non portable assumption that Marker is copied when passed to a function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@13118 6f19259b-4bc3-4df7-8a09-765794883524
1.Update question value after BDS change code to avoid save invalid data.
2.Fix a corner case bug that may cause unexpected popup when changing the legacy device order.
Signed-off-by: ydong10
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12892 6f19259b-4bc3-4df7-8a09-765794883524
Per UEFI spec, on CallBack action EFI_BROWSER_ACTION_CHANGING, the return value of ActionRequest will be ignored, but on CallBack action EFI_BROWSER_ACTION_CHANGED, the return value of ActionRequest will be used.
But, EDKII browser still processes the got ActionRequest. And, all HII drivers in EDKII project also returns their expected ActionRequest value on action EFI_BROWSER_ACTION_CHANGING.
Now update the browser to follow the spec, and update all core Hii drivers to keep old working modal.
Signed-off-by: ydong10
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12866 6f19259b-4bc3-4df7-8a09-765794883524
2. In PeiFfsFvPpiGetFileInfo(), FileHeader->Attributes needs to be converted to EFI_FV_FILE_ATTRIBUTES from EFI_FFS_FILE_ATTRIBUTES before it is assigned to FileInfo->FileAttributes.
3. Set EFI_FV_FILE_ATTRIB_FIXED and EFI_FV_FILE_ATTRIB_MEMORY_MAPPED bits for EFI_FV_FILE_ATTRIBUTES based on the FFS file and FV image.
Signed-off-by: lzeng14
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12776 6f19259b-4bc3-4df7-8a09-765794883524