volatile char interruptRegistered;
IOLock * interruptLock;
IOService * nub;
- long source;
+ int source;
void * target;
IOInterruptHandler handler;
void * refCon;
typedef struct IOInterruptVector IOInterruptVector;
+#if __LP64__
+typedef int32_t IOInterruptVectorNumber;
+#else
+typedef long IOInterruptVectorNumber;
+#endif
class IOInterruptController : public IOService
{
// Methods to be overridden for simplifed interrupt controller subclasses.
- virtual bool vectorCanBeShared(long vectorNumber, IOInterruptVector *vector);
- virtual void initVector(long vectorNumber, IOInterruptVector *vector);
- virtual int getVectorType(long vectorNumber, IOInterruptVector *vector);
- virtual void disableVectorHard(long vectorNumber, IOInterruptVector *vector);
- virtual void enableVector(long vectorNumber, IOInterruptVector *vector);
- virtual void causeVector(long vectorNumber, IOInterruptVector *vector);
+ virtual bool vectorCanBeShared(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+ virtual void initVector(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+ virtual int getVectorType(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+ virtual void disableVectorHard(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+ virtual void enableVector(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+ virtual void causeVector(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
OSMetaClassDeclareReservedUnused(IOInterruptController, 0);
OSMetaClassDeclareReservedUnused(IOInterruptController, 1);
int numVectors;
int vectorsRegistered;
int vectorsEnabled;
- volatile long controllerDisabled;
+ volatile int controllerDisabled;
bool sourceIsLevel;
struct ExpansionData { };
virtual IOReturn registerInterrupt(IOService *nub, int source,
void *target,
IOInterruptHandler handler,
- void *refCon);
- virtual IOReturn unregisterInterrupt(IOService *nub, int source);
+ void *refCon) APPLE_KEXT_OVERRIDE;
+ virtual IOReturn unregisterInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
virtual IOReturn getInterruptType(IOService *nub, int source,
- int *interruptType);
+ int *interruptType) APPLE_KEXT_OVERRIDE;
- virtual IOReturn enableInterrupt(IOService *nub, int source);
- virtual IOReturn disableInterrupt(IOService *nub, int source);
+ virtual IOReturn enableInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
+ virtual IOReturn disableInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
- virtual IOInterruptAction getInterruptHandlerAddress(void);
- virtual IOReturn handleInterrupt(void *refCon, IOService *nub, int source);
+ virtual IOInterruptAction getInterruptHandlerAddress(void) APPLE_KEXT_OVERRIDE;
+ virtual IOReturn handleInterrupt(void *refCon, IOService *nub, int source) APPLE_KEXT_OVERRIDE;
OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 0);
OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 1);