Commit Graph

199 Commits

Author SHA1 Message Date
Jordan Justen 90e30b11c3 MdePkg BaseLib: Convert X64/ReadMm7.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ReadMm7.asm to X64/ReadMm7.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:45 +08:00
Jordan Justen 2494662649 MdePkg BaseLib: Convert X64/WriteMm0.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm0.asm to X64/WriteMm0.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:44 +08:00
Jordan Justen 1322928fd5 MdePkg BaseLib: Convert X64/WriteMm1.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm1.asm to X64/WriteMm1.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:43 +08:00
Jordan Justen dd432baa25 MdePkg BaseLib: Convert X64/WriteMm2.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm2.asm to X64/WriteMm2.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:43 +08:00
Jordan Justen f31758337f MdePkg BaseLib: Convert X64/WriteMm3.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm3.asm to X64/WriteMm3.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:42 +08:00
Jordan Justen 7c8fa338d9 MdePkg BaseLib: Convert X64/WriteMm4.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm4.asm to X64/WriteMm4.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:41 +08:00
Jordan Justen 6c9c6ce804 MdePkg BaseLib: Convert X64/WriteMm5.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm5.asm to X64/WriteMm5.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:41 +08:00
Jordan Justen 114fc8279f MdePkg BaseLib: Convert X64/WriteMm6.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm6.asm to X64/WriteMm6.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:40 +08:00
Jordan Justen 37753fa05d MdePkg BaseLib: Convert X64/WriteMm7.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/WriteMm7.asm to X64/WriteMm7.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:40 +08:00
Jordan Justen 1119b2ac29 MdePkg BaseLib: Convert X64/ReadTsc.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ReadTsc.asm to X64/ReadTsc.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:39 +08:00
Jordan Justen 3dbb4a7002 MdePkg BaseLib: Convert X64/ReadPmc.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ReadPmc.asm to X64/ReadPmc.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:38 +08:00
Jordan Justen 4a9ae7893e MdePkg BaseLib: Convert X64/Monitor.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/Monitor.asm to X64/Monitor.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:38 +08:00
Jordan Justen fe94593512 MdePkg BaseLib: Convert X64/Mwait.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/Mwait.asm to X64/Mwait.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:37 +08:00
Jordan Justen 464e84f88e MdePkg BaseLib: Convert X64/DisablePaging64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/DisablePaging64.asm to X64/DisablePaging64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:36 +08:00
Jordan Justen 079f75d594 MdePkg BaseLib: Convert X64/Wbinvd.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/Wbinvd.asm to X64/Wbinvd.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:35 +08:00
Jordan Justen e53f8184d3 MdePkg BaseLib: Convert X64/Invd.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/Invd.asm to X64/Invd.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:35 +08:00
Jordan Justen 6a4d3fed57 MdePkg BaseLib: Convert X64/FlushCacheLine.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/FlushCacheLine.asm to X64/FlushCacheLine.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:34 +08:00
Jordan Justen 4f66e9990e MdePkg BaseLib: Convert X64/EnableInterrupts.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/EnableInterrupts.asm to X64/EnableInterrupts.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:33 +08:00
Jordan Justen 10f8b8d1b2 MdePkg BaseLib: Convert X64/DisableInterrupts.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/DisableInterrupts.asm to X64/DisableInterrupts.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:32 +08:00
Jordan Justen 2493287b1e MdePkg BaseLib: Convert X64/EnableDisableInterrupts.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/EnableDisableInterrupts.asm to X64/EnableDisableInterrupts.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:32 +08:00
Jordan Justen 345068d636 MdePkg BaseLib: Convert X64/CpuPause.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CpuPause.asm to X64/CpuPause.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:31 +08:00
Jordan Justen 050a8bf198 MdePkg BaseLib: Convert X64/RdRand.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/RdRand.asm to X64/RdRand.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:30 +08:00
Jordan Justen c1d8229575 MdePkg BaseLib: Convert X64/DisableCache.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/DisableCache.asm to X64/DisableCache.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:30 +08:00
Jordan Justen a91d8309af MdePkg BaseLib: Convert X64/EnableCache.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/EnableCache.asm to X64/EnableCache.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:29 +08:00
Jordan Justen ed1e7222d6 MdePkg BaseLib: Convert X64/SwitchStack.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SwitchStack.asm to X64/SwitchStack.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:28 +08:00
Jordan Justen e3d50cc4d2 MdePkg BaseLib: Convert X64/SetJump.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetJump.asm to X64/SetJump.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:27 +08:00
Jordan Justen 56244b924b MdePkg BaseLib: Convert X64/LongJump.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/LongJump.asm to X64/LongJump.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:27 +08:00
Jordan Justen fd5eb53d2c MdePkg BaseLib: Convert X64/CpuId.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CpuId.asm to X64/CpuId.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:26 +08:00
Jordan Justen 9f6bfc112e MdePkg BaseLib: Convert X64/CpuIdEx.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CpuIdEx.asm to X64/CpuIdEx.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:49:25 +08:00
Jordan Justen 91d1ad5df3 MdePkg BaseLib: Remove unused GNU assembly files
These routines are defined in GccInline.c.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
2016-06-28 09:48:25 +08:00
Jordan Justen ef7447bb02 MdePkg BaseLib: EXTERNDEF=>EXTERN in X64/SetJump
NASM doesn't support EXTERNDEF, so convert this to EXTERN.

