Commit Graph

83 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0e0c422d4c MdePkg/Library/BaseLib/X64/ReadCr2.S:
MdePkg/Library/BaseLib/X64/ReadMm0.S:
* Fix syntax error for X64 gcc assembly files.  (Missing parenthesis.)


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5597 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-31 16:23:36 +00:00
6a28ac4441 Gcc cleanup
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5589 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-31 06:56:12 +00:00
85c25283ed Gcc cleanup for baselib & basememorylib in mdepkg/library/
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5587 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-31 06:23:32 +00:00
42eedea958 Code Scrub for MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5567 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-25 12:21:57 +00:00
d2e6d78887 1. Add comments about reserve space on space according to x64 calling convention
2. Fix comments in SwitchStack as for the x64 calling convention.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5315 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-30 02:03:15 +00:00
57069be8fb Update Thunk16.S of X64 for BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4620 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-24 02:59:28 +00:00
de0419128f Check in implementation in GNU assembly for Thunk16.S in BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4614 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-22 08:54:44 +00:00
ab9a4f1638 Fix bugs in GNU assembly files for writing CR and DR registers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4590 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-21 03:34:55 +00:00
d331a1e391 these files have moved to cpulib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4098 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-11 16:26:17 +00:00
d5b86e43cf Removed MdePkg usage of ModuleName: in file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3217 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-12 22:59:43 +00:00
f1baef624f 1. Port X64, IPF and EBC arch for BaseLib
2. Port X64 arch codes for BaseMemoryLibRepStr and BaseMemoryLibSee2


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2955 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-02 09:34:25 +00:00
586cd1f1f4 Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing builds. Also updated the SPD and FPD files UiNames
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2616 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-01 14:49:55 +00:00
e5f461a850 1. Remove #ifdef _MSC_EXTENSION_ from all source files
2. Remove #ifdef _GCC_ from all resource files
3. Remove #if 0 from all resource files
4. Remove #ifdef MDE_CPU_IPF and #ifdef MDE_CPU_EBC
5. Remove #progam from Decode.c
6. Remove #ifdef TIANO_EXTENSION_FLAG from source files
7. Remove #ifdef SUPPORT_IPV6, since code base doesn't support IPV6 at all.
8. Remove #ifdef SpecialNowaitVersion from pxe_bc_mtftp.c, since it's only used for test.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2470 6f19259b-4bc3-4df7-8a09-765794883524
2007-03-15 02:33:16 +00:00
a9a812a0ed 1. Added comments to ASM files
2. Fixed a bug in 64-bit AsmDisablePaging64(), which may cause a #GP exception.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2206 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-10 06:57:04 +00:00
733f4094ee To Fix PVCS 429.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2007 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-23 09:05:19 +00:00
dfd52cc1c6 Add Thunk16.S -- needs to be ported from masm.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1971 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-17 16:54:19 +00:00