1215 Commits

Author SHA1 Message Date
mdkinney
2bd1edf456 Fix file headers
Fix typos in comments style of assembly files
Change IA32 CpuFlushTlb() for GCC to use AsmReadCr3() and AsmWriteCr3() instead of using inline assembly.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9192 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:45:38 +00:00
mdkinney
1f534c79c3 Fix file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9191 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:43:23 +00:00
mdkinney
d20e817daa Fix file header
Fix a typo in InternalSyncCompareExchange32()

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9190 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:41:22 +00:00
mdkinney
acbcf0425f Fix file headers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9189 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:39:38 +00:00
qhuang8
64674889d4 Add "/" after "lock" and another instruction to improve compatibility.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9167 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-21 01:07:17 +00:00
qhuang8
ea3c1b3ad6 1. Use .p2align directive instead of ambiguous .align directive.
It seems for ARM, .align means power of two, so we'd like to use .p2align for more portability.
2. Fix some typos in ARM ProcessorBind.h 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9152 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20 07:24:59 +00:00
qhuang8
01a54966be Remove tabs in source code in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9142 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:09:31 +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
qhuang8
16c5446fe3 Minor update to fix some typos.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9135 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 13:09:19 +00:00
mdkinney
32304af268 Make EOL consistent
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9116 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 22:19:04 +00:00
mdkinney
4b5f371b7d Make EOL consistent
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9115 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 22:14:01 +00:00
mdkinney
990e25aa35 Add 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@9114 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:24:08 +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
mdkinney
3c99107841 Add ARM support
Add C inline versions of the IA32 and X64 assembly functions.  

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9112 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:02:42 +00:00
mdkinney
9101c2e894 Add ARM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9111 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:01:18 +00:00
mdkinney
6f0dc9aeff Address an ARM compatibility issue by converting loops that were being optimized away into SetMem() calls.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9110 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:00:48 +00:00
mdkinney
b5a6c9d9e0 Update BasePrintLib to work correctly on compilers where VA_LIST is a structure
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9109 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:00:02 +00:00
mdkinney
2fa3661a34 Add ARM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9108 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:59:26 +00:00
mdkinney
9314970a95 Add ARM support to BaseIoLibIntrinsic
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9107 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:58:56 +00:00
mdkinney
229fe3a229 Add ARM specific functions to the BaseCacheMaintenanceLib that generates an ASSERT() if any of the services are used. The ARM support in this library is only provided so the modules in the EDK II core packages can be built for ARM. ARM platforms must use an implementation of the Cache Maintenance Library that supports the target ARM CPU.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9106 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:56:21 +00:00
qhuang8
945f5f400b Use "movd" instruction to manipulate MMX register to support more GNU assemblers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9055 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-12 02:23:31 +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
qhuang8
1fef058f4b clean up all of eight BaseMemoryLib instances in MdePkg with the following updates:
1.	Remove .intel_syntax directives in GCC assembly files. All these assembly files have been updated to use the preferred syntax for GAS
2.	Correct the incorrect comments for internal worker functions for SetMemXX() and ScanMemXX(). The Length parameter is actually the counter of 16-bit, 32-bit or 64-bit value. 
3.	Simplify the logic in ZeroMemoryWrapper.c for BaseMemoryLibOptPei instance to remove the conditional statement for zero length. This logic is already covered by worker function InternalMemZeroMem(). 
4.	Cleanup all the Wrapper C files in BaseMemoryLib instances. They are supposed to be shared by all these 8 BaseMemoryLib instances, but are out-of-sync after some maintenance. This patch re-syncs them and makes them exactly the same.
5.	Cleanup MemLibInternal.h so that it is shared by 6 BaseMemoryLib instance except for PeiMemoryLib and UefiMemoryLib.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9041 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:32:16 +00:00
klu2
1081f624a4 Add PcdVerifyNoteInList for judge whether do verification of node in list in debug mode. The default value is FALSE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9016 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-28 02:38:30 +00:00
lgao4
80151e5331 Rename BaseLib internal functions by adding InternalBaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8980 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-23 01:43:04 +00:00
mdkinney
c553db4b78 Adjust the behavior of the MdePkg Print Library class to produce a consistent style of EOL characters.
Previously, the Print Library class would translate '\n' to '\n\r'.

With this update, the following EOL translations are performed:
1) '\r' to '\r'
2) '\r\n' to '\r\n'
3) '\n' to '\r\n'
4) '\n\r' to '\r\n'


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8692 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-30 23:13:06 +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
rsun3
5fe71b5f03 Add missing parameter check ASSERTs in ScsiReadCapacity16Command() of UefiScsiLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8471 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 01:41:31 +00:00
xli24
287f4f47b4 Add ASSERT check for AsmFlushCacheRange().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8465 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 14:29:12 +00:00
eric_tian
63fffe4e72 fix the issue when passing a L"" string to PrintXY.
1. According to the value of RowInfoArraySize to get the actual number of printed line.
2. If RowInfoArraySize equates 0, then it means nothing is printed.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8464 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 13:50:14 +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
eric_tian
134c1f33ed modify the implementation of GetInterface and GetConfiguration to force the high byte of output type parameters zero.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8447 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 01:57:56 +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
mdkinney
071a9a1f65 Correct parameter names for ASSERT() checks.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8414 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 17:19:40 +00:00
mdkinney
2075236eef This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
Add BASE_LIST type to Base.h
Add BAS_ARG() macro to Base.h
Add 4 functions to PrintLib.h that use BASE_LIST.
Change ReportStatsuCodeExtractDebugInfo() from ReportStatusCodeLib.h to take a BASE_LIST argument instead of a VA_LIST argument
Add the 4 new functions to BasePrintLib implementation that use BASE_LIST
Update BaseReportStatusCodeLib implementation of ReportStatsuCodeExtractDebugInfo() to use a BASE_LIST argument instead of a VA_LIST argument



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8404 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:45:50 +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
eric_tian
57ee276f16 update comments on implementation
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8389 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:04:43 +00:00
eric_tian
392b3cf8b5 sync the StrToImage flag of UGA to consistent with GOP
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8388 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:01:46 +00:00
eric_tian
d9e63d93d5 update the file description of PrintXY and AsciiPrintXY. and also refine the implementation to return the number of actual printed characters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8372 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 10:02:33 +00:00
lgao4
3e0c79b57b Fix ScsiLib build break by << operator, which is replaced by LShiftU64 of BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8363 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 03:26:42 +00:00
mdkinney
1e966f6375 Remove redundant #include statements
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8357 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 22:06:20 +00:00