• Thomas Gleixner's avatar
    entry: Provide generic interrupt entry/exit code · a5497bab
    Thomas Gleixner authored
    Like the syscall entry/exit code interrupt/exception entry after the real
    low level ASM bits should not be different accross architectures.
    
    Provide a generic version based on the x86 code.
    
    irqentry_enter() is called after the low level entry code and
    irqentry_exit() must be invoked right before returning to the low level
    code which just contains the actual return logic. The code before
    irqentry_enter() and irqentry_exit() must not be instrumented. Code after
    irqentry_enter() and before irqentry_exit() can be instrumented.
    
    irqentry_enter() invokes irqentry_enter_from_user_mode() if the
    interrupt/exception came from user mode. If if entered from kernel mode it
    handles the kernel mode variant of establishing state for lockdep, RCU and
    tracing depending on the kernel context it interrupted (idle, non-idle).
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20200722220519.723703209@linutronix.de
    
    a5497bab
common.c 9.66 KB