Loading...
iokit/KernelConfigTables.cpp xnu-4570.71.2 xnu-517
--- xnu/xnu-4570.71.2/iokit/KernelConfigTables.cpp
+++ xnu/xnu-517/iokit/KernelConfigTables.cpp
@@ -1,19 +1,16 @@
 /*
- * Copyright (c) 1998-2012 Apple Inc. All rights reserved.
+ * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ * @APPLE_LICENSE_HEADER_START@
+ * 
+ * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- * 
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -23,26 +20,65 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ * @APPLE_LICENSE_HEADER_END@
  */
-/*
- * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce
- * support for mandatory and extensible security protections.  This notice
- * is included in support of clause 2.2 (b) of the Apple Public License,
- * Version 2.0.
+
+
+/* This list is used in IOStartIOKit.cpp to declare fake kmod_info
+ * structs for kext dependencies that are built into the kernel.
  */
+const char * gIOKernelKmods =
+"{"
+"   'com.apple.kernel'                         = '7.0';"
+"   'com.apple.kpi.bsd'                        = '7.0';"
+"   'com.apple.kpi.iokit'                      = '7.0';"
+"   'com.apple.kpi.libkern'                    = '7.0';"
+"   'com.apple.kpi.mach'                       = '7.0';"
+"   'com.apple.iokit.IONVRAMFamily'            = '7.0';"
+"   'com.apple.driver.AppleNMI'                = '7.0';"
+"   'com.apple.iokit.IOSystemManagementFamily' = '7.0';"
+"   'com.apple.iokit.ApplePlatformFamily'      = '7.0';"
+"   'com.apple.kernel.6.0'                     = '6.9.9';"
+"   'com.apple.kernel.bsd'                     = '6.9.9';"
+"   'com.apple.kernel.iokit'                   = '6.9.9';"
+"   'com.apple.kernel.libkern'                 = '6.9.9';"
+"   'com.apple.kernel.mach'                    = '6.9.9';"
+"}";
+
 
 const char * gIOKernelConfigTables =
 "("
 "   {"
 "     'IOClass'         = IOPanicPlatform;"
 "     'IOProviderClass' = IOPlatformExpertDevice;"
-"     'IOProbeScore'    = 0:32;"
+"     'IOProbeScore'    = '-1';"
 "   }"
+#ifdef PPC
+"   ,"
+"   {"
+"       'IOClass'               = AppleCPU;"
+"       'IOProviderClass'       = IOPlatformDevice;"
+"       'IONameMatch'           = 'cpu';"
+"       'IOProbeScore'          = 100:32;"
+"   },"
+"   {"
+"       'IOClass'              = AppleNMI;"
+"       'IOProviderClass'      = AppleMacIODevice;"
+"       'IONameMatch'          = 'programmer-switch';"
+"   },"
+"   {"
+"       'IOClass'               = AppleNVRAM;"
+"       'IOProviderClass'       = AppleMacIODevice;"
+"       'IONameMatch'           = nvram;"
+"   }"
+#endif /* PPC */
+#ifdef i386
+"   ,"
+"   {"
+"       'IOClass'           = AppleIntelClock;"
+"       'IOProviderClass'   = IOPlatformDevice;"
+"       'IONameMatch'       = intel-clock;"
+"   }"
+#endif /* i386 */
 ")";
 
-/* This stuff is no longer used at all but was exported in prior
- * releases, so we'll keep them around for PPC/i386 only.
- * See libkern's OSKext.cpp for other symbols, which have been moved
- * there for sanity.
- */