]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/IODeviceTreeSupport.h
xnu-4903.221.2.tar.gz
[apple/xnu.git] / iokit / IOKit / IODeviceTreeSupport.h
index 6504ccf2c5cdfb5d37b53de6ffb36a0292e49951..b10c5553cd52be8e6a6066758c3a88c75d553100 100644 (file)
@@ -43,9 +43,12 @@ class IOService;
 
 extern const IORegistryPlane * gIODTPlane;
 
+extern const OSSymbol *                gIODTPHandleKey;
+
 extern const OSSymbol *                gIODTCompatibleKey;
 extern const OSSymbol *        gIODTTypeKey;
 extern const OSSymbol *        gIODTModelKey;
+extern const OSSymbol *        gIODTTargetTypeKey;
 
 extern const OSSymbol *                gIODTAAPLInterruptsKey;
 extern const OSSymbol *                gIODTDefaultInterruptController;
@@ -68,8 +71,14 @@ enum {
 OSCollectionIterator * IODTFindMatchingEntries( IORegistryEntry * from,
                        IOOptionBits options, const char * keys );
 
+#if !defined(__arm64__)
 typedef SInt32 (*IODTCompareAddressCellFunc)
        (UInt32 cellCount, UInt32 left[], UInt32 right[]);
+#else
+typedef SInt64 (*IODTCompareAddressCellFunc)
+       (UInt32 cellCount, UInt32 left[], UInt32 right[]);
+#endif
+
 typedef void (*IODTNVLocationFunc)
        (IORegistryEntry * entry,
        UInt8 * busNum, UInt8 * deviceNum, UInt8 * functionNum );
@@ -78,6 +87,9 @@ void IODTSetResolving( IORegistryEntry *      regEntry,
                IODTCompareAddressCellFunc      compareFunc,
                IODTNVLocationFunc              locationFunc );
 
+void IODTGetCellCounts( IORegistryEntry * regEntry,
+                                           UInt32 * sizeCount, UInt32 * addressCount);
+
 bool IODTResolveAddressCell( IORegistryEntry * regEntry,
                              UInt32 cellsIn[],
                              IOPhysicalAddress * phys, IOPhysicalLength * len );
@@ -86,8 +98,6 @@ OSArray * IODTResolveAddressing( IORegistryEntry * regEntry,
                        const char * addressPropertyName,
                        IODeviceMemory * parent );
 
-#pragma options align=mac68k
-
 struct IONVRAMDescriptor {
     unsigned int format:4;
     unsigned int marker:1;
@@ -96,9 +106,7 @@ struct IONVRAMDescriptor {
     unsigned int bridgeDevices:6 * 5;
     unsigned int functionNum:3;
     unsigned int deviceNum:5;
-};
-
-#pragma options align=reset
+} __attribute__((aligned(2), packed));
 
 IOReturn IODTMakeNVDescriptor( IORegistryEntry * regEntry,
                                IONVRAMDescriptor * hdr );