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