]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg: update RVCT assembly functions to use new RVCT_ASM_EXPORT macro
authorEugene Cohen <eugene@hp.com>
Thu, 3 Dec 2015 20:28:02 +0000 (20:28 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Thu, 3 Dec 2015 20:28:02 +0000 (20:28 +0000)
This has the effect of splitting assembly functions into their own sections
so the linker can remove unused ones to save space.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19109 6f19259b-4bc3-4df7-8a09-765794883524

27 files changed:
ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Helper.asm
ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm
ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.asm
ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm
ArmPkg/Library/ArmLib/ArmV7/ArmV7ArchTimerSupport.asm
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm
ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm
ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.asm
ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm
ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm
ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.asm
ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.asm
ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf
ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy4.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

index 7150834b023a697c0e2dec5a3d122677dc72c97e..1417c9a782041c172276f7246d5ed356da706844 100644 (file)
 #include <Library/ArmCpuLib.h>\r
 #include <Chipset/ArmCortexA9.h>\r
 \r
+  INCLUDE AsmMacroExport.inc\r
   INCLUDE AsmMacroIoLib.inc\r
 \r
-  EXPORT  ArmGetScuBaseAddress\r
 \r
   PRESERVE8\r
-  AREA    ArmCortexA9Helper, CODE, READONLY\r
 \r
 // IN None\r
 // OUT r0 = SCU Base Address\r
-ArmGetScuBaseAddress\r
+ RVCT_ASM_EXPORT ArmGetScuBaseAddress\r
   // Read Configuration Base Address Register. ArmCBar cannot be called to get\r
   // the Configuration BAR as a stack is not necessary setup. The SCU is at the\r
   // offset 0x0000 from the Private Memory Region.\r
index 92c3236b25bfe868a24303c909b4e1ee0886f752..4228fb59be54d80ae2a9fe25b8ed3396f7425eb8 100644 (file)
 \r
 // For the moment we assume this will run in SVC mode on ARMv7\r
 \r
-    EXPORT  ArmGicV3GetControlSystemRegisterEnable\r
-    EXPORT  ArmGicV3SetControlSystemRegisterEnable\r
-    EXPORT  ArmGicV3EnableInterruptInterface\r
-    EXPORT  ArmGicV3DisableInterruptInterface\r
-    EXPORT  ArmGicV3EndOfInterrupt\r
-    EXPORT  ArmGicV3AcknowledgeInterrupt\r
-    EXPORT  ArmGicV3SetPriorityMask\r
-    EXPORT  ArmGicV3SetBinaryPointer\r
 \r
-    AREA ArmGicV3, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 //UINT32\r
 //EFIAPI\r
 //ArmGicGetControlSystemRegisterEnable (\r
 //  VOID\r
 //  );\r
-ArmGicV3GetControlSystemRegisterEnable\r
+ RVCT_ASM_EXPORT ArmGicV3GetControlSystemRegisterEnable\r
         mrc     p15, 0, r0, c12, c12, 5 // ICC_SRE\r
         bx      lr\r
 \r
@@ -38,7 +30,7 @@ ArmGicV3GetControlSystemRegisterEnable
 //ArmGicSetControlSystemRegisterEnable (\r
 //  IN UINT32         ControlSystemRegisterEnable\r
 //  );\r
-ArmGicV3SetControlSystemRegisterEnable\r
+ RVCT_ASM_EXPORT ArmGicV3SetControlSystemRegisterEnable\r
         mcr     p15, 0, r0, c12, c12, 5 // ICC_SRE\r
         isb\r
         bx      lr\r
@@ -47,7 +39,7 @@ ArmGicV3SetControlSystemRegisterEnable
 //ArmGicV3EnableInterruptInterface (\r
 //  VOID\r
 //  );\r
-ArmGicV3EnableInterruptInterface\r
+ RVCT_ASM_EXPORT ArmGicV3EnableInterruptInterface\r
         mov     r0, #1\r
         mcr     p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1\r
         bx      lr\r
@@ -56,7 +48,7 @@ ArmGicV3EnableInterruptInterface
 //ArmGicV3DisableInterruptInterface (\r
 //  VOID\r
 //  );\r
-ArmGicV3DisableInterruptInterface\r
+ RVCT_ASM_EXPORT ArmGicV3DisableInterruptInterface\r
         mov     r0, #0\r
         mcr     p15, 0, r0, c12, c12, 7 // ICC_IGRPEN1\r
         bx      lr\r
@@ -65,7 +57,7 @@ ArmGicV3DisableInterruptInterface
 //ArmGicV3EndOfInterrupt (\r
 //  IN UINTN InterruptId\r
 //  );\r
-ArmGicV3EndOfInterrupt\r
+ RVCT_ASM_EXPORT ArmGicV3EndOfInterrupt\r
         mcr     p15, 0, r0, c12, c12, 1 //ICC_EOIR1\r
         bx      lr\r
 \r
@@ -73,7 +65,7 @@ ArmGicV3EndOfInterrupt
 //ArmGicV3AcknowledgeInterrupt (\r
 //  VOID\r
 //  );\r
-ArmGicV3AcknowledgeInterrupt\r
+ RVCT_ASM_EXPORT ArmGicV3AcknowledgeInterrupt\r
         mrc     p15, 0, r0, c12, c8, 0 //ICC_IAR1\r
         bx      lr\r
 \r
@@ -81,7 +73,7 @@ ArmGicV3AcknowledgeInterrupt
 //ArmGicV3SetPriorityMask (\r
 //  IN UINTN                  Priority\r
 //  );\r
-ArmGicV3SetPriorityMask\r
+ RVCT_ASM_EXPORT ArmGicV3SetPriorityMask\r
         mcr     p15, 0, r0, c4, c6, 0 //ICC_PMR\r
         bx      lr\r
 \r
@@ -89,7 +81,7 @@ ArmGicV3SetPriorityMask
 //ArmGicV3SetBinaryPointer (\r
 //  IN UINTN                  BinaryPoint\r
 //  );\r
-ArmGicV3SetBinaryPointer\r
+ RVCT_ASM_EXPORT ArmGicV3SetBinaryPointer\r
         mcr     p15, 0, r0, c12, c12, 3 //ICC_BPR1\r
         bx      lr\r
 \r
index bac26fbe28c8cd1bcd4711e20b6f84b9d78094f3..fe4b174c75bc616ae7ba4c14a65192ba38c1aa17 100644 (file)
 //\r
 //\r
 \r
-    EXPORT ArmCallHvc\r
 \r
-    AREA   ArmHvc, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-ArmCallHvc\r
+ RVCT_ASM_EXPORT ArmCallHvc\r
     push    {r4-r8}\r
     // r0 will be popped just after the HVC call\r
     push     {r0}\r
index 81792322535354129fcf470c97e571813919015e..cbbe8dbe3db16fa2319b759a62b21ba0a217ede4 100644 (file)
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  ArmIsMpCore\r
-    EXPORT  ArmHasMpExtensions\r
-    EXPORT  ArmEnableAsynchronousAbort\r
-    EXPORT  ArmDisableAsynchronousAbort\r
-    EXPORT  ArmEnableIrq\r
-    EXPORT  ArmDisableIrq\r
-    EXPORT  ArmEnableFiq\r
-    EXPORT  ArmDisableFiq\r
-    EXPORT  ArmEnableInterrupts\r
-    EXPORT  ArmDisableInterrupts\r
-    EXPORT  ReadCCSIDR\r
-    EXPORT  ReadCLIDR\r
-    EXPORT  ArmReadNsacr\r
-    EXPORT  ArmWriteNsacr\r
-\r
-    AREA ArmLibSupportV7, CODE, READONLY\r
+\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 \r
 //------------------------------------------------------------------------------\r
 \r
-ArmIsMpCore\r
+ RVCT_ASM_EXPORT ArmIsMpCore\r
   mrc     p15,0,R0,c0,c0,5\r
   // Get Multiprocessing extension (bit31) & U bit (bit30)\r
   and     R0, R0, #0xC0000000\r
@@ -44,48 +30,48 @@ ArmIsMpCore
   movne   R0, #0\r
   bx      LR\r
 \r
-ArmHasMpExtensions\r
+ RVCT_ASM_EXPORT ArmHasMpExtensions\r
   mrc     p15,0,R0,c0,c0,5\r
   // Get Multiprocessing extension (bit31)\r
   lsr     R0, R0, #31\r
   bx      LR\r
 \r
-ArmEnableAsynchronousAbort\r
+ RVCT_ASM_EXPORT ArmEnableAsynchronousAbort\r
   cpsie   a\r
   isb\r
   bx      LR\r
 \r
-ArmDisableAsynchronousAbort\r
+ RVCT_ASM_EXPORT ArmDisableAsynchronousAbort\r
   cpsid   a\r
   isb\r
   bx      LR\r
 \r
-ArmEnableIrq\r
+ RVCT_ASM_EXPORT ArmEnableIrq\r
   cpsie   i\r
   isb\r
   bx      LR\r
 \r
-ArmDisableIrq\r
+ RVCT_ASM_EXPORT ArmDisableIrq\r
   cpsid   i\r
   isb\r
   bx      LR\r
 \r
-ArmEnableFiq\r
+ RVCT_ASM_EXPORT ArmEnableFiq\r
   cpsie   f\r
   isb\r
   bx      LR\r
 \r
-ArmDisableFiq\r
+ RVCT_ASM_EXPORT ArmDisableFiq\r
   cpsid   f\r
   isb\r
   bx      LR\r
 \r
-ArmEnableInterrupts\r
+ RVCT_ASM_EXPORT ArmEnableInterrupts\r
   cpsie   if\r
   isb\r
   bx      LR\r
 \r
-ArmDisableInterrupts\r
+ RVCT_ASM_EXPORT ArmDisableInterrupts\r
   cpsid   if\r
   isb\r
   bx      LR\r
@@ -94,7 +80,7 @@ ArmDisableInterrupts
 // ReadCCSIDR (\r
 //   IN UINT32 CSSELR\r
 //   )\r
-ReadCCSIDR\r
+ RVCT_ASM_EXPORT ReadCCSIDR\r
   mcr p15,2,r0,c0,c0,0   ; Write Cache Size Selection Register (CSSELR)\r
   isb\r
   mrc p15,1,r0,c0,c0,0 ; Read current CP15 Cache Size ID Register (CCSIDR)\r
@@ -104,15 +90,15 @@ ReadCCSIDR
 // ReadCLIDR (\r
 //   IN UINT32 CSSELR\r
 //   )\r
-ReadCLIDR\r
+ RVCT_ASM_EXPORT ReadCLIDR\r
   mrc p15,1,r0,c0,c0,1 ; Read CP15 Cache Level ID Register\r
   bx  lr\r
 \r
-ArmReadNsacr\r
+ RVCT_ASM_EXPORT ArmReadNsacr\r
   mrc     p15, 0, r0, c1, c1, 2\r
   bx      lr\r
 \r
-ArmWriteNsacr\r
+ RVCT_ASM_EXPORT ArmWriteNsacr\r
   mcr     p15, 0, r0, c1, c1, 2\r
   bx      lr\r
 \r
index 514830d28f2f31e9a6de15c3b933b935d6fe3f65..a53dd6045706f73dc31fe6cc52f68b5c725d5295 100644 (file)
 //\r
 //------------------------------------------------------------------------------\r
 \r
-    EXPORT  ArmReadCntFrq\r
-    EXPORT  ArmWriteCntFrq\r
-    EXPORT  ArmReadCntPct\r
-    EXPORT  ArmReadCntkCtl\r
-    EXPORT  ArmWriteCntkCtl\r
-    EXPORT  ArmReadCntpTval\r
-    EXPORT  ArmWriteCntpTval\r
-    EXPORT  ArmReadCntpCtl\r
-    EXPORT  ArmWriteCntpCtl\r
-    EXPORT  ArmReadCntvTval\r
-    EXPORT  ArmWriteCntvTval\r
-    EXPORT  ArmReadCntvCtl\r
-    EXPORT  ArmWriteCntvCtl\r
-    EXPORT  ArmReadCntvCt\r
-    EXPORT  ArmReadCntpCval\r
-    EXPORT  ArmWriteCntpCval\r
-    EXPORT  ArmReadCntvCval\r
-    EXPORT  ArmWriteCntvCval\r
-    EXPORT  ArmReadCntvOff\r
-    EXPORT  ArmWriteCntvOff\r
-\r
-    AREA    ArmV7ArchTimerSupport, CODE, READONLY\r
+\r
+    INCLUDE AsmMacroExport.inc\r
     PRESERVE8\r
 \r
-ArmReadCntFrq\r
+ RVCT_ASM_EXPORT ArmReadCntFrq\r
   mrc    p15, 0, r0, c14, c0, 0    ; Read CNTFRQ\r
   bx     lr\r
 \r
-ArmWriteCntFrq\r
+ RVCT_ASM_EXPORT ArmWriteCntFrq\r
   mcr    p15, 0, r0, c14, c0, 0    ; Write to CNTFRQ\r
   bx     lr\r
 \r
-ArmReadCntPct\r
+ RVCT_ASM_EXPORT ArmReadCntPct\r
   mrrc   p15, 0, r0, r1, c14       ; Read CNTPT (Physical counter register)\r
   bx     lr\r
 \r
-ArmReadCntkCtl\r
+ RVCT_ASM_EXPORT ArmReadCntkCtl\r
   mrc    p15, 0, r0, c14, c1, 0    ; Read CNTK_CTL (Timer PL1 Control Register)\r
   bx     lr\r
 \r
-ArmWriteCntkCtl\r
+ RVCT_ASM_EXPORT ArmWriteCntkCtl\r
   mcr    p15, 0, r0, c14, c1, 0    ; Write to CNTK_CTL (Timer PL1 Control Register)\r
   bx     lr\r
 \r
-ArmReadCntpTval\r
+ RVCT_ASM_EXPORT ArmReadCntpTval\r
   mrc    p15, 0, r0, c14, c2, 0    ; Read CNTP_TVAL (PL1 physical timer value register)\r
   bx     lr\r
 \r
-ArmWriteCntpTval\r
+ RVCT_ASM_EXPORT ArmWriteCntpTval\r
   mcr    p15, 0, r0, c14, c2, 0    ; Write to CNTP_TVAL (PL1 physical timer value register)\r
   bx     lr\r
 \r
-ArmReadCntpCtl\r
+ RVCT_ASM_EXPORT ArmReadCntpCtl\r
   mrc    p15, 0, r0, c14, c2, 1    ; Read CNTP_CTL (PL1 Physical Timer Control Register)\r
   bx     lr\r
 \r
-ArmWriteCntpCtl\r
+ RVCT_ASM_EXPORT ArmWriteCntpCtl\r
   mcr    p15, 0, r0, c14, c2, 1    ; Write to  CNTP_CTL (PL1 Physical Timer Control Register)\r
   bx     lr\r
 \r
-ArmReadCntvTval\r
+ RVCT_ASM_EXPORT ArmReadCntvTval\r
   mrc    p15, 0, r0, c14, c3, 0    ; Read CNTV_TVAL (Virtual Timer Value register)\r
   bx     lr\r
 \r
-ArmWriteCntvTval\r
+ RVCT_ASM_EXPORT ArmWriteCntvTval\r
   mcr    p15, 0, r0, c14, c3, 0    ; Write to CNTV_TVAL (Virtual Timer Value register)\r
   bx     lr\r
 \r
-ArmReadCntvCtl\r
+ RVCT_ASM_EXPORT ArmReadCntvCtl\r
   mrc    p15, 0, r0, c14, c3, 1    ; Read CNTV_CTL (Virtual Timer Control Register)\r
   bx     lr\r
 \r
-ArmWriteCntvCtl\r
+ RVCT_ASM_EXPORT ArmWriteCntvCtl\r
   mcr    p15, 0, r0, c14, c3, 1    ; Write to CNTV_CTL (Virtual Timer Control Register)\r
   bx     lr\r
 \r
-ArmReadCntvCt\r
+ RVCT_ASM_EXPORT ArmReadCntvCt\r
   mrrc   p15, 1, r0, r1, c14       ; Read CNTVCT  (Virtual Count Register)\r
   bx     lr\r
 \r
-ArmReadCntpCval\r
+ RVCT_ASM_EXPORT ArmReadCntpCval\r
   mrrc   p15, 2, r0, r1, c14       ; Read CNTP_CTVAL (Physical Timer Compare Value Register)\r
   bx     lr\r
 \r
-ArmWriteCntpCval\r
+ RVCT_ASM_EXPORT ArmWriteCntpCval\r
   mcrr   p15, 2, r0, r1, c14       ; Write to CNTP_CTVAL (Physical Timer Compare Value Register)\r
   bx     lr\r
 \r
-ArmReadCntvCval\r
+ RVCT_ASM_EXPORT ArmReadCntvCval\r
   mrrc   p15, 3, r0, r1, c14       ; Read CNTV_CTVAL (Virtual Timer Compare Value Register)\r
   bx     lr\r
 \r
-ArmWriteCntvCval\r
+ RVCT_ASM_EXPORT ArmWriteCntvCval\r
   mcrr   p15, 3, r0, r1, c14       ; write to  CNTV_CTVAL (Virtual Timer Compare Value Register)\r
   bx     lr\r
 \r
-ArmReadCntvOff\r
+ RVCT_ASM_EXPORT ArmReadCntvOff\r
   mrrc   p15, 4, r0, r1, c14       ; Read CNTVOFF (virtual Offset register)\r
   bx     lr\r
 \r
-ArmWriteCntvOff\r
+ RVCT_ASM_EXPORT ArmWriteCntvOff\r
   mcrr   p15, 4, r0, r1, c14       ; Write to CNTVOFF (Virtual Offset register)\r
   bx     lr\r
 \r
index 542157bef7ae848904226c81266d22e3c617a22b..df7e22dca2d911e6d88fd056ccdd44e5a1c0f752 100644 (file)
 //\r
 //------------------------------------------------------------------------------\r
 \r
-    EXPORT  ArmInvalidateInstructionCache\r
-    EXPORT  ArmInvalidateDataCacheEntryByMVA\r
-    EXPORT  ArmCleanDataCacheEntryByMVA\r
-    EXPORT  ArmCleanInvalidateDataCacheEntryByMVA\r
-    EXPORT  ArmInvalidateDataCacheEntryBySetWay\r
-    EXPORT  ArmCleanDataCacheEntryBySetWay\r
-    EXPORT  ArmCleanInvalidateDataCacheEntryBySetWay\r
-    EXPORT  ArmEnableMmu\r
-    EXPORT  ArmDisableMmu\r
-    EXPORT  ArmDisableCachesAndMmu\r
-    EXPORT  ArmMmuEnabled\r
-    EXPORT  ArmEnableDataCache\r
-    EXPORT  ArmDisableDataCache\r
-    EXPORT  ArmEnableInstructionCache\r
-    EXPORT  ArmDisableInstructionCache\r
-    EXPORT  ArmEnableSWPInstruction\r
-    EXPORT  ArmEnableBranchPrediction\r
-    EXPORT  ArmDisableBranchPrediction\r
-    EXPORT  ArmSetLowVectors\r
-    EXPORT  ArmSetHighVectors\r
-    EXPORT  ArmV7AllDataCachesOperation\r
-    EXPORT  ArmDataMemoryBarrier\r
-    EXPORT  ArmDataSynchronizationBarrier\r
-    EXPORT  ArmInstructionSynchronizationBarrier\r
-    EXPORT  ArmReadVBar\r
-    EXPORT  ArmWriteVBar\r
-    EXPORT  ArmEnableVFP\r
-    EXPORT  ArmCallWFI\r
-    EXPORT  ArmReadCbar\r
-    EXPORT  ArmReadMpidr\r
-    EXPORT  ArmReadTpidrurw\r
-    EXPORT  ArmWriteTpidrurw\r
-    EXPORT  ArmIsArchTimerImplemented\r
-    EXPORT  ArmReadIdPfr1\r
-    EXPORT  ArmReadIdMmfr0\r
-\r
-    AREA    ArmV7Support, CODE, READONLY\r
+\r
+    INCLUDE AsmMacroExport.inc\r
     PRESERVE8\r
 \r
 DC_ON           EQU     ( 0x1:SHL:2 )\r
@@ -60,41 +25,41 @@ CTRL_B_BIT      EQU     (1 << 7)
 CTRL_I_BIT      EQU     (1 << 12)\r
 \r
 \r
-ArmInvalidateDataCacheEntryByMVA\r
+ RVCT_ASM_EXPORT ArmInvalidateDataCacheEntryByMVA\r
   mcr     p15, 0, r0, c7, c6, 1   ; invalidate single data cache line\r
   bx      lr\r
 \r
-ArmCleanDataCacheEntryByMVA\r
+ RVCT_ASM_EXPORT ArmCleanDataCacheEntryByMVA\r
   mcr     p15, 0, r0, c7, c10, 1  ; clean single data cache line\r
   bx      lr\r
 \r
 \r
-ArmCleanInvalidateDataCacheEntryByMVA\r
+ RVCT_ASM_EXPORT ArmCleanInvalidateDataCacheEntryByMVA\r
   mcr     p15, 0, r0, c7, c14, 1  ; clean and invalidate single data cache line\r
   bx      lr\r
 \r
 \r
-ArmInvalidateDataCacheEntryBySetWay\r
+ RVCT_ASM_EXPORT ArmInvalidateDataCacheEntryBySetWay\r
   mcr     p15, 0, r0, c7, c6, 2        ; Invalidate this line\r
   bx      lr\r
 \r
 \r
-ArmCleanInvalidateDataCacheEntryBySetWay\r
+ RVCT_ASM_EXPORT ArmCleanInvalidateDataCacheEntryBySetWay\r
   mcr     p15, 0, r0, c7, c14, 2       ; Clean and Invalidate this line\r
   bx      lr\r
 \r
 \r
-ArmCleanDataCacheEntryBySetWay\r
+ RVCT_ASM_EXPORT ArmCleanDataCacheEntryBySetWay\r
   mcr     p15, 0, r0, c7, c10, 2       ; Clean this line\r
   bx      lr\r
 \r
 \r
-ArmInvalidateInstructionCache\r
+ RVCT_ASM_EXPORT ArmInvalidateInstructionCache\r
   mcr     p15,0,R0,c7,c5,0      ;Invalidate entire instruction cache\r
   isb\r
   bx      LR\r
 \r
-ArmEnableMmu\r
+ RVCT_ASM_EXPORT ArmEnableMmu\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   orr     R0,R0,#1              ; Set SCTLR.M bit : Enable MMU\r
   mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)\r
