Revision: 14164
          http://edk2.svn.sourceforge.net/edk2/?rev=14164&view=rev
Author:   oliviermartin
Date:     2013-03-06 00:01:49 +0000 (Wed, 06 Mar 2013)
Log Message:
-----------
ArmPkg: Move ArmSmcLib from ArmPlatformLib to ArmPkg

A ArmSmcLib Null implementation has also been added for CPU without the ARM 
Security
Extension (Trustzone support).

Signed-off-by: Olivier Martin <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmPkg/ArmPkg.dsc
    trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc
    trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.dsc
    trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
    trunk/edk2/BeagleBoardPkg/BeagleBoardPkg.dsc

Added Paths:
-----------
    trunk/edk2/ArmPkg/Include/Library/ArmSmcLib.h
    trunk/edk2/ArmPkg/Library/ArmSmcLib/
    trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/
    trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.S
    trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
    trunk/edk2/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
    trunk/edk2/ArmPkg/Library/ArmSmcLibNull/
    trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/
    trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.S
    trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.asm
    trunk/edk2/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf

Removed Paths:
-------------
    trunk/edk2/ArmPlatformPkg/Include/Library/ArmSmcLib.h
    trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.S
    trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.asm
    trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmcLib.inf

Modified: trunk/edk2/ArmPkg/ArmPkg.dsc
===================================================================
--- trunk/edk2/ArmPkg/ArmPkg.dsc        2013-03-05 23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPkg/ArmPkg.dsc        2013-03-06 00:01:49 UTC (rev 14164)
@@ -63,6 +63,7 @@
 
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
 
@@ -125,6 +126,9 @@
   ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
+  ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
+  ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf
+
   ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
 
   ArmPkg/Application/LinuxLoader/LinuxAtagLoader.inf

Added: trunk/edk2/ArmPkg/Include/Library/ArmSmcLib.h
===================================================================
--- trunk/edk2/ArmPkg/Include/Library/ArmSmcLib.h                               
(rev 0)
+++ trunk/edk2/ArmPkg/Include/Library/ArmSmcLib.h       2013-03-06 00:01:49 UTC 
(rev 14164)
@@ -0,0 +1,44 @@
+/** @file
+*
+*  Copyright (c) 2012, ARM Limited. All rights reserved.
+*
+*  This program and the accompanying materials
+*  are licensed and made available under the terms and conditions of the BSD 
License
+*  which accompanies this distribution.  The full text of the license may be 
found at
+*  http://opensource.org/licenses/bsd-license.php
+*
+*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+*
+**/
+
+#ifndef __ARM_SMC_LIB__
+#define __ARM_SMC_LIB__
+
+VOID
+ArmCallSmc (
+  IN OUT UINTN *Rx
+  );
+
+VOID
+ArmCallSmcArg1 (
+  IN OUT UINTN *Rx,
+  IN OUT UINTN *Arg1
+  );
+
+VOID
+ArmCallSmcArg2 (
+  IN OUT UINTN *Rx,
+  IN OUT UINTN *Arg1,
+  IN OUT UINTN *Arg2
+  );
+
+VOID
+ArmCallSmcArg3 (
+  IN OUT UINTN *Rx,
+  IN OUT UINTN *Arg1,
+  IN OUT UINTN *Arg2,
+  IN OUT UINTN *Arg3
+  );
+
+#endif