This will make it easier to convert this code to NASM using an
automated script.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
2016-06-28 09:48:21 +08:00
Qin Long 3cfc7813bb MdePkg: Add CPU RdRand access APIs for random number generation
Add AsmRdRand16/32/64 APIs for RdRand instruction access to generate
high-quality random number.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18518 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-21 05:53:52 +00:00
Jordan Justen 15f8eef784 MdePkg NASM Thunk16: Add missing ASM_PFX for InternalAsmThunk16
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16059 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-04 15:17:57 +00:00
Jordan Justen eabcdf3a34 MdePkg NASM Thunk16: Work around NASM 2.09.04 - 2.10rc1 bug
Without this change, NASM 2.09.04 will hang with OVMF+CSM on both IA32
and X64.

Tested on OVMF+CSM on GCC49 with NASM 2.07, 2.09.04 and 2.11.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16058 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-04 15:17:48 +00:00
Jordan Justen 03e9db1575 MdePkg BaseLib NASM Thunk16: Initialize _16GdtrBase to 0
Previously we were setting it to the start of the GDT in the UEFI
driver's copy of BaseLib. This address is irrelavent, since the C code
will initialize it to the cooresponding address after the Thunk16 code
has been placed in low memory.

Additionally, initializing this was causing a link error for the
XCLANG toolchain.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16025 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:24:08 +00:00
Jordan Justen 7458df400c MdePkg BaseLib NASM Thunk16: Remove remaining 'DB' code
Convert remaining 'DB' code to assembly code by:
* Move instruction immediate data labels to end of instruction
* Use strict keyword to make sure immediate data size is not optimized

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16024 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:23:57 +00:00
Jordan Justen f6888eea46 MdePkg BaseLib NASM Thunk16: Use bits 16 for 16-bit code
By using 'bits 16', we can write code for 16-bit use the actual
assembly syntax rather than 'DB' and sometimes writing code with
seemingly incorrect operands because we know it will run correctly
when the processor is running in 16-bit mode.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16023 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:23:51 +00:00
Jordan Justen a8458d6cb3 MdePkg BaseLib NASM Thunk16: Use NASM local labels
http://www.nasm.us/doc/nasmdoc3.html#section-3.9

A local label is a label beginning with the period, and it's actual
name is prefixed by the previous non-local label.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16022 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:23:39 +00:00
Jordan Justen fbb5393cb7 MdePkg BaseLib Thunk16: Replace X64 GAS Thunk16 with NASM version
This is a translation of X64/Thunk16.asm to NASM.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16021 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:23:33 +00:00
Elvin Li a93b0e3f68 Use rsp instead of esp to save 64-bit stack pointer.
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14812 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-29 06:52:25 +00:00
li-elvin 48c8b6a299 Current Thunk16.asm implementation clears reserved bits, which does not follow IA32 SDM. Now the fix is to only clear PAE and PSE bit of CR4 for real mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14037 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-07 07:12:19 +00:00
lgao4 c577049aaf Fix the issue to clear the high 16-bit of EAX before use it Thunk code.
This patch updates MdePkg BaseLib, EcpPkg EdkIIGlueLib BaseLib and ThunkLib.

Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12876 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 08:27:17 +00:00
andrewfish f2a4d59359 Fix Xcode link failure. Relocations are not supported in .text sections.
Per Rui's review of the patch _16GdtrBase is a label that is patched by C code so it does require initialization. 

approved-by: andrewfish
reviewed-by: jljusten
reviewed-by: rsun3



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12515 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-08 20:51:17 +00:00
geekboy15a 3c47fe65ed MdePkg: Fixed hang/reset in thunk code when building with GCC X64
Reverted changes of data areas from .long back to .space 4.  This was done
because the size of .long is based off of .int and may vary.  Using a fixed size
is required because these values are for patching code.  Also note that .space
will automatically initialize the data to zero.  Not initializing all values to
zero was causing the hang/reset.