@@ -102,7 +67,7 @@ ArmEnableMmu
   isb\r
   bx      LR\r
 \r
-ArmDisableMmu\r
+ RVCT_ASM_EXPORT ArmDisableMmu\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   bic     R0,R0,#1              ; Clear SCTLR.M bit : Disable MMU\r
   mcr     p15,0,R0,c1,c0,0      ; Write R0 into SCTLR (Write control register configuration data)\r
@@ -113,7 +78,7 @@ ArmDisableMmu
   isb\r
   bx      LR\r
 \r
-ArmDisableCachesAndMmu\r
+ RVCT_ASM_EXPORT ArmDisableCachesAndMmu\r
   mrc   p15, 0, r0, c1, c0, 0           ; Get control register\r
   bic   r0, r0, #CTRL_M_BIT             ; Disable MMU\r
   bic   r0, r0, #CTRL_C_BIT             ; Disable D Cache\r
@@ -123,12 +88,12 @@ ArmDisableCachesAndMmu
   isb\r
   bx      LR\r
 \r
-ArmMmuEnabled\r
+ RVCT_ASM_EXPORT ArmMmuEnabled\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   and     R0,R0,#1\r
   bx      LR\r
 \r
-ArmEnableDataCache\r
+ RVCT_ASM_EXPORT ArmEnableDataCache\r
   ldr     R1,=DC_ON             ; Specify SCTLR.C bit : (Data) Cache enable bit\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   orr     R0,R0,R1              ; Set SCTLR.C bit : Data and unified caches enabled\r
