Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
irq_regs.h
Go to the documentation of this file.
1 /*
2  * Per-cpu current frame pointer - the location of the last exception frame on
3  * the stack, stored in the per-cpu area.
4  *
5  * Jeremy Fitzhardinge <[email protected]>
6  */
7 #ifndef _ASM_X86_IRQ_REGS_H
8 #define _ASM_X86_IRQ_REGS_H
9 
10 #include <asm/percpu.h>
11 
12 #define ARCH_HAS_OWN_IRQ_REGS
13 
14 DECLARE_PER_CPU(struct pt_regs *, irq_regs);
15 
16 static inline struct pt_regs *get_irq_regs(void)
17 {
18  return this_cpu_read(irq_regs);
19 }
20 
21 static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
22 {
23  struct pt_regs *old_regs;
24 
25  old_regs = get_irq_regs();
26  this_cpu_write(irq_regs, new_regs);
27 
28  return old_regs;
29 }
30 
31 #endif /* _ASM_X86_IRQ_REGS_32_H */