- kmodIter = OSCollectionIterator::withCollection(fakeKmods);
- if (!kmodIter) {
- panic("Can't declare in-kernel kmods.\n");
- }
- while ((kmodName = OSDynamicCast(OSString, kmodIter->getNextObject()))) {
-
- OSString * kmodVersion = OSDynamicCast(OSString,
- fakeKmods->getObject(kmodName));
- if (!kmodVersion) {
- panic("Can't declare in-kernel kmod; \"%s\" has "
- "an invalid version.\n",
- kmodName->getCStringNoCopy());
- }
- if (KERN_SUCCESS != kmod_create_fake(kmodName->getCStringNoCopy(),
- kmodVersion->getCStringNoCopy())) {
- panic("Failure declaring in-kernel kmod \"%s\".\n",
- kmodName->getCStringNoCopy());
+ /* If the bootstrap segment set up a function to record startup
+ * extensions, call it now.
+ */
+ if (record_startup_extensions_function) {
+ record_startup_extensions_function();