Files
m241Neelima/vxworks-6.9/target/h/drv/intrCtl/mpApic.h
T
2026-07-30 11:19:44 +05:30

89 lines
2.2 KiB
C

/* mpApic.h - Intel MP APIC/xAPIC (Advanced PIC) */
/* Copyright 2006, 2008, 2010 Wind River Systems, Inc. */
/*
modification history
--------------------
01g,29apr10,pad Moved extern C statement after include statements.
01f,27aug08,jpb Renamed VSB header file
01e,24jun08,jpb Added include path for kernel configurations options set in
vsb. Renamed _WRS_VX_SMP to _WRS_CONFIG_SMP.
01d,30oct06,scm rename mpApicNcpu to vxCpuCount...
01c,31aug06,scm add support for CPU ID translation table...
01b,26jul06,scm update for pentium/xeon support...
01a,26jul06,hdn written...
*/
#ifndef __INCmpApich
#define __INCmpApich
#include <vsbConfig.h>
#ifdef __cplusplus
extern "C" {
#endif
#define BUILT_IN_APIC 0
/* Maximum Number of IOAPICs in the system */
#ifndef MAX_IOAPICS
#define MAX_IOAPICS 16
#endif
#ifndef _ASMLANGUAGE
/* variable declarations */
IMPORT MP_FPS *mpApicFps;
#ifdef _WRS_CONFIG_SMP
IMPORT unsigned int vxCpuCount; /* number of CPUs (MP Table) */
#endif /* _WRS_CONFIG_SMP */
IMPORT UINT32 mpApicNioApic; /* number of IO APICs (MP Table) */
IMPORT UINT32 mpApicNbus; /* number of buses (MP Table) */
IMPORT UINT32 mpApicNioint; /* number of io interrupts (MP Table) */
IMPORT UINT32 mpApicNloint; /* number of local interrupts (MP Table) */
IMPORT UINT32 *mpApicAddrTable[]; /* logical apic id to address mapping */
#ifdef _WRS_CONFIG_SMP
IMPORT UINT8 mpCpuIndexTable[]; /* cpu Id translation */
IMPORT UINT8 mploApicIndexTable[]; /* loApic Id translation */
#endif /* _WRS_CONFIG_SMP */
IMPORT UINT8 mpApicLogicalTable[]; /* recorded id mapping */
IMPORT UINT8 mpApicRedEntries[];
IMPORT UINT8 mpApicBaseIrq[];
IMPORT MP_INTERRUPT *mpApicInterruptTable;
IMPORT MP_BUS *mpApicBusTable;
#if defined(__STDC__) || defined(__cplusplus)
STATUS mpApicMpConfigTableInit(void);
INT8 *mpApicScan(INT8* match, INT8 * start, INT8 * end);
UINT32 mpApicIrqToBusIrq(UINT32 ioApicId, UINT32 irq);
#else
IMPORT STATUS mpApicMpConfigTableInit();
IMPORT INT8 *mpApicScan();
IMPORT UINT32 mpApicIrqToBusIrq(UINT32 ioApicId, UINT32 irq);
#endif /* __STDC__ */
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCmpApich */