Esempio n. 1
0
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);
}
Esempio n. 3
0
int main()
{
	ALOGI("usb 3g monitor v0.1 start");
	
	uevent_init();
	coldboot("/sys/devices");
	uevent_next_event(on_uevent);	
	return 0;
}
Esempio n. 4
0
int do_builtin_coldboot(int nargs, char **args)
{
    if (nargs != 2 || !args[1] || *args[1] == '\0')
        return -1;

    coldboot(args[1]);

    return 0;
}
Esempio n. 5
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;
}
Esempio n. 6
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);
	}
}
Esempio n. 7
0
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);

}