@@ -137,7 +102,7 @@ ArmEnableDataCache
   isb\r
   bx      LR\r
 \r
-ArmDisableDataCache\r
+ RVCT_ASM_EXPORT ArmDisableDataCache\r
   ldr     R1,=DC_ON             ; Specify SCTLR.C bit : (Data) Cache enable bit\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   bic     R0,R0,R1              ; Clear SCTLR.C bit : Data and unified caches disabled\r
@@ -146,7 +111,7 @@ ArmDisableDataCache
   isb\r
   bx      LR\r
 \r
-ArmEnableInstructionCache\r
+ RVCT_ASM_EXPORT ArmEnableInstructionCache\r
   ldr     R1,=IC_ON             ; Specify SCTLR.I bit : Instruction cache enable bit\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   orr     R0,R0,R1              ; Set SCTLR.I bit : Instruction caches enabled\r
@@ -155,7 +120,7 @@ ArmEnableInstructionCache
   isb\r
   bx      LR\r
 \r
-ArmDisableInstructionCache\r
+ RVCT_ASM_EXPORT ArmDisableInstructionCache\r
   ldr     R1,=IC_ON             ; Specify SCTLR.I bit : Instruction cache enable bit\r
   mrc     p15,0,R0,c1,c0,0      ; Read SCTLR into R0 (Read control register configuration data)\r
   BIC     R0,R0,R1              ; Clear SCTLR.I bit : Instruction caches disabled\r