Signed-off-by: geekboy15a
Reviewed-by: darylm503
Reviewed-by: jljusten



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12079 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-02 22:29:50 +00:00
andrewfish bab427db7d MdePkg: Fix X64 clang compile issues.
Fixed issues with X64 clang, and also make StackSwitch push a zero on the new stack to prevent a stack unwind into memory that is no longer valid.

signed-off-by: andrewfish
reviewed-by: lgao4
reviewed-by: mdkinney



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12007 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-12 03:01:34 +00:00
li-elvin 4d4c535a32 Fix the issue that the high 16-bit of EAX may contain invalid data, which cause bad stack pointer, the change will ensure the high 16-bit of EAX is cleared.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11047 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-12 07:47:27 +00:00
myronporter 2fc59a003e Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 21:56:02 +00:00
myronporter 127010dd96 Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10596 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-24 00:20:35 +00:00
geekboy15a 2bd78c92c6 Fixed issue with InternalX86ReadIdtr referencing LDT read and not IDT read operation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10559 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-01 22:46:53 +00:00
qhuang8 d01a90fb3e Fix some typos
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10521 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-20 05:23:50 +00:00
hhtian c9b34b8cb3 Update copyright format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10506 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 11:40:39 +00:00
qhuang8 cf683fedc7 1. Restore the inline C implementation of GCC assembly files that was temporarily removed in Svn r10045.
2. Remove 139 GCC assembly files whose functionality have been covered in the inline C implementation.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10503 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 05:37:58 +00:00
hhtian bb817c56c5 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10405 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:00:47 +00:00
geekboy15a 4e57f24098 Fixed GCC 4.4 build issue due to incorrect prefix. Now using ASM_PFX to correctly set the prefix.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10377 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-16 22:37:03 +00:00
geekboy15a bc810c8977 Fixed GCC 4.4 build issue. Also fixed issue where upper 32-bits may be lost during AND operation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10376 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-16 22:34:22 +00:00
mdkinney be04587c86 Remove assumption that the transition code for transitioning from 64-bit to 32-bit mode is 64 bytes. Instead compute the size based on the implementation in the ASM file.
Update logic to align new 32-bit stack on a 4 byte boundary
Update logic to prevent one slot overlap between the transition code and the new stack.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10133 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 05:35:20 +00:00
klu2 28b5f7c062 Disable interrupt when changing IDTR register.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10046 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 07:32:20 +00:00
qhuang8 f18f2882e9 Temporarily remove the C implementation of some GCC assembly files in MdePkg. They are kept in repository and will be re-evaluate later.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10045 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 04:56:55 +00:00
qhuang8 ea6898b902 Clean up MdePkg source to correct some coding style issues, etc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9832 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 03:25:28 +00:00
eric_tian 0e121f5551 fix GCC build issue, mWait instruction need not the operands.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9526 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-07 03:31:44 +00:00
AJFISH 1afe0401f4 Fixes for ARM build in the EdkCompatibilityPkg and a couple of Xcode fixes for MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9520 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-06 02:01:54 +00:00
mdkinney 7f22d35110 Fix file headers
Move stack alignment check from CPU specific files into common SwitchStack() function and add VA_END() to SwitchStack().
Fix incorrect syntax for ASM_FUNCTION_REMOVE_IF_UNREFERENCED






