This is xnu-11215.1.10. See this file in:
/*
* Copyright (c) 2009 Apple Inc. All rights reserved.
*/
#ifndef _PEXPERT_ARM_AIC_H
#define _PEXPERT_ARM_AIC_H
#ifndef ASSEMBLER
static inline unsigned long
_aic_read32(unsigned long addr)
{
unsigned long data;
data = *(volatile unsigned *)addr;
return data;
}
static inline void
_aic_write32(unsigned long addr, unsigned long data)
{
*(volatile unsigned *)(addr) = data;
}
#define aic_read32(offset, data) (_aic_read32(pic_base + (offset)))
#define aic_write32(offset, data) (_aic_write32(pic_base + (offset), (data)))
#endif
// AIC
#define kAICAicRev (0x0000)
#define kAICAicCap0 (0x0004)
#define kAICAicCap0Int(n) ((n) & 0x3FF)
#define kAICAicCap0Proc(n) ((((n) >> 16) & 0x1F) + 1)
#define kAICAicCap1 (0x0008)
#define kAICAicRst (0x000C)
#define kAICGlbCfg (0x0010)
#define kAICMainTimLo (0x0020)
#define kAICMainTimHi (0x0028)
#define kAICIPINormalDbg (0x0030)
#define kAICIPISelfDbg (0x0034)
#define kAICWhoAmI (0x2000)
#define kAICIack (0x2004)
#define kAICIackVecType(n) (((n) >> 16) & 0x7)
#define kAICIackVecTypeSpurious (0)
#define kAICIackVecTypeExtInt (1)
#define kAICIackVecTypeIPI (4)
#define kAICIackVecTypeTimer (7)
#define kAICIackVecExtInt(n) ((n) & 0x3FF)
#define kAICIackVecIPIType(n) ((n) & 0x003)
#define kAICIackVecIPITypeNormal (1)
#define kAICIackVecIPITypeSelf (2)
#define kAICIPISet (0x2008)
#define kAICIPIClr (0x200C)
#define kAICIPIClrSelf (0x80000000)
#define kAICTmrCfg (0x2010)
#define kAICTmrCfgEn (1)
#define kAICTmrCfgFslPTI (0 << 4)
#define kAICTmrCfgFslSGTI (1 << 4)
#define kAICTmrCfgFslETI (2 << 4)
#define kAICTmrCnt (0x2014)
#define kAICTmrIntStat (0x2018)
#define kAICTmrIntStatPct (1)
#define kAICTmrStateSet (0x201C)
#define kAICTmrStateClr (0x2020)
#define kAICBankedCoreRegs (0x2000)
#define kAICBankedCoreTmrCnt (0x14)
#define kAICBankedCoreTmrIntStat (0x18)
#define kAICTgtDst(n) (0x3000 + (n) * 4)
#define kAICSwGenSet(n) (0x4000 + (n) * 4)
#define kAICSwGenClr(n) (0x4080 + (n) * 4)
#define kAICIntMaskSet(n) (0x4100 + (n) * 4)
#define kAICIntMaskClr(n) (0x4180 + (n) * 4)
#define kAICHwIntMon(n) (0x4200 + (n) * 4)
#define kAICAliasWhoAmI(n) (0x5000 + (n) * 0x80 + 0x00)
#define kAICAliasIack(n) (0x5000 + (n) * 0x80 + 0x04)
#define kAICAliasIPISet(n) (0x5000 + (n) * 0x80 + 0x08)
#define kAICAliasIPIClr(n) (0x5000 + (n) * 0x80 + 0x0C)
#define kAICAliasTmrCfg(n) (0x5000 + (n) * 0x80 + 0x10)
#define kAICAliasTmrCnt(n) (0x5000 + (n) * 0x80 + 0x14)
#define kAICAliasTmrIntStat(n) (0x5000 + (n) * 0x80 + 0x18)
#define kAICAliasTmrStateSet(n) (0x5000 + (n) * 0x80 + 0x1C)
#define kAICAliasTmrStateClr(n) (0x5000 + (n) * 0x80 + 0x20)
#define kAICExtIntShift (5)
#define kAICExtIntMask (0x1F)
#endif /* ! _PEXPERT_ARM_AIC_H */