Commit Graph

192 Commits

Author SHA1 Message Date
mdkinney d8e5077483 Fix GCC build issue
Take advantage of some intrinsics from MSFT build tools


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1661 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-04 23:06:00 +00:00
lgao4 542834ce80 Remove the duplicated Copy Right in msa header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1634 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-27 09:26:40 +00:00
qhuang8 b7089db120 1.Fix .global issue in GAS (EdkT207).
2.Fix Label start with @ (EdkT208).

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1610 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-25 10:05:26 +00:00
mdkinney 23086ba84c Optimize the size of the Base Library for the MSFT 32-bit tool chains by taking advantage of inline assembly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1567 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-19 19:04:40 +00:00
mdkinney b053781829 Add GLOBAL_REMOVE_IF_REFERENCED to the declaration of module globals in the Print Library that were still present in the final image even through there were no references to those module globals.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1566 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-19 19:01:18 +00:00
vanjeff a8e756dad0 add EFIAPI for those constructor funcitons declaration
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1547 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-18 02:07:18 +00:00
vanjeff 34913f248c typecast some return values
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1542 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-15 02:36:38 +00:00
bxing f23d790a79 Added an extra GDT entry to the GDT used by thunk code. SS register will always be loaded as flat segment before switching to 16-bit mode, since SS might not be always valid for NULL selector is allowed in 64-bit mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1541 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-14 16:04:47 +00:00
vanjeff 5117b83be8 update GetPerformanceCounterProperties() declare
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1518 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-13 01:10:51 +00:00
bxing ed9610eb9c Fixed a bug in WriteBackInvalidDataCache() that always flush cache lines even when the argument Length is zero.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1504 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-09 02:44:57 +00:00
lgao4 8cf2c0a7d7 Change PcdDebugPrintErrorLevel PCD declare in msa as DYNAMIC, because this PCD type can be
FIXED_AT_BUILD and PATCHABLE_IN_MODULE.
Change Some WINNT PCDs type declared in EdkNt32Pkg.spd as DYNAMIC, because they is used in Nt32 emluator platform as DYNAMIC type.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1494 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-07 08:24:27 +00:00
bxing ddc316e240 Changed GetPerformanceCounter() to use the most efficient mean to unsigned extend an UINT32 value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1343 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-22 01:36:09 +00:00
bxing f094c270ee A workaround to a compiler bug that causes the high order 32 bits of GetPerformanceCounter() being indeterminate.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1336 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-21 09:32:26 +00:00
bxing eeb1cd5af3 1. Added Non-existing.c in BaseLib to assert no invocations of SwitchStack() on IPF.
2. Added SwitchIplStacks() function to DxeIplPeim to encapsulate arch details on stack switching.
3. Added PeiSwitchStacks() function to PeiMain to encapsulate arch details on stack switching.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1328 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-21 02:53:29 +00:00
bxing 6e028650e7 Fixed a bug causing the high order double word of values returned by GetPerformanceCounter() became -1.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1322 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-18 08:33:00 +00:00
klu2 ca844f3623 Continue to fix EDKT187.
After discussion with ouyang, qian and shi, carl, we find it is no necessary to add PcdLib according to whether library instance use PcdLib.
In this patch. I remove original fixing and correct some MSA file.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1315 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-17 16:23:46 +00:00
bxing 681dbac98c Added AsmSwitchStackAndBackingStore() to BaseLib.h for stack switching on IPF.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1305 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-17 05:32:47 +00:00
vanjeff 9c7790d2cb 1. Adjust might be 64bit, so we need to typecast it to UINT32 firstly.
2. Synchronization modification described in Tracker EDKT182 to all dependent files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1270 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-15 06:35:47 +00:00
yshang1 af7964350b git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1245 6f19259b-4bc3-4df7-8a09-765794883524 2006-08-14 03:34:45 +00:00
yshang1 b059e41102 Add function headers in UefiDriverModuleLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1244 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-14 03:33:32 +00:00
ajfish 317f832ef8 Fixed bugs found when this code was ported into R8.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1240 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-11 18:04:56 +00:00
bxing 3a5dcc063c Removed unnecessary MSR access in InternalX86Delay()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1228 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-10 04:42:10 +00:00
bxing cea9bda05a 1. Added ReadWriteBarrier() before and after each I/O read/write function.
2. Removed all ReadWriteBarrier() function calls in all MMIO functions.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1224 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-09 06:38:30 +00:00
qhuang8 57315d7035 Fix a typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1176 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-02 04:33:35 +00:00
vanjeff 4a78c00aac 1. cleanup functions header in PeCoffLoaderEx.c
2. fixed link error in EnablePaging64.asm

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1175 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-02 03:19:19 +00:00
bxing eb227e96bd 1. Updated function headers for all assembly function
2. Optimized register usage in SetMemXX functions in all lib instances
3. Fixed a logical error in CopyMem for all lib instances


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1139 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-28 07:28:19 +00:00
lgao4 c941b270ea TeImage Signature should be got from Te pointer, not Pe pointer
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1136 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-28 06:08:00 +00:00
klu2 aa0dc7b430 Fix a warning issue under CYGWIN_GCC building:
A function cannot be declared as returning a data object having a volatile or const type, but it can return a pointer to a volatile or const object.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1121 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-27 12:25:28 +00:00
ajfish 236877a6a7 Added back safety check for PE/COFF image walking. I think the safety check is broken in some places (Linux) but we need to investigate more.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1108 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-26 23:34:08 +00:00
ajfish 2ce311322c Removed cross references from PciCf8Lib and PciExpressLib class to PciLib class.
Added PeCoffLoaderGetMachineType to the PeCoffGetEntryPointLibrary Class. Document to be updated.