@@ -163,14 +128,14 @@ ArmDisableInstructionCache
   isb\r
   bx      LR\r
 \r
-ArmEnableSWPInstruction\r
+ RVCT_ASM_EXPORT ArmEnableSWPInstruction\r
   mrc     p15, 0, r0, c1, c0, 0\r
   orr     r0, r0, #0x00000400\r
   mcr     p15, 0, r0, c1, c0, 0\r
   isb\r
   bx      LR\r
 \r
-ArmEnableBranchPrediction\r
+ RVCT_ASM_EXPORT ArmEnableBranchPrediction\r
   mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)\r
   orr     r0, r0, #0x00000800   ;\r
   mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)\r
@@ -178,7 +143,7 @@ ArmEnableBranchPrediction
   isb\r
   bx      LR\r
 \r
-ArmDisableBranchPrediction\r
+ RVCT_ASM_EXPORT ArmDisableBranchPrediction\r
   mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)\r
   bic     r0, r0, #0x00000800   ;\r
   mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)\r
@@ -186,21 +151,21 @@ ArmDisableBranchPrediction
   isb\r
   bx      LR\r
 \r
-ArmSetLowVectors\r
+ RVCT_ASM_EXPORT ArmSetLowVectors\r
   mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)\r
   bic     r0, r0, #0x00002000   ; clear V bit\r
   mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)\r
   isb\r
   bx      LR\r
 \r
