74 lines
1.9 KiB
C
74 lines
1.9 KiB
C
/* ivSimsolaris.h - Solaris VxSim interrupt vectors */
|
|
|
|
/*
|
|
* Copyright (c) 1993-2003,2007 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use of this
|
|
* software may be licensed only pursuant to the terms of an applicable
|
|
* Wind River license agreement.
|
|
*/
|
|
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01j,05oct07,elp added IPI_INTR_ID_DEBUG
|
|
01i,04mar07,elp added multiples IPIs
|
|
01h,07feb07,elp added IV_IPI0 definition.
|
|
01g,16sep03,jmp cleanup interrupt vector definitions.
|
|
01f,21may03,jmp moved IV_MAX from intArchLib.c.
|
|
01e,18mar03,dbt Added missing interrupt vectors.
|
|
01d,05mar03,jeg cleanup code .
|
|
01c,21feb03,jeg added test to avoid multiple definitions of FD_TO_IVEC.
|
|
01b,13feb97,pr changed the iv number which were different from the sparc.
|
|
01a,07jun95,ism derived from simsparc
|
|
*/
|
|
|
|
#ifndef __INCivSimsolarisLibh
|
|
#define __INCivSimsolarisLibh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* maximun number of interrupt vectors */
|
|
|
|
#define IV_MAX (256 + 40) /* 256 correspond to MAX_FD defined on host */
|
|
/* side, see vxsimLib.h */
|
|
|
|
/* macros to convert interrupt vectors <-> interrupt numbers */
|
|
|
|
#define IVEC_TO_INUM(intVec) ((int) (intVec))
|
|
#define INUM_TO_IVEC(intNum) ((VOIDFUNCPTR *) (intNum))
|
|
|
|
#define IVEC_TO_FD(intVec) (IVEC_TO_INUM(intVec) - 40)
|
|
#ifndef FD_TO_IVEC
|
|
#define FD_TO_IVEC(fd) (INUM_TO_IVEC((fd) + 40))
|
|
#endif
|
|
|
|
/* interrupt vector definitions */
|
|
|
|
#define IV_HUP 1
|
|
#define IV_INT 2
|
|
#define IV_ILL 4
|
|
#define IV_TRAP 5
|
|
#define IV_FPE 8
|
|
#define IV_BUS 10
|
|
#define IV_SEGV 11
|
|
#define IV_CLOCK1 14
|
|
#define IV_USR1 16
|
|
#define IV_USR2 17
|
|
#define IV_IO 22
|
|
#define IV_CLOCK2 28
|
|
#define IV_CLOCK3 29
|
|
#define IV_IPI0 32 /* aka IPI_INTR_ID_CPC */
|
|
#define IV_IPI1 33 /* aka IPI_INTR_ID_DEBUG */
|
|
#define IV_IPI2 34
|
|
#define IV_IPI3 35
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCivSimsolarisLibh */
|