static int ld_image_from_2nd_dev(int image) { int ret = 0; unsigned int boot_dev = 0; boot_dev = find_second_boot_dev(); /* sdmmc enumerate */ if (device(boot_dev) == SDMMC_CH2) sdmmc_enumerate(); switch (image) { case UBOOT: /* load uboot from 2nd dev */ ret = load_uboot_image(device(boot_dev)); break; case TZSW: /* load uboot from 2nd dev */ ret = coldboot(device(boot_dev)); break; defalut: ret = SIGNATURE_CHECK_FAIL; break; } if (ret == SIGNATURE_CHECK_FAIL) while(1); return boot_dev; }
int main() { VolumeManager *vm; CommandListener *cl; NetlinkManager *nm; SLOGI("Vold 2.1 (the revenge) firing up"); mkdir("/dev/block/vold", 0755); /* Create our singleton managers */ if (!(vm = VolumeManager::Instance())) { SLOGE("Unable to create VolumeManager"); exit(1); }; if (!(nm = NetlinkManager::Instance())) { SLOGE("Unable to create NetlinkManager"); exit(1); }; cl = new CommandListener(); vm->setBroadcaster((SocketListener *) cl); nm->setBroadcaster((SocketListener *) cl); if (vm->start()) { SLOGE("Unable to start VolumeManager (%s)", strerror(errno)); exit(1); } if (process_config(vm)) { SLOGE("Error reading configuration (%s)... continuing anyways", strerror(errno)); } if (nm->start()) { SLOGE("Unable to start NetlinkManager (%s)", strerror(errno)); exit(1); } coldboot("/sys/block"); // coldboot("/sys/class/switch"); /* * Now that we're up, we can respond to commands */ if (cl->startListener()) { SLOGE("Unable to start CommandListener (%s)", strerror(errno)); exit(1); } // Eventually we'll become the monitoring thread while(1) { sleep(1000); } SLOGI("Vold exiting"); exit(0); }
int main() { ALOGI("usb 3g monitor v0.1 start"); uevent_init(); coldboot("/sys/devices"); uevent_next_event(on_uevent); return 0; }
int do_builtin_coldboot(int nargs, char **args) { if (nargs != 2 || !args[1] || *args[1] == '\0') return -1; coldboot(args[1]); return 0; }
int main() { SLOGI("-------------------------------------------------------------------"); SLOGI("USB3G Monitor ver. 0.1f fixed by lolet -- built on %s, %s",__DATE__, __TIME__); SLOGI("-------------------------------------------------------------------"); uevent_init(); coldboot("/sys/devices"); uevent_next_event(on_uevent); return 0; }
void copy_uboot_to_ram(unsigned int boot_dev) { int ret = 0; switch (boot_dev) { case BOOT_MMCSD: case BOOT_SEC_DEV: boot_dev = SDMMC_CH2; break; case BOOT_EMMC_4_4: boot_dev = EMMC; break; case BOOT_USB: boot_dev = USB; break; } /* Load u-boot image to ram */ ret = load_uboot_image(boot_dev); if (ret == SIGNATURE_CHECK_FAIL) { sdmmc_enumerate(); if (find_second_boot_dev() == BOOT_SEC_DEV) boot_dev = SDMMC_CH2; ret = load_uboot_image(boot_dev); if (ret == SIGNATURE_CHECK_FAIL) while (1); } /* Load tzsw image & U-Boot boot */ ret = coldboot(boot_dev); if (ret == SIGNATURE_CHECK_FAIL) { sdmmc_enumerate(); if (find_second_boot_dev() == BOOT_SEC_DEV) boot_dev = SDMMC_CH2; ret = coldboot(boot_dev); if (ret == SIGNATURE_CHECK_FAIL) while (1); } }
void load_uboot(void) { unsigned int om_status = readl(EXYNOS4_POWER_BASE + INFORM3_OFFSET); unsigned int boot_dev = 0; int ret = 0; /* verify recovery boot mode */ if (find_second_boot() == SECOND_BOOT_MODE) boot_dev = find_second_boot_dev(); if (!boot_dev) boot_dev = om_status; /* Load u-boot image to ram */ ret = load_uboot_image(device(boot_dev)); if (ret == SIGNATURE_CHECK_FAIL) boot_dev = ld_image_from_2nd_dev(UBOOT); /* Load tzsw image & U-Boot boot */ ret = coldboot(device(boot_dev)); if (ret == SIGNATURE_CHECK_FAIL) ld_image_from_2nd_dev(TZSW); }