summaryrefslogtreecommitdiff
path: root/gnu-efi/lib/arm/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'gnu-efi/lib/arm/setjmp.S')
-rw-r--r--gnu-efi/lib/arm/setjmp.S25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu-efi/lib/arm/setjmp.S b/gnu-efi/lib/arm/setjmp.S
new file mode 100644
index 00000000..bd61a8d8
--- /dev/null
+++ b/gnu-efi/lib/arm/setjmp.S
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2006 - 2008, Intel Corporation. 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
+ .arm
+ .globl setjmp
+ .type setjmp, %function
+setjmp:
+ mov r3, r13
+ stmia r0, {r3-r12,r14}
+ eor r0, r0, r0
+ bx lr
+
+ .globl longjmp
+ .type longjmp, %function
+longjmp:
+ ldmia r0, {r3-r12,r14}