1. MdeModulePkg/SecurityPkg Variable: Calculate enough space for PlatformLang and Lang variables
and use PcdUefiVariableDefaultLangDeprecate to turn off auto update between PlatformLang and Lang variables.
2. Calculate enough space for 2 variables (public key and variable data) instead of directly setting them 1 by 1.
Fixed a bug in public key reclaim().
3. Remove hide TPM support.
4. SecurityPkg Variable: Add NULL pointer check.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15414 6f19259b-4bc3-4df7-8a09-765794883524
1. Report the setting variable failure to platform through the status code when core cannot handle the error.
2. Report the setting variable failure to platform through the status code when core cannot handle the error.
3. Support load 64 bit image from 32 bit core. Add more enhancement to check invalid PE format.
4. Remove RT attribute for variable LegacyDevOrder.
5. Add check to make sure the data be valid.
6. Remove RT attribute for variable PlatDriOver.
7. Update code logic, remove ASSERT and use error handling.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15413 6f19259b-4bc3-4df7-8a09-765794883524
1. Do not reset system when the MemoryTypeInformation variable cannot be written.
Remove the RT attribute for the MemoryTypeInformation variable because it's not necessary.
2. IntelFrameworkModulePkg AcpiS3SaveDxe: Remove ASSERT, add lock and remove RT for AcpiGlobalVariable variable.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15347 6f19259b-4bc3-4df7-8a09-765794883524
Fix the BdsExpandPartitionPartialDevicePathToFull() hang issue by duplicates BlockIoDevicePath when the CachedDevicePath returned from BdsLibDelPartMatchInstance() is NULL.
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14734 6f19259b-4bc3-4df7-8a09-765794883524
Move the memory allocation and variable set to BdsEntry, use VariableLock protocol to lock the L”PerfDataMemAddr” variable and prevent malware to update it.
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14654 6f19259b-4bc3-4df7-8a09-765794883524
1. Update secure boot UI driver to handle "reset to default" hot key.
2. Add EDKII_VARIABLE_LOCK_PROTOCOL and the implementation in MdeModulePkg variable drivers.
Add code in BdsDxe driver to call the protocol to mark the read-only variables defined in the UEFI Spec.
3. Remove the complex buffer since the _LOCK_VARIABLE won't be allowed after leaving DXE phase.
Add the variable name size check in the RequestToLock wrapper.
4. Add the EDKII_VARIABLE_LOCK_PROTOCOL implementation in SecurityPkg variable drivers.
5. Fix overflow issue in TcgProtocol.
6. The list of locked variables is traversed at runtime, hence we must convert the list when transferring from physical to virtual mode.
7. MdeModulePkg: Add the alignment check for FTW spare area address and length, and add the check for PcdFlashNvStorageVariableSize <= PcdFlashNvStorageFtwSpareSize.
8. SecurityPkg Variable: Add the check for PcdFlashNvStorageVariableSize <= PcdFlashNvStorageFtwSpareSize.
9. Change EFI_TCG_EVENT_HOB_GUID value to avoid the duplicated GUID value with EFI_LEGACY_BIOS_GUID.
10. Fix a bug in secure boot configuration driver: Enroll DB/KEK will disable Attempt Secure Boot option.
11. Enhance TPM driver to protect TPM physical presence flags.
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14651 6f19259b-4bc3-4df7-8a09-765794883524
1. Update all the code to consume the ConvertDevicePathToText, ConvertDevicePathNodeToText, ConvertTextToDevicePath and ConvertTextToDeviceNode APIs in DevicePathLib.
2. OvmfPkg: Use the new DevicePathLib for all platforms.
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14643 6f19259b-4bc3-4df7-8a09-765794883524
1. Should pass in bytes of string buffer to UnicodeSPrint() rather than Unicode string length.
2. Check the return code from CoreLocateDevicePath() in MdeModulePkg/Core/Dxe/Image/Image.c CoreLoadImageCommon().
3. Fix the memory leak issue and enhance the check for CoreReadImageFile return.
4. MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib.
5. SecurityPkg update:
a. Correct the counter-based hash algorithm according to UEFI spec.
b. Check the reserverd bit in variable attribute.
c. Return EFI_OUT_OF_RESOURCE instead of EFI_SECURITY_VIOLATION if there
is not enough speace to store the public key.
d. Fix a bug when deleting a non-existent time-based auth variable, we
store the certificate into cert DB incorrectly.
e. Fix a bug that time-based auth variable can't been updated again after
append operation.
6. Fix several RFC compliance issues in DHCP6 driver as below.
a. Client must ignore any Advertise message that includes a Status
Code option containing the value NoAddrsAvail.
b. The elapsed-time should start from the current DHCP transaction.
c. Client should not change any information about addresses the client
has recorded in the IA but not included in the IA from the server.
d. Client need to update to handle the error status code
UnspecFail/UseMulticast/NotOnLink/NoBinding in the Reply message
from server.
e. When the client receives a Reply message in response to a
Renew/ Rebind message, the client examines each IA independently.
For each IA in the original Renew/ Rebind message, the client sends
a Renew/ Rebind if the IA is not in the Reply message.
f. Client should uses network byte order in IANA T1/T2 option 7.
Client should discard any addresses for which the preferred lifetime
is greater than the valid lifetime.
7. Fix infinite loop bug in secure boot UI driver.
8. Fix a bug in snp driver binding Start() that it may return incorrect status code.
9. Fix a bug that IsSignatureFoundInDatabase() incorrectly computes CertCount.
10.Fix several bugs in the implementation of converting SAS/SASEX device path node from/to text.
11.Add transit bit check for detecting partial response in iSCSI stack.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14331 6f19259b-4bc3-4df7-8a09-765794883524
1. MdeModulePkg PiSmmCore: Fix a bug in SmmLoadImage() in PiSmmCore that in-correct status codes may be returned.
2. Check whether has storage for date/time opcode, if it has storage, also generate the offset/width info for it.
3. Close the corresponding GUIDed section extraction protocol notify event in CloseSectionStream.
4. Fix incorrect sizeof () usage.
5. Add missing break and add comment to non-necessary break.
6. IntelFrameworkModulePkg/IdeBusDxe: Add error check on the return status of invoking AtaSoftReset().
7. Enhance the code to make the code logic more clear.
8. Initialize the variable before use it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14330 6f19259b-4bc3-4df7-8a09-765794883524
Enhance InitializeLanguage() to set PcdUefiVariableDefaultPlatformLang to PlatformLang variable if the value of PlatformLang variable has been set an unsupported value(not one of PlatformLangCodes variable), and assert when default (Platform)Lang PCD value is not set to one of (Platform)LangCodes PCD value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14320 6f19259b-4bc3-4df7-8a09-765794883524
Build the registered guid HOB and SystemTable to record the GUID itself in PeiExtractGuidedSectionLib and DxeExtractGuidedSectionLib, and also state the restriction in BaseExtractGuidedSectionLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14300 6f19259b-4bc3-4df7-8a09-765794883524
1. Get support languages from "PlatformLangCodes" instead of front page string package.
2. BMP file may has padding data between the bmp header section and the bmp data section, but current code logic not consider this case, so the check is not valid for some bmp file. Refine the logic for this case.
3. Refine the code to avoid error report.
4. Follow UEFI spec, set TimeOut and HwErrRecSupport variable by EFI variable service instead of PcdSet().
5. Remove BdsLibConnectConsoleVariableWithoutDispatch() and enhance BdsLibConnectDevicePath() to only call gDS->Dispatch() when the current TPL is TPL_APPLICATION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14247 6f19259b-4bc3-4df7-8a09-765794883524
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