git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9193 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:53:23 +00:00
qhuang8 ebd04fc2e5 Update to make end-of-line consistent for all source files in MdePkg. There are no other updates besides that change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9141 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:02:07 +00:00
mdkinney 64698eb841 Add ARM support
Add C inline assembly files for IA32 and X64 GCC builds.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9113 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:04:14 +00:00
qhuang8 09b0fdbbb5 Minor update source to make end-of-line consistent.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9043 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:37:14 +00:00
qhuang8 0da835f99b Remove all unnecessary .align directives in MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9042 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:35:27 +00:00
gikidy ebdad7f865 For X64 BASE_LIBRARY_JUMP_BUFFER is 64-bit aligned, not 128-bit aligned, replace movdqa with movdqu.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8508 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 09:00:21 +00:00
gikidy 63b65a9e4f Save/Restore xmm6-xmm15 in function setJump/longJump for GAS.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8507 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 08:07:37 +00:00
gikidy 9b9641c6d9 Save/Restore xmm6-xmm15 in function setJump/longJump.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8506 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-10 07:14:17 +00:00
klu2 0d654ba433 Need use 32-bit register to hold 32-bit stack address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8481 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 13:36:09 +00:00
klu2 5a76206190 Need use 32-bit register to hold 32-bit stack address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8480 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 13:31:58 +00:00
klu2 2e56bb155b Fix the bug that if code is run above 4G, AsmDisablePaging64 will be failed
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8479 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 11:50:39 +00:00
klu2 ce4c0e31b0 Fix the bug that if code is run above 4G, AsmDisablePaging64 will be failure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8478 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 11:21:48 +00:00
qhuang8 2561f56540 1. Fix the bug that we should use rip relative addressing for x64 label to prevent GNU assembly generate incorrect code.
2. Sync the bug fix of MS assembly in r8455.
3. Correct the function prototype in comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8456 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 08:15:18 +00:00
qhuang8 1a76fbef84 Save label "@F" to 64-bit register (r10) instead of 32-bit register (eax) in case label @F is above 4G.
Use "far retq" to load CS and 64-bit rip instead.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8455 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 08:11:34 +00:00
qhuang8 d48e8b0afa Use rip relative addressing for x64 label for Thunk16.S to prevent GCC assembly from generating 32-bit value with HIGHLOW fixup.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8444 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 23:40:06 +00:00
qhuang8 a81c3daf0a Correct one minor instruction to clear the lower 4 bits of r11.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8391 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 12:04:46 +00:00
qhuang8 a148780114 Fix the bug in x64 thunk code that it cannot handle the case when GDT is loaded in above 4G table memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8390 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 11:41:12 +00:00
xli24 132f41f0a9 Replace .globl with ASM_GLOBAL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8346 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 10:22:09 +00:00
xli24 d5172f911d 1. Remove .extern from GCC assembly.
2. Define macro for .global/.globl in GCC assembly.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8344 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 09:42:59 +00:00
qhuang8 744e71a3bf Fix the bug that EnablePaging64() should assert() for x64 platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8223 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 07:17:52 +00:00
qhuang8 0fe43214e3 Save segment registers on stack in case the thunk code assembly calls CF9 soft reset and the x64 registers get cleared.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8123 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-17 07:38:57 +00:00
jljusten c9268416b9 Fix some build issues encountered with ELFGCC.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8060 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-10 20:58:07 +00:00
mdkinney bbc3c2d526 Split out Synchronization Library from Base Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7378 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-30 00:47:57 +00:00
xli24 63d7211ebc Fix the bug that EntryPoint of DisablePaging64() is corrupted.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7250 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-13 04:20:22 +00:00
qhuang8 373ade0eb6 Update copyright for files modified in this year
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7148 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-29 14:07:07 +00:00
qhuang8 04fdba5412 Fix minor issues in GCC assembly. The operand is 64bit and "q" prefix should be applied.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6717 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-25 02:49:23 +00:00
mdkinney 9f4f2f0e15 Add EnableCache() and DisableCache() implementations for IA32 and X64 to the BaseLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6705 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 08:30:58 +00:00
qhuang8 6f890d5b40 Detab
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6639 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-19 15:22:53 +00:00
qhuang8 b1ff428c96 Update to use DOS format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6360 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-03 09:25:10 +00:00
qhuang8 47fc17d8a9 Use #include "XXX.h" for module internal header files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6330 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 04:32:02 +00:00
qhuang8 32ed92de95 Update to use DOS format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6319 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 03:42:31 +00:00
xli24 2faf4da5f7 Refine comments of X64 assembly files of MDE BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6277 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 14:23:36 +00:00
xli24 7e43ed89b2 Refine code for ECC check.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6217 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-24 08:18:36 +00:00
vanjeff 44b013bd6e ECC Cleanup.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6213 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-24 06:06:42 +00:00
xli24 c2049caa25 Update GCC assembly files for MdePkg/Library/BaseLib/X64
1. Fix bugs in assembly instructions
2. Change module names in comments from .asm to .S


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6196 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-23 07:02:59 +00:00
qwang12 8161369252 Update some comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6170 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-21 08:23:13 +00:00
vanjeff 1efcc4ae46 remove unnecessary comments introduced by tools from MdePkg. The regular express is "//^p//[ ]Include[ ]common[ ]header[ ]file[ ]for[ ]this[ ]module[.]^p//"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5911 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-17 07:46:17 +00:00
vanjeff 835849540d remove '../' from Base Library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5878 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-11 09:12:14 +00:00
lgao4 a8ff971524 Cleanup Cpu library class and CpuLib instance and BaseLib instance; and add comments for the confused logic in IfrSupportLib instance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5694 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-20 09:15:34 +00:00