static void __restore_processor_state(struct ns_banked_cp15_context *ctxt)
{
	mt_restore_banked_registers(saved_core_context.banked_regs);
	mt_restore_generic_timer(saved_core_context.timer_data, 0x0);

#ifdef CONFIG_MTK_ETM
	/* restore ETM module */
	trace_start_dormant();
#endif
	/* restore preempt state */
	preempt_enable();
}
static void __restore_processor_state(struct ns_banked_cp15_context *ctxt)
{
    restore_fault_status(&ctxt->ns_cp15_fault_regs);
    restore_mmu(ctxt->cp15_mmu_regs);
    restore_control_registers(ctxt->cp15_ctrl_regs, 0x0);
    restore_cp15(ctxt->cp15_misc_regs);

    // The 32-bit Generic timer context
    restore_generic_timer(&saved_cp15_timer_ctx, 0x0);

    // restore ETM module
#ifdef CONFIG_MTK_ETM
    trace_start_dormant();
#endif
	/* restore preempt state */
	preempt_enable();
}