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;
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 );
IODTCompareAddressCellFunc compareFunc,
IODTNVLocationFunc locationFunc );
+void IODTGetCellCounts( IORegistryEntry * regEntry,
+ UInt32 * sizeCount, UInt32 * addressCount);
+
bool IODTResolveAddressCell( IORegistryEntry * regEntry,
UInt32 cellsIn[],
IOPhysicalAddress * phys, IOPhysicalLength * len );
const char * addressPropertyName,
IODeviceMemory * parent );
-#pragma options align=mac68k
-
struct IONVRAMDescriptor {
unsigned int format:4;
unsigned int marker:1;
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 );