]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/IODeviceTreeSupport.h
xnu-2422.90.20.tar.gz
[apple/xnu.git] / iokit / IOKit / IODeviceTreeSupport.h
index 6504ccf2c5cdfb5d37b53de6ffb36a0292e49951..9b39a2dc2b85e9dae454023666a716bf8c561f75 100644 (file)
@@ -43,6 +43,8 @@ class IOService;
 
 extern const IORegistryPlane * gIODTPlane;
 
 
 extern const IORegistryPlane * gIODTPlane;
 
+extern const OSSymbol *                gIODTPHandleKey;
+
 extern const OSSymbol *                gIODTCompatibleKey;
 extern const OSSymbol *        gIODTTypeKey;
 extern const OSSymbol *        gIODTModelKey;
 extern const OSSymbol *                gIODTCompatibleKey;
 extern const OSSymbol *        gIODTTypeKey;
 extern const OSSymbol *        gIODTModelKey;
@@ -70,6 +72,7 @@ OSCollectionIterator * IODTFindMatchingEntries( IORegistryEntry * from,
 
 typedef SInt32 (*IODTCompareAddressCellFunc)
        (UInt32 cellCount, UInt32 left[], UInt32 right[]);
 
 typedef SInt32 (*IODTCompareAddressCellFunc)
        (UInt32 cellCount, UInt32 left[], UInt32 right[]);
+
 typedef void (*IODTNVLocationFunc)
        (IORegistryEntry * entry,
        UInt8 * busNum, UInt8 * deviceNum, UInt8 * functionNum );
 typedef void (*IODTNVLocationFunc)
        (IORegistryEntry * entry,
        UInt8 * busNum, UInt8 * deviceNum, UInt8 * functionNum );
@@ -78,6 +81,9 @@ void IODTSetResolving( IORegistryEntry *      regEntry,
                IODTCompareAddressCellFunc      compareFunc,
                IODTNVLocationFunc              locationFunc );
 
                IODTCompareAddressCellFunc      compareFunc,
                IODTNVLocationFunc              locationFunc );
 
+void IODTGetCellCounts( IORegistryEntry * regEntry,
+                                           UInt32 * sizeCount, UInt32 * addressCount);
+
 bool IODTResolveAddressCell( IORegistryEntry * regEntry,
                              UInt32 cellsIn[],
                              IOPhysicalAddress * phys, IOPhysicalLength * len );
 bool IODTResolveAddressCell( IORegistryEntry * regEntry,
                              UInt32 cellsIn[],
                              IOPhysicalAddress * phys, IOPhysicalLength * len );
@@ -86,8 +92,6 @@ OSArray * IODTResolveAddressing( IORegistryEntry * regEntry,
                        const char * addressPropertyName,
                        IODeviceMemory * parent );
 
                        const char * addressPropertyName,
                        IODeviceMemory * parent );
 
-#pragma options align=mac68k
-
 struct IONVRAMDescriptor {
     unsigned int format:4;
     unsigned int marker:1;
 struct IONVRAMDescriptor {
     unsigned int format:4;
     unsigned int marker:1;
@@ -96,9 +100,7 @@ struct IONVRAMDescriptor {
     unsigned int bridgeDevices:6 * 5;
     unsigned int functionNum:3;
     unsigned int deviceNum:5;
     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 );
 
 IOReturn IODTMakeNVDescriptor( IORegistryEntry * regEntry,
                                IONVRAMDescriptor * hdr );