_start(void *residual_data_structure, void *program_entry_point, int (*client_interface_handler) (void *), void *args, int argslen) { int status; of1275_server = client_interface_handler; status = main(); of1275_exit(status); }
void of1275_prominit(prom_entry entry) { promptr = entry; chosen_handle = of1275_finddevice("/chosen"); if (chosen_handle == (phandle) (-1)) { chosen_handle = of1275_finddevice("/chosen@0"); if (chosen_handle == (phandle) (-1)) of1275_exit(); } if (of1275_getprop(chosen_handle, "stdout", &stdout, sizeof(stdout)) != 4) of1275_exit(); stderr = stdout; if (of1275_getprop(chosen_handle, "stdin", &stdin, sizeof(stdin)) != 4) of1275_exit(); if (!check_of_version()) return; claim_needs_map = 1; if (of1275_getprop(chosen_handle, "mmu", &mmu, sizeof(mmu)) != 4) of1275_exit(); }
exit(int status) { of1275_exit(status); while (1); }