Added the PeCoffLoaderImageReadFromMemory() and PeCoffLoaderRelocateImageForRuntime () to the PcCoffLib. 

Updated EfiImage.h and removed EFI_IMAGE_OPTIONAL_HEADER and EFI_IMAGE_NT_HEADERS as they were replaced with checking the MachineType.

PeCoffLib – Added checks for MachineType so the PeCoff lib can load any PE32 or PE32+ image. The relocations are still limited to IA32, X64, IPF, and EBC. I also added a re-relocator function to remove PeLoader Code from Runtime Lib. Even though there is only one instance of the re-relocator I wanted to get all the PeCoff loader code together.

Replaced DEBUG_CODE() macro with DEBUG_CODE_START() and DEBUG_CODE_END() so you can debug through the DEBUG_CODE() macros. Also removed PE/COFF code and replaced with library usage.

I also updated the IO Instrinsic lib to use _ReadWriteBarrior() to help with sync problems

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1103 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-26 15:23:35 +00:00
bxing ebca816989 Added a 64-bit version of EnablePaging64() on X64. AsmEnablePaging64() is the transition code to switch the processor from 32-bit into 64-bit long mode and thus is typically linked with 32-bit images only. However, it's desired to link the transition code into a 64-bit image in some special cases. CPU driver is a good example among those.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1092 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-25 08:30:02 +00:00
bxing 452e6c77be Updated function headers according to latest MWG.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1090 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-25 07:37:25 +00:00
bxing ed384ef31c 1. Updated declaration of timer functions according to latest MWG.
2. Updated coding style.
3. Updated the algorithm used in delay functions to handle timer counter wrap-around.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1089 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-25 07:33:02 +00:00
qhuang8 c4898a017e Fix a bug in UefiDevicePathLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1084 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-24 10:15:33 +00:00
qhuang8 9a557fb6c7 Remove the instance of BaseSmbusLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1076 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-23 12:55:55 +00:00
qhuang8 1f33a17ff1 Adjust coding style for MemoryAllocationLib.
Add function header for an internal function of PciExpressLib
Fix a typo in one comment of UefiLib
Remove BaseSmbusLib

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1075 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-23 12:55:05 +00:00
bxing 3f566587ae 1. Updated function headers in all assembly files.
2. Split x86LowLevel.c into a bunch of C files to make images linked with BaseLib smaller.
3. Fixed a few minor bugs.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1066 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-21 08:47:38 +00:00
vanjeff 151c1ccdcd Modified comment for gDs
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1054 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-20 07:27:57 +00:00
vanjeff 9f73d38da4 added some comments in BaseLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1053 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-20 04:00:59 +00:00
vanjeff bda7fbcc2f 1.Added EFIAPI for some assembly functions declare
2.Modified some functions header 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1052 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-20 02:48:06 +00:00
vanjeff 1ea5ca46c7 1. added functions header for BaseUefiDecompressLi
2. added some internal functions header for BaseLib
3. added EFIAPI for some internal assembly files declare

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1050 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-19 17:37:07 +00:00
ajfish a537f1483c Fixed some naming issues and update to the EDK II name. I also fixed an issue with the UEFI library forcing UEFI.h to include Tinao protocols. I make the UEFI library a DXE library so it would get the correct includes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1048 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-19 12:24:11 +00:00
qwang12 2a870f5348 Add [in,out] in the @param for PCD header and c file.
Update GetNextToken and GetNextTokenSpaces APIs parameter sequence according to PCD spec.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1040 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-19 05:18:47 +00:00
klu2 4b9fc76f7b Fix track EDKT104: If a module use PCD, MSA of this module should use PcdLib libraryClass.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1034 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-17 14:31:03 +00:00
bxing bbe4ba8149 Modified coding style, removed unnecessary comments and "offset" key words.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1033 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-17 09:38:46 +00:00
qhuang8 3847c8f315 Add missing ASSERT()s in PeiPcdLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1002 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-14 07:48:36 +00:00
qhuang8 44cf7a02c1 Port thunk16 code from MSFT to GCC assembly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@999 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-14 06:30:17 +00:00
jwang36 5e1c3eedcd Added license & copyright declaration
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@967 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-13 08:24:50 +00:00
bxing 3cc092acf2 Revised GetPowerOfTwo32() and GetPowerOfTwo64() to be more efficient.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@963 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-13 08:05:35 +00:00
qhuang8 f23c214dca Fix bug in .S files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@952 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-13 05:58:02 +00:00