1// 2// AppleARMIO.h 3// AppleARMPlatform 4// 5// Created by rms on 5/22/13. 6// Copyright (c) 2013 rms. All rights reserved. 7// 8 9#ifndef __AppleARMPlatform__AppleARMIO__ 10#define __AppleARMPlatform__AppleARMIO__ 11 12#include <IOKit/IOService.h> 13 14/* 15 * Very plaigirized from xnu-1228 16 */ 17 18#define ARMIODevice AppleARMIODevice 19#define ARMIO AppleARMIOBus 20 21class AppleARMIODevice:public IOService { 22 OSDeclareDefaultStructors(AppleARMIODevice); 23 24 private: 25 struct ExpansionData { 26 }; 27 ExpansionData *reserved; 28 29 public: 30 virtual bool compareName(OSString * name, OSString ** matched = 0) const; 31 virtual IOService *matchLocation(IOService * client); 32 virtual IOReturn getResources(void); 33 34 OSMetaClassDeclareReservedUnused(AppleARMIODevice, 0); 35 OSMetaClassDeclareReservedUnused(AppleARMIODevice, 1); 36 OSMetaClassDeclareReservedUnused(AppleARMIODevice, 2); 37 OSMetaClassDeclareReservedUnused(AppleARMIODevice, 3); 38}; 39 40class AppleARMIOBus:public IOService { 41 OSDeclareAbstractStructors(AppleARMIOBus); 42 43 IOService *fNub; 44 IOMemoryMap *fMemory; 45 46 struct ExpansionData { 47 }; 48 ExpansionData *fReserved; 49 50 public: 51 virtual bool start(IOService * provider); 52 53 virtual IOService *createNub(IORegistryEntry * from); 54 55 virtual void processNub(IOService * nub); 56 57 virtual void publishBelow(IORegistryEntry * root); 58 59 virtual const char *deleteList(void); 60 virtual const char *excludeList(void); 61 62 virtual bool compareNubName(const IOService * nub, OSString * name, OSString ** matched = 0) const; 63 64 virtual IOReturn getNubResources(IOService * nub); 65 66 OSMetaClassDeclareReservedUnused(AppleARMIOBus, 0); 67 OSMetaClassDeclareReservedUnused(AppleARMIOBus, 1); 68 OSMetaClassDeclareReservedUnused(AppleARMIOBus, 2); 69 OSMetaClassDeclareReservedUnused(AppleARMIOBus, 3); 70}; 71 72#endif /* defined(__AppleARMPlatform__AppleARMIO__) */ 73