aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2006-12-06 20:14:03 -0500
committerAndi Kleen <andi@basil.nowhere.org>2006-12-06 20:14:03 -0500
commit70463daca852db396ce17f179d2404b257ba0f66 (patch)
treed0f89336cd46ab79e8a42239fa758cf43857491d
parentec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 (diff)
[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>
-rw-r--r--include/asm-i386/irq_regs.h28
-rw-r--r--include/asm-i386/pda.h1
2 files changed, 28 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 @@
1#include <asm-generic/irq_regs.h> 1/*
2 * Per-cpu current frame pointer - the location of the last exception frame on
3 * the stack, stored in the PDA.
4 *
5 * Jeremy Fitzhardinge <jeremy@goop.org>
6 */
7#ifndef _ASM_I386_IRQ_REGS_H
8#define _ASM_I386_IRQ_REGS_H
9
10#include <asm/pda.h>
11
12static inline struct pt_regs *get_irq_regs(void)
13{
14 return read_pda(irq_regs);
15}
16
17static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
18{
19 struct pt_regs *old_regs;
20
21 old_regs = read_pda(irq_regs);
22 write_pda(irq_regs, new_regs);
23
24 return old_regs;
25}
26
27#endif /* _ASM_I386_IRQ_REGS_H */
diff --git a/include/asm-i386/pda.h b/include/asm-i386/pda.h
index 08a35c478af2..2ba2736aa109 100644
--- a/include/asm-i386/pda.h
+++ b/include/asm-i386/pda.h
@@ -15,6 +15,7 @@ struct i386_pda
15 15
16 int cpu_number; 16 int cpu_number;
17 struct task_struct *pcurrent; /* current process */ 17 struct task_struct *pcurrent; /* current process */
18 struct pt_regs *irq_regs;
18}; 19};
19 20
20extern struct i386_pda *_cpu_pda[]; 21extern struct i386_pda *_cpu_pda[];