示例#1
0
static int __init boot_init_footprint(void)
{
	int i;

	
	if (!mnemosyne_is_ready()) {
		int ret = mnemosyne_early_init();
		if (ret != 0) {
			pr_warn("%s: mnemosyne init failed (%d).\n", __func__, ret);
			return ret;
		}
	}

	for (i = 0; i < NR_CPUS; i++) {
		MNEMOSYNE_SET_I(kernel_footprint_cpu, S2H(i), CPU_FOOT_PRINT_MAGIC_HOTPLUG | 0x1);
		MNEMOSYNE_SET_I(kernel_exit_counter_from_cpu, S2H(i), 0x0);
	}
	
	
	MNEMOSYNE_SET_I(kernel_footprint_cpu, S2H(0), CPU_FOOT_PRINT_MAGIC | 0xb);
	mb();
	pr_info("%s: htc footprint init done.\n", __func__);

	return 0;
}
void __init htc_8226_init_early(void)
{
        persistent_ram_early_init(&htc_8226_persistent_ram);

#ifdef CONFIG_HTC_DEBUG_FOOTPRINT
        mnemosyne_early_init((unsigned int)HTC_DEBUG_FOOTPRINT_PHYS, (unsigned int)HTC_DEBUG_FOOTPRINT_BASE);
#endif
}
void __init htc_8974_init_early(void)
{
	/* TODO: use dt to config persistent_ram */
	persistent_ram_early_init(&htc_8974_persistent_ram);

#ifdef CONFIG_HTC_DEBUG_FOOTPRINT
	mnemosyne_early_init((unsigned int)HTC_DEBUG_FOOTPRINT_PHYS, (unsigned int)HTC_DEBUG_FOOTPRINT_BASE);
#endif
}
void __init htc_8916_init_early(void)
{
#ifdef CONFIG_HTC_DEBUG_FOOTPRINT
	mnemosyne_early_init((unsigned int)HTC_DEBUG_FOOTPRINT_PHYS, (unsigned int)HTC_DEBUG_FOOTPRINT_BASE);
#endif
}