Commit Graph

1011 Commits

Author SHA1 Message Date
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
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
rsun3 6b3ecf5cc2 Add back logic to encode LUN in CDB for compatibility with SCSI-2 spec, although LUN encoding in CDB is changed to be reserved in SCSI-3 spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8334 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 09:07:38 +00:00
xli24 5dc4fd7856 Fix the unaligned issue of PCI read/write buffer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8333 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 07:09:45 +00:00