original files of m241
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
/* i8259a.h - Intel 8259a PIC (Programmable Interrupt Controller) */
|
||||
|
||||
/* Copyright 1984-1996 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
modification history
|
||||
--------------------
|
||||
01e,17mar97,hdn added function declarations.
|
||||
01d,03jan95,vin added PIC_ISR_MASK, PIC_IRR_MASK, OCW3
|
||||
01c,16aug93,hdn deleted PIC_BASE_ADRS macros.
|
||||
01b,16jun93,hdn updated to 5.1.
|
||||
01a,15may92,hdn written.
|
||||
*/
|
||||
|
||||
#ifndef __INCi8259ah
|
||||
#define __INCi8259ah
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The macro PIC_REG_ADDR_INTERVAL must be defined
|
||||
* when including this header.
|
||||
*/
|
||||
|
||||
/* default definitions */
|
||||
|
||||
#define CAST
|
||||
|
||||
#define PIC_ADRS(base,reg) (CAST (base+(reg*PIC_REG_ADDR_INTERVAL)))
|
||||
|
||||
/* register definitions */
|
||||
|
||||
#define PIC_port1(base) PIC_ADRS(base,0x00) /* port 1. */
|
||||
#define PIC_port2(base) PIC_ADRS(base,0x01) /* port 2. */
|
||||
|
||||
/* alias */
|
||||
|
||||
#define PIC_IMASK(base) PIC_port2(base) /* Interrupt mask. */
|
||||
#define PIC_IACK(base) PIC_port1(base) /* Interrupt acknowledge. */
|
||||
|
||||
#define PIC_ISR_MASK(base) PIC_port1(base) /* in-service register mask */
|
||||
#define PIC_IRR_MASK(base) PIC_port1(base) /* interrupt request reg */
|
||||
|
||||
#define OCW3_DEF 0x08 /* 3rd default control word */
|
||||
#define OCW3_PCB 0x04 /* Polling Control Bit */
|
||||
#define OCW3_ISR 0x03 /* Read in-service reg */
|
||||
#define OCW3_IRR 0x02 /* Read inter request reg */
|
||||
|
||||
#ifndef _ASMLANGUAGE
|
||||
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
|
||||
IMPORT int sysIntLevel (void);
|
||||
IMPORT VOID sysIntLock (void);
|
||||
IMPORT VOID sysIntUnlock (void);
|
||||
|
||||
#else
|
||||
|
||||
IMPORT int sysIntLevel ();
|
||||
IMPORT VOID sysIntLock ();
|
||||
IMPORT VOID sysIntUnlock ();
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#endif /* _ASMLANGUAGE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __INCi8259ah */
|
||||
Reference in New Issue
Block a user