-ArmSetHighVectors\r
+ RVCT_ASM_EXPORT ArmSetHighVectors\r
   mrc     p15, 0, r0, c1, c0, 0 ; Read SCTLR into R0 (Read control register configuration data)\r
   orr     r0, r0, #0x00002000   ; Set V bit\r
   mcr     p15, 0, r0, c1, c0, 0 ; Write R0 into SCTLR (Write control register configuration data)\r
   isb\r
   bx      LR\r
 \r
-ArmV7AllDataCachesOperation\r
+ RVCT_ASM_EXPORT ArmV7AllDataCachesOperation\r
   stmfd SP!,{r4-r12, LR}\r
   mov   R1, R0                ; Save Function call in R1\r
   mrc   p15, 1, R6, c0, c0, 1 ; Read CLIDR\r
@@ -249,24 +214,24 @@ Finished
   ldmfd SP!, {r4-r12, lr}\r
   bx    LR\r
 \r
-ArmDataMemoryBarrier\r
+ RVCT_ASM_EXPORT ArmDataMemoryBarrier\r
   dmb\r
   bx      LR\r
 \r
-ArmDataSynchronizationBarrier\r
+ RVCT_ASM_EXPORT ArmDataSynchronizationBarrier\r
   dsb\r
   bx      LR\r
 \r
-ArmInstructionSynchronizationBarrier\r
+ RVCT_ASM_EXPORT ArmInstructionSynchronizationBarrier\r
   isb\r
   bx      LR\r
 \r
-ArmReadVBar\r
+ RVCT_ASM_EXPORT ArmReadVBar\r
   // Set the Address of the Vector Table in the VBAR register\r
   mrc     p15, 0, r0, c12, c0, 0\r
   bx      lr\r
 \r
-ArmWriteVBar\r
+ RVCT_ASM_EXPORT ArmWriteVBar\r
   // Set the Address of the Vector Table in the VBAR register\r
   mcr     p15, 0, r0, c12, c0, 0\r
   // Ensure the SCTLR.V bit is clear\r
@@ -276,7 +241,7 @@ ArmWriteVBar
   isb\r
   bx      lr\r
 \r
-ArmEnableVFP\r
+ RVCT_ASM_EXPORT ArmEnableVFP\r
   // Read CPACR (Coprocessor Access Control Register)\r
   mrc     p15, 0, r0, c1, c0, 2\r
   // Enable VPF access (Full Access to CP10, CP11) (V* instructions)\r
@@ -289,37 +254,37 @@ ArmEnableVFP
   mcr     p10,#0x7,r0,c8,c0,#0\r
   bx      lr\r
 \r
-ArmCallWFI\r
+ RVCT_ASM_EXPORT ArmCallWFI\r
   wfi\r
   bx      lr\r
 \r
 //Note: Return 0 in Uniprocessor implementation\r
-ArmReadCbar\r
+ RVCT_ASM_EXPORT ArmReadCbar\r
   mrc     p15, 4, r0, c15, c0, 0  //Read Configuration Base Address Register\r
   bx      lr\r
 \r
-ArmReadMpidr\r
+ RVCT_ASM_EXPORT ArmReadMpidr\r
   mrc     p15, 0, r0, c0, c0, 5     ; read MPIDR\r
   bx      lr\r
 \r
-ArmReadTpidrurw\r
+ RVCT_ASM_EXPORT ArmReadTpidrurw\r
   mrc     p15, 0, r0, c13, c0, 2    ; read TPIDRURW\r
   bx      lr\r
 \r
-ArmWriteTpidrurw\r
+ RVCT_ASM_EXPORT ArmWriteTpidrurw\r
   mcr     p15, 0, r0, c13, c0, 2   ; write TPIDRURW\r
   bx      lr\r
 \r
-ArmIsArchTimerImplemented\r
+ RVCT_ASM_EXPORT ArmIsArchTimerImplemented\r
   mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1\r
   and    r0, r0, #0x000F0000\r
   bx     lr\r
 \r
-ArmReadIdPfr1\r
+ RVCT_ASM_EXPORT ArmReadIdPfr1\r
   mrc    p15, 0, r0, c0, c1, 1     ; Read ID_PFR1 Register\r
   bx     lr\r
 \r
-ArmReadIdMmfr0\r
+ RVCT_ASM_EXPORT ArmReadIdMmfr0\r
   mrc    p15, 0, r0, c0, c1, 4     ; Read ID_MMFR0 Register\r
   bx     lr\r
 \r
index 0974d4608f755e8523cb6d50365ba46c091072b1..bdd862a96acb836065a3e78a92b4bdf364887dc1 100644 (file)
 \r
     INCLUDE AsmMacroIoLib.inc\r
 \r
