summaryrefslogtreecommitdiffstats
path: root/include/asm-i386/irq_regs.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2006-12-07 02:14:03 +0100
committerAndi Kleen <andi@basil.nowhere.org>2006-12-07 02:14:03 +0100
commit70463daca852db396ce17f179d2404b257ba0f66 (patch)
treed0f89336cd46ab79e8a42239fa758cf43857491d /include/asm-i386/irq_regs.h
parentec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 (diff)
downloadblackbird-op-linux-70463daca852db396ce17f179d2404b257ba0f66.tar.gz
blackbird-op-linux-70463daca852db396ce17f179d2404b257ba0f66.zip
[PATCH] i386: Store the interrupt regs pointer in the PDA
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/asm-i386/irq_regs.h')
-rw-r--r--include/asm-i386/irq_regs.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/include/asm-i386/irq_regs.h b/include/asm-i386/irq_regs.h
index 3dd9c0b70270..a1b3f7f594a2 100644
--- a/include/asm-i386/irq_regs.h
+++ b/include/asm-i386/irq_regs.h
@@ -1 +1,27 @@
-#include <asm-generic/irq_regs.h>
+/*
+ * Per-cpu current frame pointer - the location of the last exception frame on
+ * the stack, stored in the PDA.
+ *
+ * Jeremy Fitzhardinge <jeremy@goop.org>
+ */
+#ifndef _ASM_I386_IRQ_REGS_H
+#define _ASM_I386_IRQ_REGS_H
+
+#include <asm/pda.h>
+
+static inline struct pt_regs *get_irq_regs(void)
+{
+ return read_pda(irq_regs);
+}
+
+static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
+{
+ struct pt_regs *old_regs;
+
+ old_regs = read_pda(irq_regs);
+ write_pda(irq_regs, new_regs);
+
+ return old_regs;
+}
+
+#endif /* _ASM_I386_IRQ_REGS_H */
OpenPOWER on IntegriCloud