diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-03-26 10:59:50 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-03-26 10:59:50 +0000 |
commit | eac42a514b8bfd5d6273d673d8d24a424b579d1c (patch) | |
tree | e0bd754fabf1f427003eeed5187a322b6aec07fd /ArmPlatformPkg/Include | |
parent | a12da33bc1cd7a29f3333b94467eb3803bf4d927 (diff) | |
download | edk2-eac42a514b8bfd5d6273d673d8d24a424b579d1c.tar.gz edk2-eac42a514b8bfd5d6273d673d8d24a424b579d1c.tar.bz2 edk2-eac42a514b8bfd5d6273d673d8d24a424b579d1c.zip |
ArmPlatformPkg/ArmSmcLib: Added helper library to make SMC call to the Secure World
This library adds C-wrapper around the SMC instruction and allows to pass
parameters to the Secure World.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13133 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Include')
-rw-r--r-- | ArmPlatformPkg/Include/Library/ArmSmcLib.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Include/Library/ArmSmcLib.h b/ArmPlatformPkg/Include/Library/ArmSmcLib.h new file mode 100644 index 0000000000..ff946f2dea --- /dev/null +++ b/ArmPlatformPkg/Include/Library/ArmSmcLib.h @@ -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
|