AppleIntelPIIXATARoot.h [plain text]
#ifndef _APPLEINTELPIIXATAROOT_H
#define _APPLEINTELPIIXATAROOT_H
#include <IOKit/IOLocks.h>
#include <IOKit/pci/IOPCIDevice.h>
class AppleIntelPIIXATARoot : public IOService
{
OSDeclareDefaultStructors( AppleIntelPIIXATARoot )
protected:
OSSet * _nubs;
OSSet * _openNubs;
IOPCIDevice * _provider;
IOLock * _pciConfigLock;
virtual OSSet * createATAChannelNubs( void );
virtual OSDictionary * createNativeModeChannelInfo( UInt32 ataChannel,
UInt8 mapValue );
virtual OSDictionary * createLegacyModeChannelInfo( UInt32 ataChannel,
UInt8 mapValue );
virtual OSDictionary * createChannelInfo( UInt32 ataChannel,
UInt8 mapValue,
UInt16 commandPort,
UInt16 controlPort,
UInt8 interruptVector );
virtual IORegistryEntry * getDTChannelEntry( int channelID );
public:
virtual IOService * probe( IOService * provider,
SInt32 * score );
virtual bool start( IOService * provider );
virtual void free( void );
virtual bool handleOpen( IOService * client,
IOOptionBits options,
void * arg );
virtual void handleClose( IOService * client,
IOOptionBits options );
virtual bool handleIsOpen( const IOService * client ) const;
virtual void pciConfigWrite8( UInt8 offset,
UInt8 data,
UInt8 mask = 0xff );
virtual void pciConfigWrite16( UInt8 offset,
UInt16 data,
UInt16 mask = 0xffff );
virtual bool serializeProperties( OSSerialize * s ) const;
};
#endif