/** * PE_init_iokit * * Start IOKit and also set up the video console. */ void PE_init_iokit(void) { kprintf("PE_init_iokit: starting IOKit now!\n"); PE_init_printf(TRUE); StartIOKit( PE_state.deviceTreeHead, PE_state.bootArgs, (void *)0, (void *)0); }
/** * PE_init_iokit * * Start IOKit and also set up the video console. */ void PE_init_iokit(void) { printf("iBoot version: %s\n", firmware_version); kprintf("PE_init_iokit: starting IOKit now!\n"); PE_init_printf(TRUE); StartIOKit( PE_state.deviceTreeHead, PE_state.bootArgs, (void *)0, (void *)0); }
void PE_init_iokit(void) { enum { kMaxBootVar = 128 }; typedef struct { char name[32]; unsigned long length; unsigned long value[2]; } DriversPackageProp; boolean_t bootClutInitialized = FALSE; boolean_t noroot_rle_Initialized = FALSE; DTEntry entry; unsigned int size; uint32_t *map; boot_progress_element *bootPict; norootIcon_lzss = NULL; norootClut_lzss = NULL; PE_init_kprintf(TRUE); PE_init_printf(TRUE); kprintf("Kernel boot args: '%s'\n", PE_boot_args()); /* * Fetch the CLUT and the noroot image. */ if( kSuccess == DTLookupEntry(NULL, "/chosen/memory-map", &entry)) { if( kSuccess == DTGetProperty(entry, "BootCLUT", (void **) &map, &size)) { if (sizeof(appleClut8) <= map[1]) { bcopy( (void *)ml_static_ptovirt(map[0]), appleClut8, sizeof(appleClut8) ); bootClutInitialized = TRUE; } } if( kSuccess == DTGetProperty(entry, "Pict-FailedBoot", (void **) &map, &size)) { bootPict = (boot_progress_element *) ml_static_ptovirt(map[0]); default_noroot.width = bootPict->width; default_noroot.height = bootPict->height; default_noroot.dx = 0; default_noroot.dy = bootPict->yOffset; default_noroot_data = &bootPict->data[0]; noroot_rle_Initialized = TRUE; } if( kSuccess == DTGetProperty(entry, "FailedCLUT", (void **) &map, &size)) { norootClut_lzss = (uint8_t*) ml_static_ptovirt(map[0]); } if( kSuccess == DTGetProperty(entry, "FailedImage", (void **) &map, &size)) { norootIcon_lzss = (boot_icon_element *) ml_static_ptovirt(map[0]); if (norootClut_lzss == NULL) { printf("ERROR: No FailedCLUT provided for noroot icon!\n"); } } } if (!bootClutInitialized) { bcopy( (void *) (uintptr_t) bootClut, (void *) appleClut8, sizeof(appleClut8) ); } if (!noroot_rle_Initialized) { default_noroot.width = kFailedBootWidth; default_noroot.height = kFailedBootHeight; default_noroot.dx = 0; default_noroot.dy = kFailedBootOffset; default_noroot_data = failedBootPict; } /* * Initialize the spinning wheel (progress indicator). */ vc_progress_initialize( &default_progress, default_progress_data1x, default_progress_data2x, (unsigned char *) appleClut8 ); (void) StartIOKit( PE_state.deviceTreeHead, PE_state.bootArgs, gPEEFIRuntimeServices, NULL); }