summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/frame.h
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@kernel.org>2007-10-17 18:04:38 +0200
committerThomas Gleixner <tglx@inhelltoy.tec.linutronix.de>2007-10-17 20:16:29 +0200
commit7e02cb941ddc129158c276648c10a69dca7d36d3 (patch)
tree79db7b7d1c607c15f67ae53248ccdf762a0aaa8e /include/asm-x86/frame.h
parent3f4ed1511dc8c71073bb7d220ee62eedd8e8aeec (diff)
x86: rename .i assembler includes to .h
.i is an ending used for preprocessed stuff. This patch therefore renames assembler include files to .h and guards the contents with an #ifdef __ASSEMBLY__. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/frame.h')
-rw-r--r--include/asm-x86/frame.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/asm-x86/frame.h b/include/asm-x86/frame.h
new file mode 100644
index 00000000000..06850a7194e
--- /dev/null
+++ b/include/asm-x86/frame.h
@@ -0,0 +1,27 @@
+#ifdef __ASSEMBLY__
+
+#include <asm/dwarf2.h>
+
+/* The annotation hides the frame from the unwinder and makes it look
+ like a ordinary ebp save/restore. This avoids some special cases for
+ frame pointer later */
+#ifdef CONFIG_FRAME_POINTER
+ .macro FRAME
+ pushl %ebp
+ CFI_ADJUST_CFA_OFFSET 4
+ CFI_REL_OFFSET ebp,0
+ movl %esp,%ebp
+ .endm
+ .macro ENDFRAME
+ popl %ebp
+ CFI_ADJUST_CFA_OFFSET -4
+ CFI_RESTORE ebp
+ .endm
+#else
+ .macro FRAME
+ .endm
+ .macro ENDFRAME
+ .endm
+#endif
+
+#endif /* __ASSEMBLY__ */