-    EXPORT ArmReadMidr\r
-    EXPORT ArmCacheInfo\r
-    EXPORT ArmGetInterruptState\r
-    EXPORT ArmGetFiqState\r
-    EXPORT ArmGetTTBR0BaseAddress\r
-    EXPORT ArmSetTTBR0\r
-    EXPORT ArmSetDomainAccessControl\r
-    EXPORT CPSRMaskInsert\r
-    EXPORT CPSRRead\r
-    EXPORT ArmReadCpacr\r
-    EXPORT ArmWriteCpacr\r
-    EXPORT ArmWriteAuxCr\r
-    EXPORT ArmReadAuxCr\r
-    EXPORT ArmInvalidateTlb\r
-    EXPORT ArmUpdateTranslationTableEntry\r
-    EXPORT ArmReadScr\r
-    EXPORT ArmWriteScr\r
-    EXPORT ArmReadMVBar\r
-    EXPORT ArmWriteMVBar\r
-    EXPORT ArmReadHVBar\r
-    EXPORT ArmWriteHVBar\r
-    EXPORT ArmCallWFE\r
-    EXPORT ArmCallSEV\r
-    EXPORT ArmReadSctlr\r
-    EXPORT ArmReadCpuActlr\r
-    EXPORT ArmWriteCpuActlr\r
-\r
-    AREA ArmLibSupport, CODE, READONLY\r
-\r
-ArmReadMidr\r
+\r
+    INCLUDE AsmMacroExport.inc\r
+\r
+ RVCT_ASM_EXPORT ArmReadMidr\r
   mrc     p15,0,R0,c0,c0,0\r
   bx      LR\r
 \r
-ArmCacheInfo\r
+ RVCT_ASM_EXPORT ArmCacheInfo\r
   mrc     p15,0,R0,c0,c0,1\r
   bx      LR\r
 \r
-ArmGetInterruptState\r
+ RVCT_ASM_EXPORT ArmGetInterruptState\r
   mrs     R0,CPSR\r
   tst     R0,#0x80      // Check if IRQ is enabled.\r
   moveq   R0,#1\r
   movne   R0,#0\r
   bx      LR\r
 \r
-ArmGetFiqState\r
+ RVCT_ASM_EXPORT ArmGetFiqState\r
   mrs     R0,CPSR\r
   tst     R0,#0x40      // Check if FIQ is enabled.\r
   moveq   R0,#1\r
   movne   R0,#0\r
   bx      LR\r
 \r
-ArmSetDomainAccessControl\r
+ RVCT_ASM_EXPORT ArmSetDomainAccessControl\r
   mcr     p15,0,r0,c3,c0,0\r
   bx      lr\r
 \r
-CPSRMaskInsert    // on entry, r0 is the mask and r1 is the field to insert\r
+ RVCT_ASM_EXPORT CPSRMaskInsert\r
   stmfd   sp!, {r4-r12, lr} // save all the banked registers\r
   mov     r3, sp            // copy the stack pointer into a non-banked register\r
   mrs     r2, cpsr          // read the cpsr\r
@@ -85,33 +59,33 @@ CPSRMaskInsert    // on entry, r0 is the mask and r1 is the field to insert
   ldmfd   sp!, {r4-r12, lr} // restore registers\r
   bx      lr                // return (hopefully thumb-safe!)             // return (hopefully thumb-safe!)\r
 \r
-CPSRRead\r
+ RVCT_ASM_EXPORT CPSRRead\r
   mrs     r0, cpsr\r
   bx      lr\r
 \r
-ArmReadCpacr\r
+ RVCT_ASM_EXPORT ArmReadCpacr\r
   mrc     p15, 0, r0, c1, c0, 2\r
   bx      lr\r
 \r
-ArmWriteCpacr\r
+ RVCT_ASM_EXPORT ArmWriteCpacr\r
   mcr     p15, 0, r0, c1, c0, 2\r
   isb\r
   bx      lr\r
 \r
-ArmWriteAuxCr\r
+ RVCT_ASM_EXPORT ArmWriteAuxCr\r
   mcr     p15, 0, r0, c1, c0, 1\r
   bx      lr\r
 \r
-ArmReadAuxCr\r
+ RVCT_ASM_EXPORT ArmReadAuxCr\r
   mrc     p15, 0, r0, c1, c0, 1\r
   bx      lr\r
 \r
-ArmSetTTBR0\r
+ RVCT_ASM_EXPORT ArmSetTTBR0\r
   mcr     p15,0,r0,c2,c0,0\r
   isb\r
   bx      lr\r
 \r
-ArmGetTTBR0BaseAddress\r
+ RVCT_ASM_EXPORT ArmGetTTBR0BaseAddress\r
   mrc     p15,0,r0,c2,c0,0\r
   LoadConstantToReg(0xFFFFC000, r1)\r
   and     r0, r0, r1\r
@@ -124,7 +98,7 @@ ArmGetTTBR0BaseAddress
 //  IN VOID  *TranslationTableEntry  // R0\r
 //  IN VOID  *MVA                    // R1\r
 //  );\r
-ArmUpdateTranslationTableEntry\r
+ RVCT_ASM_EXPORT ArmUpdateTranslationTableEntry\r
   mcr     p15,0,R0,c7,c14,1     // DCCIMVAC Clean data cache by MVA\r
   dsb\r
   mcr     p15,0,R1,c8,c7,1      // TLBIMVA TLB Invalidate MVA\r
@@ -133,7 +107,7 @@ ArmUpdateTranslationTableEntry
   isb\r
   bx      lr\r
 \r
-ArmInvalidateTlb\r
+ RVCT_ASM_EXPORT ArmInvalidateTlb\r
   mov     r0,#0\r
   mcr     p15,0,r0,c8,c7,0\r
   mcr     p15,0,R9,c7,c5,6      // BPIALL Invalidate Branch predictor array. R9 == NoOp\r
@@ -141,48 +115,48 @@ ArmInvalidateTlb
   isb\r
   bx      lr\r
 \r
-ArmReadScr\r
+ RVCT_ASM_EXPORT ArmReadScr\r
   mrc     p15, 0, r0, c1, c1, 0\r
   bx      lr\r
 \r
-ArmWriteScr\r
+ RVCT_ASM_EXPORT ArmWriteScr\r
   mcr     p15, 0, r0, c1, c1, 0\r
   bx      lr\r
 \r
-ArmReadHVBar\r
+ RVCT_ASM_EXPORT ArmReadHVBar\r
   mrc     p15, 4, r0, c12, c0, 0\r
   bx      lr\r
 \r
-ArmWriteHVBar\r
+ RVCT_ASM_EXPORT ArmWriteHVBar\r
   mcr     p15, 4, r0, c12, c0, 0\r
   bx      lr\r
 \r
-ArmReadMVBar\r
+ RVCT_ASM_EXPORT ArmReadMVBar\r
   mrc     p15, 0, r0, c12, c0, 1\r
   bx      lr\r
 \r
