Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/mips/include/asm/sn/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  nmi.h   Sprache: C

 
/*
 * 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.
 *
 * Derived from IRIX <sys/SN/nmi.h>, Revision 1.5.
 *
 * Copyright (C) 1992 - 1997 Silicon Graphics, Inc.
 */

#ifndef __ASM_SN_NMI_H
#define __ASM_SN_NMI_H

#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 complement 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 */

Messung V0.5
C=92 H=90 G=90

¤ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.