File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/irq_regs.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       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 <jeremy@goop.org>
       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 */
      32: