Loading...
iokit/IOKit/IOInterruptController.h xnu-12377.101.15 xnu-792
--- xnu/xnu-12377.101.15/iokit/IOKit/IOInterruptController.h
+++ xnu/xnu-792/iokit/IOKit/IOInterruptController.h
@@ -1,35 +1,29 @@
 /*
  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- *
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * @APPLE_LICENSE_HEADER_START@
+ * 
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ * 
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * 
+ * @APPLE_LICENSE_HEADER_END@
  */
 /*
  * Copyright (c) 1999 Apple Computer, Inc.  All rights reserved.
  *
  *  DRI: Josh de Cesare
- *
+ *  
  */
 
 
@@ -44,125 +38,106 @@
 class IOSharedInterruptController;
 
 struct IOInterruptVector {
-	volatile char               interruptActive;
-	volatile char               interruptDisabledSoft;
-	volatile char               interruptDisabledHard;
-	volatile char               interruptRegistered;
-	IOLock *                    interruptLock;
-	IOService *                 nub;
-	int                         source;
-	void *                      target;
-	IOInterruptHandler          handler;
-	void *                      refCon;
-	IOSharedInterruptController *sharedController;
+  volatile char               interruptActive;
+  volatile char               interruptDisabledSoft;
+  volatile char               interruptDisabledHard;
+  volatile char               interruptRegistered;
+  IOLock *                    interruptLock;
+  IOService *                 nub;
+  long                        source;
+  void *                      target;
+  IOInterruptHandler          handler;
+  void *                      refCon;
+  IOSharedInterruptController *sharedController;
 };
 
 typedef struct IOInterruptVector IOInterruptVector;
 
-#if __LP64__
-typedef int32_t IOInterruptVectorNumber;
-#else
-typedef long IOInterruptVectorNumber;
-#endif
 
 class IOInterruptController : public IOService
 {
-	OSDeclareAbstractStructors(IOInterruptController);
+  OSDeclareAbstractStructors(IOInterruptController);
 
 protected:
-	IOInterruptVector *vectors;
-	IOSimpleLock      *controllerLock;
+  IOInterruptVector *vectors;
+  IOSimpleLock      *controllerLock;
 
-	struct ExpansionData { };
-	ExpansionData *ioic_reserved;
+  struct ExpansionData { };
+  ExpansionData *reserved;
 
 public:
-	virtual IOReturn registerInterrupt(IOService *nub, int source,
-	    void *target,
-	    IOInterruptHandler handler,
-	    void *refCon);
-	virtual IOReturn unregisterInterrupt(IOService *nub, int source);
+  virtual IOReturn registerInterrupt(IOService *nub, int source,
+				     void *target,
+				     IOInterruptHandler handler,
+				     void *refCon);
+  virtual IOReturn unregisterInterrupt(IOService *nub, int source);
+  
+  virtual IOReturn getInterruptType(IOService *nub, int source,
+				    int *interruptType);
+  
+  virtual IOReturn enableInterrupt(IOService *nub, int source);
+  virtual IOReturn disableInterrupt(IOService *nub, int source);
+  virtual IOReturn causeInterrupt(IOService *nub, int source);
+  
+  virtual IOInterruptAction getInterruptHandlerAddress(void);
+  virtual IOReturn handleInterrupt(void *refCon, IOService *nub,
+				   int source);
+  
+  // 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 IOReturn getInterruptType(IOService *nub, int source,
-	    int *interruptType);
-
-	virtual IOReturn enableInterrupt(IOService *nub, int source);
-	virtual IOReturn disableInterrupt(IOService *nub, int source);
-	virtual IOReturn causeInterrupt(IOService *nub, int source);
-
-	virtual IOInterruptAction getInterruptHandlerAddress(void);
-	virtual IOReturn handleInterrupt(void *refCon, IOService *nub,
-	    int source);
-
-// Methods to be overridden for simplifed interrupt controller subclasses.
-
-	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);
-	virtual void setCPUInterruptProperties(IOService *service);
-
-	virtual void sendIPI(unsigned int cpu_id, bool deferred);
-	virtual void cancelDeferredIPI(unsigned int cpu_id);
-
-	OSMetaClassDeclareReservedUsedX86(IOInterruptController, 0);
-	OSMetaClassDeclareReservedUsedX86(IOInterruptController, 1);
-	OSMetaClassDeclareReservedUsedX86(IOInterruptController, 2);
-	OSMetaClassDeclareReservedUnused(IOInterruptController, 3);
-	OSMetaClassDeclareReservedUnused(IOInterruptController, 4);
-	OSMetaClassDeclareReservedUnused(IOInterruptController, 5);
-
-public:
-// Generic methods (not to be overriden).
-
-	void timeStampSpuriousInterrupt(void);
-	void timeStampInterruptHandlerStart(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
-	void timeStampInterruptHandlerEnd(IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
-
-private:
-	void timeStampInterruptHandlerInternal(bool isStart, IOInterruptVectorNumber vectorNumber, IOInterruptVector *vector);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 0);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 1);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 2);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 3);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 4);
+  OSMetaClassDeclareReservedUnused(IOInterruptController, 5);
 };
 
 
 class IOSharedInterruptController : public IOInterruptController
 {
-	OSDeclareDefaultStructors(IOSharedInterruptController);
+  OSDeclareDefaultStructors(IOSharedInterruptController);
+  
+private:
+  IOService         *provider;
+  int               numVectors;
+  int               vectorsRegistered;
+  int               vectorsEnabled;
+  volatile long     controllerDisabled;
+  bool              sourceIsLevel;
 
-private:
-	IOService         *provider;
-	int               numVectors;
-	int               vectorsRegistered;
-	int               vectorsEnabled;
-	volatile int      controllerDisabled;
-	bool              sourceIsLevel;
-
-	struct ExpansionData { };
-	ExpansionData *iosic_reserved __unused;
+  struct ExpansionData { };
+  ExpansionData *reserved;
 
 public:
-	virtual IOReturn initInterruptController(IOInterruptController *parentController, OSData *parentSource);
+  virtual IOReturn initInterruptController(IOInterruptController *parentController, OSData *parentSource);
+  
+  virtual IOReturn registerInterrupt(IOService *nub, int source,
+                                     void *target,
+                                     IOInterruptHandler handler,
+                                     void *refCon);
+  virtual IOReturn unregisterInterrupt(IOService *nub, int source);
+  
+  virtual IOReturn getInterruptType(IOService *nub, int source,
+				    int *interruptType);
+  
+  virtual IOReturn enableInterrupt(IOService *nub, int source);
+  virtual IOReturn disableInterrupt(IOService *nub, int source);
+  
+  virtual IOInterruptAction getInterruptHandlerAddress(void);
+  virtual IOReturn handleInterrupt(void *refCon, IOService *nub, int source);
 
-	virtual IOReturn registerInterrupt(IOService *nub, int source,
-	    void *target,
-	    IOInterruptHandler handler,
-	    void *refCon) APPLE_KEXT_OVERRIDE;
-	virtual IOReturn unregisterInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
-
-	virtual IOReturn getInterruptType(IOService *nub, int source,
-	    int *interruptType) APPLE_KEXT_OVERRIDE;
-
-	virtual IOReturn enableInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
-	virtual IOReturn disableInterrupt(IOService *nub, int source) APPLE_KEXT_OVERRIDE;
-
-	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);
-	OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 2);
-	OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 3);
+  OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 0);
+  OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 1);
+  OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 2);
+  OSMetaClassDeclareReservedUnused(IOSharedInterruptController, 3);
 };