-ArmWriteMVBar\r
+ RVCT_ASM_EXPORT ArmWriteMVBar\r
   mcr     p15, 0, r0, c12, c0, 1\r
   bx      lr\r
 \r
-ArmCallWFE\r
+ RVCT_ASM_EXPORT ArmCallWFE\r
   wfe\r
   bx      lr\r
 \r
-ArmCallSEV\r
+ RVCT_ASM_EXPORT ArmCallSEV\r
   sev\r
   bx      lr\r
 \r
-ArmReadSctlr\r
+ RVCT_ASM_EXPORT ArmReadSctlr\r
   mrc     p15, 0, r0, c1, c0, 0      // Read SCTLR into R0 (Read control register configuration data)\r
   bx      lr\r
 \r
 \r
-ArmReadCpuActlr\r
+ RVCT_ASM_EXPORT ArmReadCpuActlr\r
   mrc     p15, 0, r0, c1, c0, 1\r
   bx      lr\r
 \r
-ArmWriteCpuActlr\r
+ RVCT_ASM_EXPORT ArmWriteCpuActlr\r
   mcr     p15, 0, r0, c1, c0, 1\r
   dsb\r
   isb\r
index 50580f726dfb487d1604e68e2c4f33c9ad6b659c..b82cf39065e194f95ccec68b7248e72ffb541523 100644 (file)
 //\r
 //\r
 \r
-    EXPORT ArmCallSmc\r
 \r
-    AREA   ArmSmc, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-ArmCallSmc\r
+ RVCT_ASM_EXPORT ArmCallSmc\r
     push    {r4-r8}\r
     // r0 will be popped just after the SMC call\r
     push     {r0}\r
index 3d3f5545542d897fca2f25905b7858c6f9bf931b..3dcb25fa22f627ba04e346e56828f49030e77e30 100644 (file)
 //\r
 //\r
 \r
-    EXPORT ArmCallSmc\r
 \r
-    AREA   ArmSmc, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-ArmCallSmc\r
+ RVCT_ASM_EXPORT ArmCallSmc\r
   bx     lr\r
 \r
   END\r
index 0d22d7577da2f62fa2dc1e1d3e99894dfe4684e2..686253e5e5b39254017036dfd6c4731d0390068a 100755 (executable)
@@ -37,11 +37,10 @@ InternalMemCopyMem (
   IN      UINTN                     Length\r
   )\r
 **/\r
-  EXPORT InternalMemCopyMem\r
 \r
-  AREA AsmMemStuff, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-InternalMemCopyMem\r
+ RVCT_ASM_EXPORT InternalMemCopyMem\r
   stmfd  sp!, {r4-r11, lr}\r
   // Save the input parameters in extra registers (r11 = destination, r14 = source, r12 = length)\r
   mov  r11, r0\r
index a9f29e23066ecc9f37b09e28fac1fa0a1af8ae83..1d5191f78fe36a0b2ec86f74e5108b9fcfe4b6f3 100755 (executable)
@@ -34,11 +34,10 @@ InternalMemSetMem (
   )\r
 **/\r
 \r
-  EXPORT InternalMemSetMem\r
 \r
-  AREA AsmMemStuff, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-InternalMemSetMem\r
+ RVCT_ASM_EXPORT InternalMemSetMem\r
   stmfd  sp!, {r4-r11, lr}\r
   tst    r0, #3\r
   movne  r3, #0\r
index c2f3e2f0b6675f6bf87b98f574ed856387585a8c..eac6cef96b3132f071872cd8dee9132c51ff5b36 100755 (executable)
@@ -61,6 +61,7 @@
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
+  ArmPkg/ArmPkg.dec\r
 \r
 [LibraryClasses]\r
   DebugLib\r
index 17b79e58b7dd46217fcff6e687291febc4b1a830..5afd1e5f2bc13b7d8bbc99e7da6102254b46224b 100755 (executable)
@@ -37,11 +37,10 @@ InternalMemCopyMem (
   IN      UINTN                     Length\r
   )\r
 **/\r
-  EXPORT InternalMemCopyMem\r
 \r
-  AREA AsmMemStuff, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-InternalMemCopyMem\r
+ RVCT_ASM_EXPORT InternalMemCopyMem\r
   stmfd  sp!, {r4, r9, lr}\r
   tst  r0, #3\r
   mov  r4, r0\r
index 522619237145a9924f69a71059f6282143b591d5..c4a7c2b7200846cc35853897938c75a197912f4f 100755 (executable)
@@ -34,11 +34,10 @@ InternalMemSetMem (
   )\r
 **/\r
 \r
-  EXPORT InternalMemSetMem\r
 \r
-  AREA AsmMemStuff, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-InternalMemSetMem\r
+ RVCT_ASM_EXPORT InternalMemSetMem\r
   stmfd  sp!, {lr}\r
   tst    r0, #3\r
   movne  r3, #0\r
index eaff180f098d8c11503bdf9f89fe055ad0c3a389..4c388fa8984d7188c8802e5ccbdd040eaa50b725 100755 (executable)
@@ -62,6 +62,7 @@
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
+  ArmPkg/ArmPkg.dec\r
 \r
 [LibraryClasses]\r
   DebugLib\r
index feb267a65ee56153c1239007a02031c862c614a4..35723ff1736b7a89591b76bafe76d4c58b6d8213 100644 (file)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_lasr\r
 \r
-    AREA    Math, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;UINT32\r
@@ -25,7 +24,7 @@
 ;  IN UINT32  Divisor\r
 ;  );\r
 ;\r
-__aeabi_lasr\r
+ RVCT_ASM_EXPORT __aeabi_lasr\r
     SUBS     r3,r2,#0x20\r
     BPL      {pc} + 0x18  ; 0x1c\r
     RSB      r3,r2,#0x20\r
index 9c14e89a01964ff2062de2cf94baaa4c17f8bbba..c71bd59e4520768290a43ed63a68f8090c78b355 100644 (file)
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_ldivmod\r
     EXTERN  __aeabi_uldivmod\r
 \r
-    AREA    Math, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;UINT32\r
@@ -27,7 +26,7 @@
 ;  );\r
 ;\r
 \r
-__aeabi_ldivmod\r
+ RVCT_ASM_EXPORT __aeabi_ldivmod\r
     PUSH     {r4,lr}\r
     ASRS     r4,r1,#1\r
     EOR      r4,r4,r3,LSR #1\r
