Пример #1
0
static int backtrace_regression_test(void)
{
#ifdef CONFIG_DEBUG_PRINTK
	printk("====[ backtrace testing ]===========\n");
#else
	;
#endif

	backtrace_test_normal();
	backtrace_test_irq();
	backtrace_test_saved();

#ifdef CONFIG_DEBUG_PRINTK
	printk("====[ end of backtrace testing ]====\n");
#else
	;
#endif
	return 0;
}
Пример #2
0
/* OPPO 2010-11-25 Laijl Modify end */
static long otracer_ioctl(struct file * filp, 
		   unsigned int cmd, unsigned long arg)
{
	unsigned int cmdv = cmd;
	int i;

	cmdv = cmd;

    printk(KERN_INFO "otracer_ioctl: initialized. cmd=0x%x\n", cmd);

    /* mwalker give a chance to change reboot result to android for android framework. */
    if (cmd == IOCTL_TRACE_UPDATE_REBOOTFLAG) {
        printk (KERN_INFO "android update reboot flag\n");
       
/* OPPO 2012-10-11 chendx Delete begin for debug tools Todo */
#if 0
        reboot_reason = 0x7766550c;
        writel(0x7766550c, restart_reason);
#endif
/* OPPO 2012-10-11 chendx Delete end */

        goto end;
    }

	for(i = 0; i < 16; i++)
	{
		if(cmdv == 0)
			break;
		if(cmdv & IOCTL_OTRACER_TOLCD)
		{
			//console_activate();
			cmdv &= (~IOCTL_OTRACER_TOLCD);
		}
		if(cmdv & IOCTL_OTRACER_STACK)
		{
			backtrace_test_saved();
			cmdv &= (~IOCTL_OTRACER_STACK);
		}
		if(cmdv & IOCTL_OTRACER_MEMINFO)
		{
			meminfo_test_saved();
			cmdv &= (~IOCTL_OTRACER_MEMINFO);
		}
		if(cmdv & IOCTL_OTRACER_TASKINFO)
		{
			tasks_test_saved();
			cmdv &= (~IOCTL_OTRACER_TASKINFO);
		}
		if(cmdv & IOCTL_OTRACER_ALLINFO)
		{
			backtrace_test_saved();
			meminfo_test_saved();
			tasks_test_saved();
			cmdv &= (~IOCTL_OTRACER_ALLINFO);
		}
		if(cmdv & IOCTL_OTRACER_PANIC) 
		{
			pr_info("ioctl panic reboot\n");
            panic("android");
            cmdv &= (~IOCTL_OTRACER_PANIC);
        }
       
	}
end:
	return 0;
}