entry.h

来自「linux 内核源代码」· C头文件 代码 · 共 57 行

H
57
字号
#ifndef __BFIN_ENTRY_H#define __BFIN_ENTRY_H#include <asm/setup.h>#include <asm/page.h>#ifdef __ASSEMBLY__#define	LFLUSH_I_AND_D	0x00000808#define	LSIGTRAP	5/* process bits for task_struct.flags */#define	PF_TRACESYS_OFF	3#define	PF_TRACESYS_BIT	5#define	PF_PTRACED_OFF	3#define	PF_PTRACED_BIT	4#define	PF_DTRACE_OFF	1#define	PF_DTRACE_BIT	5/* This one is used for exceptions, emulation, and NMI.  It doesn't push   RETI and doesn't do cli.  */#define SAVE_ALL_SYS		save_context_no_interrupts/* This is used for all normal interrupts.  It saves a minimum of registers   to the stack, loads the IRQ number, and jumps to common code.  */#define INTERRUPT_ENTRY(N)						\    [--sp] = SYSCFG;							\									\    [--sp] = P0;	/*orig_p0*/					\    [--sp] = R0;	/*orig_r0*/					\    [--sp] = (R7:0,P5:0);						\    R0 = (N);								\    jump __common_int_entry;/* For timer interrupts, we need to save IPEND, since the user_mode	   macro accesses it to determine where to account time.  */#define TIMER_INTERRUPT_ENTRY(N)					\    [--sp] = SYSCFG;							\									\    [--sp] = P0;	/*orig_p0*/					\    [--sp] = R0;	/*orig_r0*/					\    [--sp] = (R7:0,P5:0);						\    p0.l = lo(IPEND);							\    p0.h = hi(IPEND);							\    r1 = [p0];								\    R0 = (N);								\    jump __common_int_entry;/* This one pushes RETI without using CLI.  Interrupts are enabled.  */#define SAVE_CONTEXT_SYSCALL	save_context_syscall#define SAVE_CONTEXT		save_context_with_interrupts#define RESTORE_ALL_SYS		restore_context_no_interrupts#define RESTORE_CONTEXT		restore_context_with_interrupts#endif				/* __ASSEMBLY__ */#endif				/* __BFIN_ENTRY_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?