Added: trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.S
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.S                            
(rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.S    2013-03-06 00:01:49 UTC 
(rev 14164)
@@ -0,0 +1,75 @@
+//
+//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//
+//  This program and the accompanying materials
+//  are licensed and made available under the terms and conditions of the BSD 
License
+//  which accompanies this distribution.  The full text of the license may be 
found at
+//  http://opensource.org/licenses/bsd-license.php
+//
+//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+//
+//
+
+.text
+.align 3
+.arch_extension sec
+
+GCC_ASM_EXPORT(ArmCallSmc)
+GCC_ASM_EXPORT(ArmCallSmcArg1)
+GCC_ASM_EXPORT(ArmCallSmcArg2)
+GCC_ASM_EXPORT(ArmCallSmcArg3)
+
+ASM_PFX(ArmCallSmc):
+    push    {r1}
+    mov     r1, r0
+    ldr     r0,[r1]
+    smc     #0
+    str     r0,[r1]
+    pop     {r1}
+    bx      lr
+
+ASM_PFX(ArmCallSmcArg1):
+    push    {r2-r3}
+    mov     r2, r0
+    mov     r3, r1
+    ldr     r0,[r2]
+    ldr     r1,[r3]
+    smc     #0
+    str     r0,[r2]
+    str     r1,[r3]
+    pop     {r2-r3}
+    bx      lr
+
+ASM_PFX(ArmCallSmcArg2):
+    push    {r3-r5}
+    mov     r3, r0
+    mov     r4, r1
+    mov     r5, r2
+    ldr     r0,[r3]
+    ldr     r1,[r4]
+    ldr     r2,[r5]
+    smc     #0
+    str     r0,[r3]
+    str     r1,[r4]
+    str     r2,[r5]
+    pop     {r3-r5}
+    bx      lr
+
+ASM_PFX(ArmCallSmcArg3):
+    push    {r4-r7}
+    mov     r4, r0
+    mov     r5, r1
+    mov     r6, r2
+    mov     r7, r3
+    ldr     r0,[r4]
+    ldr     r1,[r5]
+    ldr     r2,[r6]
+    ldr     r3,[r7]
+    smc     #0
+    str     r0,[r4]
+    str     r1,[r5]
+    str     r2,[r6]
+    str     r3,[r7]
+    pop     {r4-r7}
+    bx      lr

Added: trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm                          
(rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLib/Arm/ArmSmc.asm  2013-03-06 00:01:49 UTC 
(rev 14164)
@@ -0,0 +1,75 @@
+//
+//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//
+//  This program and the accompanying materials
+//  are licensed and made available under the terms and conditions of the BSD 
License
+//  which accompanies this distribution.  The full text of the license may be 
found at
+//  http://opensource.org/licenses/bsd-license.php
+//
+//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+//
+//
+
+    EXPORT ArmCallSmc
+    EXPORT ArmCallSmcArg1
+    EXPORT ArmCallSmcArg2
+    EXPORT ArmCallSmcArg3
+
+    AREA   ArmSmc, CODE, READONLY
+
+ArmCallSmc
+    push    {r1}
+    mov     r1, r0
+    ldr     r0,[r1]
+    smc     #0
+    str     r0,[r1]
+    pop     {r1}
+    bx      lr
+
+ArmCallSmcArg1
+    push    {r2-r3}
+    mov     r2, r0
+    mov     r3, r1
+    ldr     r0,[r2]
+    ldr     r1,[r3]
+    smc     #0
+    str     r0,[r2]
+    str     r1,[r3]
+    pop     {r2-r3}
+    bx      lr
+
+ArmCallSmcArg2
+    push    {r3-r5}
+    mov     r3, r0
+    mov     r4, r1
+    mov     r5, r2
+    ldr     r0,[r3]
+    ldr     r1,[r4]
+    ldr     r2,[r5]
+    smc     #0
+    str     r0,[r3]
+    str     r1,[r4]
+    str     r2,[r5]
+    pop     {r3-r5}
+    bx      lr
+
+ArmCallSmcArg3
+    push    {r4-r7}
+    mov     r4, r0
+    mov     r5, r1
+    mov     r6, r2
+    mov     r7, r3
+    ldr     r0,[r4]
+    ldr     r1,[r5]
+    ldr     r2,[r6]
+    ldr     r3,[r7]
+    smc     #0
+    str     r0,[r4]
+    str     r1,[r5]
+    str     r2,[r6]
+    str     r3,[r7]
+    pop     {r4-r7}
+    bx      lr
+
+    END

Added: trunk/edk2/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf                           
(rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf   2013-03-06 00:01:49 UTC 
(rev 14164)
@@ -0,0 +1,28 @@
+#/** @file
+#  
+#  Copyright (c) 2012-2013, ARM Ltd. All rights reserved.<BR>
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD 
License
+#  which accompanies this distribution.  The full text of the license may be 
found at
+#  http://opensource.org/licenses/bsd-license.php
+#  
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+#  
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = ArmSmcLib
+  FILE_GUID                      = eb3f17d5-a3cc-4eac-8912-84162d0f79da 
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = ArmSmcLib
+  
+[Sources.ARM]
+  Arm/ArmSmc.asm    | RVCT
+  Arm/ArmSmc.S      | GCC
+
+[Packages]
+  MdePkg/MdePkg.dec
+  ArmPkg/ArmPkg.dec

Added: trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.S
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.S                    
        (rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.S    2013-03-06 
00:01:49 UTC (rev 14164)
@@ -0,0 +1,33 @@
+//
+//  Copyright (c) 2012-2013, ARM Limited. All rights reserved.
+//
+//  This program and the accompanying materials
+//  are licensed and made available under the terms and conditions of the BSD 
License
+//  which accompanies this distribution.  The full text of the license may be 
found at
+//  http://opensource.org/licenses/bsd-license.php
+//
+//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+//
+//
+
+.text
+.align 3
+
+GCC_ASM_EXPORT(ArmCallSmc)
+GCC_ASM_EXPORT(ArmCallSmcArg1)
+GCC_ASM_EXPORT(ArmCallSmcArg2)
+GCC_ASM_EXPORT(ArmCallSmcArg3)
+
+ASM_PFX(ArmCallSmc):
+  bx     lr
+
+// Arg1 in R1
+ASM_PFX(ArmCallSmcArg1):
+  bx     lr
+
+ASM_PFX(ArmCallSmcArg2):
+  bx     lr
+
+ASM_PFX(ArmCallSmcArg3):
+  bx     lr

Added: trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.asm
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.asm                  
        (rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLibNull/Arm/ArmSmcNull.asm  2013-03-06 
00:01:49 UTC (rev 14164)
@@ -0,0 +1,34 @@
+//
+//  Copyright (c) 2012-2013, ARM Limited. All rights reserved.
+//
+//  This program and the accompanying materials
+//  are licensed and made available under the terms and conditions of the BSD 
License
+//  which accompanies this distribution.  The full text of the license may be 
found at
+//  http://opensource.org/licenses/bsd-license.php
+//
+//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+//
+//
+
+    EXPORT ArmCallSmc
+    EXPORT ArmCallSmcArg1
+    EXPORT ArmCallSmcArg2
+    EXPORT ArmCallSmcArg3
+
+    AREA   ArmSmc, CODE, READONLY
+
+ArmCallSmc
+  bx     lr
+
+// Arg1 in R1
+ArmCallSmcArg1
+  bx     lr
+
+ArmCallSmcArg2
+  bx     lr
+
+ArmCallSmcArg3
+  bx     lr
+
+  END

Added: trunk/edk2/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf
===================================================================
--- trunk/edk2/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf                   
        (rev 0)
+++ trunk/edk2/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf   2013-03-06 
00:01:49 UTC (rev 14164)
@@ -0,0 +1,31 @@
+#/** @file
+#  
+#  ArmSmcLib when no SMC support is desired (might be the case for CPU without 
the
+#  Trustzone support / ARM Security Extension)
+#
+#  Copyright (c) 2012-2013, ARM Ltd. All rights reserved.<BR>
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD 
License
+#  which accompanies this distribution.  The full text of the license may be 
found at
+#  http://opensource.org/licenses/bsd-license.php
+#  
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = ArmSmcLibNull
+  FILE_GUID                      = 140e8004-16e1-4de1-a352-c6ef51110ecf
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = ArmSmcLib
+  
+[Sources.ARM]
+  Arm/ArmSmcNull.asm    | RVCT
+  Arm/ArmSmcNull.S      | GCC
+
+[Packages]
+  MdePkg/MdePkg.dec
+  ArmPkg/ArmPkg.dec

Modified: trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc
===================================================================
--- trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc    
2013-03-05 23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc    
2013-03-06 00:01:49 UTC (rev 14164)
@@ -61,6 +61,7 @@
   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
   ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
 
   # RealView Emulation Board Specific Libraries
   
EfiResetSystemLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ResetSystemLib/ResetSystemLib.inf

Modified: trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.dsc
===================================================================
--- trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.dsc   
2013-03-05 23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.dsc   
2013-03-06 00:01:49 UTC (rev 14164)
@@ -45,7 +45,7 @@
   
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf
   
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf 
-  ArmSmcLib|ArmPlatformPkg/Library/ArmSmcLib/ArmSmcLib.inf
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
 
 [BuildOptions]
 !ifdef $(ARM_BIGLITTLE_TC2)

Modified: trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
===================================================================
--- trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc        
2013-03-05 23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc        
2013-03-06 00:01:49 UTC (rev 14164)
@@ -62,6 +62,7 @@
   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
   ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf
   
ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
 
   # Versatile Express Specific Libraries
   
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf

Deleted: trunk/edk2/ArmPlatformPkg/Include/Library/ArmSmcLib.h
===================================================================
--- trunk/edk2/ArmPlatformPkg/Include/Library/ArmSmcLib.h       2013-03-05 
23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/Include/Library/ArmSmcLib.h       2013-03-06 
00:01:49 UTC (rev 14164)
@@ -1,44 +0,0 @@
-/** @file
-*
-*  Copyright (c) 2012, ARM Limited. All rights reserved.
-*
-*  This program and the accompanying materials
-*  are licensed and made available under the terms and conditions of the BSD 
License
-*  which accompanies this distribution.  The full text of the license may be 
found at
-*  http://opensource.org/licenses/bsd-license.php
-*
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-*
-**/
-
-#ifndef __ARM_SMC_LIB__
-#define __ARM_SMC_LIB__
-
-VOID
-ArmCallSmc (
-  IN OUT UINTN *Rx
-  );
-
-VOID
-ArmCallSmcArg1 (
-  IN OUT UINTN *Rx,
-  IN OUT UINTN *Arg1
-  );
-
-VOID
-ArmCallSmcArg2 (
-  IN OUT UINTN *Rx,
-  IN OUT UINTN *Arg1,
-  IN OUT UINTN *Arg2
-  );
-
-VOID
-ArmCallSmcArg3 (
-  IN OUT UINTN *Rx,
-  IN OUT UINTN *Arg1,
-  IN OUT UINTN *Arg2,
-  IN OUT UINTN *Arg3
-  );
-
-#endif

Deleted: trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.S
===================================================================
--- trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.S        2013-03-05 
23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.S        2013-03-06 
00:01:49 UTC (rev 14164)
@@ -1,76 +0,0 @@
-//
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
-//
-//  This program and the accompanying materials
-//  are licensed and made available under the terms and conditions of the BSD 
License
-//  which accompanies this distribution.  The full text of the license may be 
found at
-//  http://opensource.org/licenses/bsd-license.php
-//
-//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-//
-//
-
-.text
-.align 3
-.arch_extension sec
-
-GCC_ASM_EXPORT(ArmCallSmc)
-GCC_ASM_EXPORT(ArmCallSmcArg1)
-GCC_ASM_EXPORT(ArmCallSmcArg2)
-GCC_ASM_EXPORT(ArmCallSmcArg3)
-
-ASM_PFX(ArmCallSmc):
-    push    {r1}
-    mov     r1, r0
-    ldr     r0,[r1]
-    smc     #0
-    str     r0,[r1]
-    pop     {r1}
-    blx     lr
-
-// Arg1 in R1
-ASM_PFX(ArmCallSmcArg1):
-    push    {r2-r3}
-    mov     r2, r0
-    mov     r3, r1
-    ldr     r0,[r2]
-    ldr     r1,[r3]
-    smc     #0
-    str     r0,[r2]
-    str     r1,[r3]
-    pop     {r2-r3}
-    blx     lr
-
-ASM_PFX(ArmCallSmcArg2):
-    push    {r3-r5}
-    mov     r3, r0
-    mov     r4, r1
-    mov     r5, r2
-    ldr     r0,[r3]
-    ldr     r1,[r4]
-    ldr     r2,[r5]
-    smc     #0
-    str     r0,[r3]
-    str     r1,[r4]
-    str     r2,[r5]
-    pop     {r3-r5}
-    blx     lr
-
-ASM_PFX(ArmCallSmcArg3):
-    push    {r4-r7}
-    mov     r4, r0
-    mov     r5, r1
-    mov     r6, r2
-    mov     r7, r3
-    ldr     r0,[r4]
-    ldr     r1,[r5]
-    ldr     r2,[r6]
-    ldr     r3,[r7]
-    smc     #0
-    str     r0,[r4]
-    str     r1,[r5]
-    str     r2,[r6]
-    str     r3,[r7]
-    pop     {r4-r7}
-    blx     lr

Deleted: trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.asm
===================================================================
--- trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.asm      2013-03-05 
23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmc.asm      2013-03-06 
00:01:49 UTC (rev 14164)
@@ -1,76 +0,0 @@
-//
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
-//
-//  This program and the accompanying materials
-//  are licensed and made available under the terms and conditions of the BSD 
License
-//  which accompanies this distribution.  The full text of the license may be 
found at
-//  http://opensource.org/licenses/bsd-license.php
-//
-//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-//
-//
-
-    EXPORT ArmCallSmc
-    EXPORT ArmCallSmcArg1
-    EXPORT ArmCallSmcArg2
-    EXPORT ArmCallSmcArg3
-
-    AREA   ArmSmc, CODE, READONLY
-
-ArmCallSmc
-    push    {r1}
-    mov     r1, r0
-    ldr     r0,[r1]
-    smc     #0
-    str     r0,[r1]
-    pop     {r1}
-    blx     lr
-
-// Arg1 in R1
-ArmCallSmcArg1
-    push    {r2-r3}
-    mov     r2, r0
-    mov     r3, r1
-    ldr     r0,[r2]
-    ldr     r1,[r3]
-    smc     #0
-    str     r0,[r2]
-    str     r1,[r3]
-    pop     {r2-r3}
-    blx     lr
-
-ArmCallSmcArg2
-    push    {r3-r5}
-    mov     r3, r0
-    mov     r4, r1
-    mov     r5, r2
-    ldr     r0,[r3]
-    ldr     r1,[r4]
-    ldr     r2,[r5]
-    smc     #0
-    str     r0,[r3]
-    str     r1,[r4]
-    str     r2,[r5]
-    pop     {r3-r5}
-    blx     lr
-
-ArmCallSmcArg3
-    push    {r4-r7}
-    mov     r4, r0
-    mov     r5, r1
-    mov     r6, r2
-    mov     r7, r3
-    ldr     r0,[r4]
-    ldr     r1,[r5]
-    ldr     r2,[r6]
-    ldr     r3,[r7]
-    smc     #0
-    str     r0,[r4]
-    str     r1,[r5]
-    str     r2,[r6]
-    str     r3,[r7]
-    pop     {r4-r7}
-    blx     lr
-
-    END

Deleted: trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmcLib.inf
===================================================================
--- trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmcLib.inf   2013-03-05 
23:01:53 UTC (rev 14163)
+++ trunk/edk2/ArmPlatformPkg/Library/ArmSmcLib/ArmSmcLib.inf   2013-03-06 
00:01:49 UTC (rev 14164)
@@ -1,28 +0,0 @@
-#/** @file
-#  
-#  Copyright (c) 2012, ARM Ltd. All rights reserved.<BR>
-#  This program and the accompanying materials
-#  are licensed and made available under the terms and conditions of the BSD 
License
-#  which accompanies this distribution.  The full text of the license may be 
found at
-#  http://opensource.org/licenses/bsd-license.php
-#  
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#  
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = ArmSmcLib
-  FILE_GUID                      = eb3f17d5-a3cc-4eac-8912-84162d0f79da 
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = ArmSmcLib
-  
-[Sources.common]
-  ArmSmc.asm    | RVCT
-  ArmSmc.S      | GCC
-
-[Packages]
-  MdePkg/MdePkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec

Modified: trunk/edk2/BeagleBoardPkg/BeagleBoardPkg.dsc
===================================================================
--- trunk/edk2/BeagleBoardPkg/BeagleBoardPkg.dsc        2013-03-05 23:01:53 UTC 
(rev 14163)
+++ trunk/edk2/BeagleBoardPkg/BeagleBoardPkg.dsc        2013-03-06 00:01:49 UTC 
(rev 14164)
@@ -35,6 +35,7 @@
   ArmPlatformLib|BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
   
ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
   
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
   
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to