audk/MdePkg
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
..
Include Add IPV6 support from UNDI 2015-04-30 02:57:10 +00:00
Library MdePkg/BaseLib: Preserve EBX register and fix stack offset to LinearAddress in AsmFlushCacheLine() 2015-04-30 07:25:07 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
MdePkg.dec Add IPV6 support from UNDI 2015-04-30 02:57:10 +00:00
MdePkg.dsc Add SmmMemLib, which can be used by SMM driver or SMM core to check communication buffer. 2015-02-02 14:40:44 +00:00
MdePkg.uni MdePkg: Correct Help of Error Level 2015-02-06 06:39:16 +00:00
MdePkgExtra.uni MdePkg: INF/DEC file updates to EDK II packages 2014-08-27 09:39:59 +00:00