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
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
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
rsun3
faeb3214d4
Fix the implementation of AsciiStrStr() and StrStr() in MdePkg. If the length of SearchString is zero, then String is returned.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8297 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 03:33:34 +00:00
rsun3
62e71e2fbe
Fix bugs in StrStr() and AsciiStrStr().
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8261 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-08 05:22:17 +00:00
klu2
8243b089ab
Update function comments for AsmPrepareThunk16, AsmThunk16, AsmPrepareAndThunk16 interface. These interfaces could be used in either physical mode or virtual modes with paging enabled where virtual to physical mappings for ThunkContext.RealModeBuffer is mapped to 1:1
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8231 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-04 03:33:53 +00:00
klu2
d1be17ab87
Add checking for ThunkAttribute to avoid THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL and THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 are set at same time.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8230 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-04 03:00:08 +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
klu2
52fa075c38
Add limitation clarification for usage of AsmPrepareThunk16(), AsmThunk16(), AsmPrepareAndThunk16() interfaces that they are could only be used in physical mode but can not be used in virtual mode with paging.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8202 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-29 06:23:35 +00:00
eric_tian
53e9661036
update string function comment to clear the semantic meaning.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8153 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-23 03:11:45 +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
eric_tian
dfbe9de95f
add assertion condition to satisfy the requirement in MdePkg library spec 0.61p
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8033 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-07 09:14:33 +00:00
qhuang8
ff565d71e1
Remove incorrect assertion. According to spec, it should not assert and should return 0.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7853 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 13:58:52 +00:00
xli24
053b13f296
Fix the error that part of instructions of AsmWriteIva() is not included into the function body.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7751 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-02 03:54:47 +00:00
qhuang8
440ceebd78
Clean up to remove unreferenced data structure
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7599 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 07:04:13 +00:00
lgao4
9e5acfd583
Change style 0 == Index to Index == 0
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7493 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 13:17:51 +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
mdkinney
720d3c5fb3
Split out Synchronization Library from Base Library
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7377 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-30 00:45:13 +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
gikidy
34b0820ec6
INF file verified, and Coding Style reviewed.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7232 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 07:23:31 +00:00
vanjeff
0a6c0fd563
Update function header.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7210 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-08 08:20:28 +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
6446db6e74
Update to use Dos format for all .s files
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7087 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-22 12:47:53 +00:00
qhuang8
4e16d2cd28
Add AccessMsrDb.s for MSFT tool chain. It uses raw data to represent instructions "mov msr[]=" and "mov =msr[]", which is only supported by INTEL & GCC tool chain.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7069 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-17 09:58:39 +00:00
qhuang8
59e0bb0cbd
1. Simplify the implementation of AsmReadApplicationRegister() & AsmReadControlRegister() for IPF architecture.
...
2. Add AsmReadMsr() & AsmWriteMsr() for IPF architecture
3. update AsmCpuMisc.s to only support GCC tool chain to avoid symbol collision.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7034 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-15 15:51:43 +00:00
gikidy
77f863ee03
Fix some typo.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7007 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 05:54:07 +00:00
gikidy
efb2311707
Synchronize MdePkg h files to Library/Base* c files.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6984 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11 04:45:23 +00:00
gikidy
2fc60b7038
Synchronize BaseLib h files to c files.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6983 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11 02:59:41 +00:00
gikidy
2fe241a290
Synchronize comment of BaseLib.h and it's implementation to match the Spec.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6929 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-09 07:02:26 +00:00
gikidy
62991af27f
Make comments match the Spec.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6876 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 09:50:02 +00:00
qhuang8
030cd1a2e9
Update the text to use "x64" instead of "X64" in MdePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6854 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 03:23:13 +00:00
gikidy
cc39b88baa
Change function IpfFlushCacheRange() to AsmFlushCacheRange() follow the Mde_Lib_Spec 0.61k
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6834 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-04 06:52:09 +00:00
qhuang8
be5f161485
Add AsmEnableCache() and AsmDisableCache() as the IA32 & x64 specific BaseLib API.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6807 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 02:19:49 +00:00
qhuang8
cd2ed84a47
De-Unicode in MdePkg source files.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6794 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-01 14:06:25 +00:00
klu2
891193ee4f
Fix the issue that wrong doxygen header comments.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6788 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-01 07:34:29 +00:00
lgao4
ac7e320cb8
Remove NibbleToHexChar() function from BaseLib
...
Move IsHexDigit, BufToHexString, HexStringToBuf from BaseLib to MdeModulePkg IfrSupportLib. The reason is:
1) IsHexDigit function provides the logic to check Hex Digit and convert it to Decimal value, which is required by IScsi LUN and HII user input. But this logic is not provided by any functions in MdeLib. So, it can't be deleted. It is moved to IfrSupportLib.
2) BufToHexString function converts a array of buffers to hex string. If the buffer length is less than sizeof (UINT64), it can be directly replaced by UnicodeValueToString(). But HII modules may use BufToHexString to convert the buffers whose length > sizeof (UINT64). For example:
.\MdeModulePkg\Universal\HiiDatabaseDxe\ConfigRouting.c line 201, 1148
.\Universal\SetupBrowserDxe\Setup.c line line 1457, 1503
Like this case, it is not easy to use UnicodeValueToString to replace BufToHexString. So, BufToHexString is still kept. Because such usages are in HII modules, this function is moved to IfrSupportLib.
3) HexStringToBuf is moved to IfrSupportLib. The reason is similar to BufToHexString.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6782 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-01 02:32:12 +00:00
qhuang8
aad6137d5c
1. Removal PalCallStatic API
...
2. Two two new ReadApplicationRegister.c(), ReadControlRegister.c() API together with its related definitions in BaseLib.h
3. Remove prototype of AsmSwitchStackAndBackingStore() in public BaseLib.h, it is supposed to be a worker function for AsmSwitchStack()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6757 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 06:48:03 +00:00