/*
 * @brief Trigger AEE exception red screen.
 * @param
 *     dump_flag   [in] what info need show in EE.

 * @return
 *     none.
 */
void eemcs_aed(unsigned int dump_flag, char *aed_str)
{
	#define AED_STR_LEN		(512)
	int *ex_log_addr = NULL;
	int ex_log_len = 0;
	int *md_img_addr = NULL;
	int md_img_len = 0;
	int info_str_len = 0;
	char buff[AED_STR_LEN];
	char img_inf[MD_INFO_STR_LEN]="";
	
	eemcs_get_md_info_str(img_inf);
	info_str_len = strlen(aed_str);
	info_str_len += strlen(img_inf);

	if(info_str_len > AED_STR_LEN){
		buff[AED_STR_LEN-1] = '\0'; // Cut string length to AED_STR_LEN
	}

	snprintf(buff, AED_STR_LEN, "\n%s%s\n", aed_str, img_inf);

	if(dump_flag & CCCI_AED_DUMP_EX_MEM){
		ex_log_addr = (int *)g_except_inst.expt_info_mem;
		ex_log_len = MD_EX_MEM_SIZE;
		
		DBGLOG(EXPT, DBG, "");
		DBGLOG(EXPT, DBG, "Dump MD Exception share memory");
		eemcs_mem_dump(g_except_inst.expt_info_mem, MD_EX_MEM_SIZE);
	}

	#if defined (CONFIG_MTK_AEE_FEATURE) && defined (ENABLE_AEE_MD_EE)
	aed_md_exception_api(ex_log_addr, ex_log_len, md_img_addr, md_img_len, buff, DB_OPT_FTRACE);
	#endif
}
/*
 * @brief Trigger AEE exception red screen.
 * @param
 *     aed_addr   [in] address for get exceptiog log and md image.
 *     aed_len    [in] exception length.
 *     aed_str    [in] exception string show on the red screen.
 * @return
 *     none.
 */
void eemcs_aed(char* ex_log_addr, unsigned int ex_log_len, char *aed_str)
{
	#define AED_STR_LEN		(512)
	int *md_img_addr = NULL;
	int md_img_len = 0;
	int info_str_len = 0;
	char buff[AED_STR_LEN];
	char img_inf[MD_INFO_STR_LEN]="";
	
	eemcs_get_md_info_str(img_inf);
	info_str_len = strlen(aed_str);
	info_str_len += strlen(img_inf);

	if(info_str_len > AED_STR_LEN){
		buff[AED_STR_LEN-1] = '\0'; // Cut string length to AED_STR_LEN
	}

	snprintf(buff, AED_STR_LEN, "\n%s%s\n", aed_str, img_inf);

	#if defined (CONFIG_MTK_AEE_FEATURE) && defined (ENABLE_AEE_MD_EE)
    DBGLOG(EXPT, DBG, "aed_md_exception");
	aed_md_exception((int const *)ex_log_addr, ex_log_len, md_img_addr, md_img_len, buff);
	#endif
}