xref: /xnu-11215/iokit/KernelConfigTables.cpp (revision fad439e7)
1 /*
2  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3  *
4  * @APPLE_LICENSE_HEADER_START@
5  *
6  * The contents of this file constitute Original Code as defined in and
7  * are subject to the Apple Public Source License Version 1.1 (the
8  * "License").  You may not use this file except in compliance with the
9  * License.  Please obtain a copy of the License at
10  * http://www.apple.com/publicsource and read it before using this file.
11  *
12  * This Original Code and all software distributed under the License are
13  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
17  * License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * @APPLE_LICENSE_HEADER_END@
21  */
22 
23 
24 /* This list is used in IOStartIOKit.cpp to declare fake kmod_info
25  * structs for kext dependencies that are built into the kernel.
26  * See the SystemKEXT project for fuller information on these
27  * fake or pseudo-kexts, including their compatible versions.
28  */
29 const char * gIOKernelKmods =
30 "{
31     'com.apple.kernel'                         = '6.0';
32     'com.apple.kernel.bsd'                     = '6.0';
33     'com.apple.kernel.iokit'                   = '6.0';
34     'com.apple.kernel.libkern'                 = '6.0';
35     'com.apple.kernel.mach'                    = '6.0';
36     'com.apple.iokit.IOADBFamily'              = '1.1';
37     'com.apple.iokit.IONVRAMFamily'            = '1.1';
38     'com.apple.iokit.IOSystemManagementFamily' = '1.1';
39     'com.apple.iokit.ApplePlatformFamily'      = '1.0';
40     'com.apple.driver.AppleNMI'                = '1.0';
41 }";
42 
43 
44 const char * gIOKernelConfigTables =
45 "(
46     {
47       'IOClass'         = IOPanicPlatform;
48       'IOProviderClass' = IOPlatformExpertDevice;
49       'IOProbeScore'    = '-1';
50     }
51 "
52 #ifdef PPC
53 "   ,
54     {
55 	'IOClass'		= AppleCPU;
56 	'IOProviderClass'	= IOPlatformDevice;
57         'IONameMatch'		= 'cpu';
58 	'IOProbeScore'		= 100:32;
59     },
60     {
61         'IOClass'              = AppleNMI;
62         'IOProviderClass'      = AppleMacIODevice;
63         'IONameMatch'          = 'programmer-switch';
64     },
65     {
66         'IOClass'		= AppleNVRAM;
67         'IOProviderClass'	= AppleMacIODevice;
68         'IONameMatch'		= nvram;
69     },
70     {
71         'IOClass'               = IOPMUADBController;
72         'IOProviderClass'       = AppleMacIODevice;
73         'IONameMatch'           = adb;
74     }
75 "
76 #endif /* PPC */
77 #ifdef i386
78 "   ,
79     {
80        'IOClass'           = AppleI386PlatformExpert;
81        'IOProviderClass'   = IOPlatformExpertDevice;
82        'top-level'         = "
83     /* set of dicts to make into nubs */
84     "[
85        { IOName = cpu; },
86        { IOName = intel-pic; },
87        { IOName = intel-clock; },
88        { IOName = ps2controller; },
89        { IOName = pci; },
90        { IOName = display; 'AAPL,boot-display' = Yes; }
91     ];
92     },
93     {
94        'IOClass'           = AppleI386CPU;
95        'IOProviderClass'   = IOPlatformDevice;
96        'IONameMatch'       = cpu;
97        'IOProbeScore'      = 100:32;
98     },
99     {
100        'IOClass'           = AppleIntelClassicPIC;
101        'IOProviderClass'   = IOPlatformDevice;
102        'IONameMatch'       = intel-pic;
103     },
104     {
105        'IOClass'           = AppleIntelClock;
106        'IOProviderClass'   = IOPlatformDevice;
107        'IONameMatch'       = intel-clock;
108     }
109 "
110 #endif /* i386 */
111 ")";
112 
113