MdePkg/BaseLib: Replaced inline assembly for ARMGCC by GCC assembly source file

The registers used to passed arguments to the DxeCore entrypoint in the inline
assembly function InternalSwitchStackAsm() where switched at compilation time.
This change replaces the inline assembly by a pure assembly source file to
avoid this kind of optimization.

Note: Inline assembly is generally not recommanded in system programming.

Reviewed-by: lgao4



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12674 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin
2011-11-08 18:49:22 +00:00
parent 0b6b57c4d7
commit 0806815921
3 changed files with 69 additions and 77 deletions

View File

@@ -469,7 +469,7 @@
Arm/CpuBreakpoint.asm | RVCT
Arm/Math64.S | GCC
Arm/GccInline.c | GCC
Arm/SwitchStack.S | GCC
Arm/EnableInterrupts.S | GCC
Arm/DisableInterrupts.S | GCC
Arm/GetInterruptsState.S | GCC