⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nmi.h

📁 linux-2.4.29操作系统的源码
💻 H
字号:
/* * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997 Silicon Graphics, Inc. */#ifndef __ASM_SN_NMI_H#define __ASM_SN_NMI_H#ident "$Revision: 1.2.4.2 $"#include <asm/sn/addrs.h>/* * The launch data structure resides at a fixed place in each node's memory * and is used to communicate between the master processor and the slave * processors. * * The master stores launch parameters in the launch structure * corresponding to a target processor that is in a slave loop, then sends * an interrupt to the slave processor.  The slave calls the desired * function, followed by an optional rendezvous function, then returns to * the slave loop.  The master does not wait for the slaves before * returning. * * There is an array of launch structures, one per CPU on the node.  One * interrupt level is used per CPU. */#define NMI_MAGIC		0x48414d4d455201#define NMI_SIZEOF		0x40#define NMI_OFF_MAGIC		0x00	/* Struct offsets for assembly      */#define NMI_OFF_FLAGS		0x08#define NMI_OFF_CALL		0x10#define NMI_OFF_CALLC		0x18#define NMI_OFF_CALLPARM	0x20#define NMI_OFF_GMASTER		0x28/* * The NMI routine is called only if the complement address is * correct. * * Before control is transferred to a routine, the compliment address * is zeroed (invalidated) to prevent an accidental call from a spurious * interrupt. * */#ifndef __ASSEMBLY__typedef struct nmi_s {	volatile unsigned long	 magic;		/* Magic number */	volatile unsigned long	 flags;		/* Combination of flags above */	volatile void *call_addr;	/* Routine for slave to call        */	volatile void *call_addr_c;	/* 1's complement of address        */	volatile void *call_parm;	/* Single parm passed to call	    */	volatile unsigned long	 gmaster;	/* Flag true only on global master*/} nmi_t;#endif /* !__ASSEMBLY__ *//* Following definitions are needed both in the prom & the kernel * to identify the format of the nmi cpu register save area in the * low memory on each node. */#ifndef __ASSEMBLY__struct reg_struct {	unsigned long	gpr[32];	unsigned long	sr;	unsigned long	cause;	unsigned long	epc;	unsigned long	badva;	unsigned long	error_epc;	unsigned long	cache_err;	unsigned long	nmi_sr;};#endif /* !__ASSEMBLY__ *//* These are the assembly language offsets into the reg_struct structure */#define R0_OFF		0x0#define R1_OFF		0x8#define R2_OFF		0x10#define R3_OFF		0x18#define R4_OFF		0x20#define R5_OFF		0x28#define R6_OFF		0x30#define R7_OFF		0x38#define R8_OFF		0x40#define R9_OFF		0x48#define R10_OFF		0x50#define R11_OFF		0x58#define R12_OFF		0x60#define R13_OFF		0x68#define R14_OFF		0x70#define R15_OFF		0x78#define R16_OFF		0x80#define R17_OFF		0x88#define R18_OFF		0x90#define R19_OFF		0x98#define R20_OFF		0xa0#define R21_OFF		0xa8#define R22_OFF		0xb0#define R23_OFF		0xb8#define R24_OFF		0xc0#define R25_OFF		0xc8#define R26_OFF		0xd0#define R27_OFF		0xd8#define R28_OFF		0xe0#define R29_OFF		0xe8#define R30_OFF		0xf0#define R31_OFF		0xf8#define SR_OFF		0x100#define CAUSE_OFF	0x108#define EPC_OFF		0x110#define BADVA_OFF	0x118#define ERROR_EPC_OFF	0x120#define CACHE_ERR_OFF	0x128#define NMISR_OFF	0x130#endif /* __ASM_SN_NMI_H */

⌨️ 快捷键说明

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