Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Michael Kinney 6f7878a972 MdePkg/BaseLib: Preserve EBX register and fix stack offset to LinearAddress in AsmFlushCacheLine()
The value of EBX must be preserved to follow IA32 cdecl calling convention in the assembly 
implementation of AsmFlushCacheLine(). The CPUID instruction modifies the EBX register.
The EBX register value is saved onto the stack before CPUID and restored from the stack 
after CPUID.

The update to the inline assembly implementation of AsmFlushCacheLine() changed the location of the 
LinearAddress parameter value on the stack.  The hardcoded lookup using [esp + 4] is not correct.
Use the parameter name LinearAddress instead of the hard coded [esp + 4] stack location to prevent
this issue from occurring again if there are changes to the inline assembly in the future.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17279 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-30 07:25:07 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg: remove cache maintenance by VA operation range size threshold 2015-04-14 11:54:40 +00:00
ArmPlatformPkg ArmVirtualizationPkg: Xen: shuffle init order to deal with incoherency 2015-04-14 11:56:56 +00:00
BaseTools BaseTools: Ignore BaseTools/Bin/Win32 directory in .gitignore 2015-04-17 07:40:44 +00:00
BeagleBoardPkg ArmPlatformPkg: Use LzmaDecompress support from MdeModulePkg 2015-04-08 19:58:50 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg Coreboot*Pkg/Contributions.txt: Update example email address 2015-04-14 00:23:29 +00:00
CorebootPayloadPkg Coreboot*Pkg/Contributions.txt: Update example email address 2015-04-14 00:23:29 +00:00
CryptoPkg Upgrade to OpenSSL-0.9.8zf (released on 19-MAR-2015). 2015-03-25 08:13:32 +00:00
DuetPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Add PersistentMemory definition 2015-04-29 05:10:41 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg ArmPlatformPkg: Use LzmaDecompress support from MdeModulePkg 2015-04-08 19:58:50 +00:00
EmulatorPkg EmulatorPkg: Update web page and wiki urls 2015-02-05 18:25:01 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Add UEFI2.5 PersistentMemory support in LegacyBios 2015-04-29 01:38:01 +00:00
IntelFrameworkPkg IntelFrameworkPkg: Fix a non ASCII char in LegacyBios.h. 2015-04-16 06:50:38 +00:00
IntelFspPkg Add FSP_FSPP_SIGNATURE in 1.1. 2015-04-30 01:57:25 +00:00
IntelFspWrapperPkg Add dual FSP binaries support. 2015-04-29 03:50:20 +00:00
MdeModulePkg MdeModulePkg: Update comments for PcdMemoryProfileMemoryType 2015-04-29 08:12:11 +00:00
MdePkg MdePkg/BaseLib: Preserve EBX register and fix stack offset to LinearAddress in AsmFlushCacheLine() 2015-04-30 07:25:07 +00:00
NetworkPkg Add IPV6 support from UNDI 2015-04-30 02:57:10 +00:00
Nt32Pkg NT32Pkg: Fix build errors from building secure boot with NT32 X64 2015-03-23 05:39:51 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg Add IPV6 support from UNDI 2015-04-30 02:57:10 +00:00
OvmfPkg OvmfPkg/XenBusDxe: Fix build issue with VS2010 2015-04-01 08:23:11 +00:00
PcAtChipsetPkg PcAtChipsetPkg: Update BaseAcpiTimerLib 2015-02-28 05:34:38 +00:00
PerformancePkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
SecurityPkg SecurityPkg Variable: Enhance the code logic about VariableLock 2015-04-10 01:52:54 +00:00
ShellBinPkg ShellBinPkg: Arm/AArch64 Shell binary update. 2015-02-27 17:54:29 +00:00
ShellPkg ShellPkg: Update CopyRight to 2015 2015-04-29 08:11:45 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg/DebugAgent: Support IA32 processors without DE or FXSAVE/FXRESTOR 2015-04-27 19:53:36 +00:00
StdLib */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg/CpuExceptionHandlerLib: Support IA32 processors without DE or FXSAVE/FXRESTOR 2015-04-27 19:54:52 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Removed MBI Device from ACPI DSDT Table. 2015-04-02 02:01:26 +00:00
Vlv2TbltDevicePkg Move microcode to offset 0 of BIOS region. 2015-04-28 03:31:12 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Updated version, missed the last two commits and to add the SVN Revision property (last part of the version value). 2014-08-22 16:08:47 +00:00
Maintainers.txt Maintainers.txt: update SecurityPkg maintainer 2015-04-21 07:58:45 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00