index f6fc208dee7e603d44680f56597e9ed947558fa0..a31e18666ae2f155503eb7a00b85028833e07b5b 100644 (file)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_llsl\r
 \r
-    AREA    Math, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;VOID\r
@@ -27,7 +26,7 @@
 ; );\r
 ;\r
 \r
-__aeabi_llsl\r
+ RVCT_ASM_EXPORT __aeabi_llsl\r
     SUBS     r3,r2,#0x20\r
     BPL      {pc} + 0x18  ; 0x1c\r
     RSB      r3,r2,#0x20\r
index 829c871d94238b22dd7d3de18970fad9aca0ef91..881db106d9d7e62185a667e3e992019ff1f4e88b 100644 (file)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_llsr\r
 \r
-    AREA    Math, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;VOID\r
@@ -26,7 +25,7 @@
 ; IN  UINT32  Size\r
 ; );\r
 ;\r
-__aeabi_llsr\r
+ RVCT_ASM_EXPORT __aeabi_llsr\r
     SUBS     r3,r2,#0x20\r
     BPL      {pc} + 0x18  ; 0x1c\r
     RSB      r3,r2,#0x20\r
index 60556b105d7eaaf5b437c185876e72b0c625f001..ae911971286ac3367b87199e5e5e01ec729e1e62 100644 (file)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_memcpy\r
 \r
-    AREA    Memcpy, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;VOID\r
@@ -26,7 +25,7 @@
 ; IN  UINT32  Size\r
 ; );\r
 ;\r
-__aeabi_memcpy\r
+ RVCT_ASM_EXPORT __aeabi_memcpy\r
   cmp     r2, #0\r
   bxeq    lr\r
   push    {lr}\r
index ecaa86f51ecc4be953356a20803a00fe13be43a8..3465e89eba345bd71ca3d57a333750c6e2a1dfdb 100644 (file)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_memcpy4\r
 \r
-    AREA    Memcpy4, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;VOID\r
@@ -26,7 +25,7 @@
 ; IN  UINT32  Size\r
 ; );\r
 ;\r
-__aeabi_memcpy4\r
+ RVCT_ASM_EXPORT __aeabi_memcpy4\r
     stmdb   sp!, {r4, lr}\r
     subs    r2, r2, #32     ; 0x20\r
     bcc     memcpy4_label2\r
index 2147e29dbd26b3a00f2be35a9403159497c97942..09773b0c7559eabcef8bfc0d8bbe202d62d36cca 100755 (executable)
@@ -13,9 +13,8 @@
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_memmove\r
 \r
-    AREA    Memmove, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;VOID\r
@@ -26,7 +25,7 @@
 ; IN  UINT32        Size\r
 ; );\r
 ;\r
-__aeabi_memmove\r
+ RVCT_ASM_EXPORT __aeabi_memmove\r
   CMP     r2, #0\r
   BXEQ    lr\r
   CMP     r0, r1\r
index e09c90cda43e2f94e9409b4ca5de5af8d35b248f..f23aa42d440f3c0fbdd82d5a9675553d23912ca2 100644 (file)
 \r
 \r
 \r
-    EXPORT  __ARM_switch8\r
 \r
-    AREA  ArmSwitch, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
-__ARM_switch8\r
+ RVCT_ASM_EXPORT __ARM_switch8\r
   LDRB    r12,[lr,#-1]\r
   CMP      r3,r12\r
   LDRBCC  r3,[lr,r3]\r
index aed649b15121269a7f1d9afea9d987f2bbd025c3..6b6184ebd3fc60411b04845ebfbf61874ef23233 100644 (file)
@@ -14,9 +14,8 @@
 \r
 \r
 \r
-    EXPORT  __aeabi_uldivmod\r
 \r
-    AREA  Uldivmod, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;UINT64\r
@@ -26,7 +25,7 @@
 ;  IN  UINT64   Divisor\r
 ;  )\r
 ;\r
-__aeabi_uldivmod\r
+ RVCT_ASM_EXPORT __aeabi_uldivmod\r
   stmdb   sp!, {r4, r5, r6, lr}\r
   mov     r4, r1\r
   mov     r5, r0\r
index 3d589654f040e28f7602af15e09bb79176a5e12c..f369e4d2516c23f7294393572e693b66fb7457fa 100644 (file)
 \r
 \r
 \r
-    EXPORT  __aeabi_uread4\r
-    EXPORT  __aeabi_uread8\r
 \r
-    AREA  Uread4, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;UINT32\r
@@ -26,7 +24,7 @@
 ;  IN VOID   *Pointer\r
 ;  );\r
 ;\r
-__aeabi_uread4\r
+ RVCT_ASM_EXPORT __aeabi_uread4\r
     ldrb    r1, [r0]\r
     ldrb    r2, [r0, #1]\r
     ldrb    r3, [r0, #2]\r
@@ -43,7 +41,7 @@ __aeabi_uread4
 ;  IN VOID   *Pointer\r
 ;  );\r
 ;\r
-__aeabi_uread8\r
+ RVCT_ASM_EXPORT __aeabi_uread8\r
     mov     r3, r0\r
 \r
     ldrb    r1, [r3]\r
index 85e1ba8d6d0dc5ecf5dc349b3bcedf43e821f81b..434a652f78ad7676db3a0a8a4448fb2846c104f0 100644 (file)
 //------------------------------------------------------------------------------\r
 \r
 \r
-    EXPORT  __aeabi_uwrite4\r
-    EXPORT  __aeabi_uwrite8\r
 \r
-    AREA  Uwrite4, CODE, READONLY\r
+    INCLUDE AsmMacroExport.inc\r
 \r
 ;\r
 ;UINT32\r
@@ -27,7 +25,7 @@
 ;  );\r
 ;\r
 ;\r
-__aeabi_uwrite4\r
+ RVCT_ASM_EXPORT __aeabi_uwrite4\r
     mov     r2, r0, lsr #8\r
     strb    r0, [r1]\r
     strb    r2, [r1, #1]\r
@@ -46,7 +44,7 @@ __aeabi_uwrite4
 ;  );\r
 ;\r
 ;\r
-__aeabi_uwrite8\r
+ RVCT_ASM_EXPORT __aeabi_uwrite8\r
     mov     r3, r0, lsr #8\r
     strb    r0, [r2]\r
     strb    r3, [r2, #1]\r
index 3487787a9c36afd561068acc1320c2de4d842bad..103f515064ba482f2076baca5059582aa28daac3 100644 (file)
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
+  ArmPkg/ArmPkg.dec\r
 \r
 [LibraryClasses]\r
 \r