BOOL is_BR_cmd_disabled(void) { U32 addr = 0; u8 b_disable = 0; addr = &g_ROM_INFO; addr = addr & 0xFFFFF000; addr = addr - 0x300; if ((TRUE == seclib_sec_usbdl_enabled(TRUE)) && (SEC_OK == seclib_read_sec_cmd_cfg(addr, 0x300 ,&b_disable))) { if (b_disable) { SMSG("[%s] BR cmd is disabled\n", MOD); return TRUE; } } return FALSE; }
/************************************************************************** * [SECRO IMG] **************************************************************************/ void sec_lib_read_secro (void) { #if SEC_ENV_ENABLE U32 err; U8 *buf = sec_util_get_secro_buf(); const U32 buf_len = sizeof(AND_SECROIMG_T); const U32 ac_offset = sizeof(AND_AC_HEADER_T); const U32 ac_len = sizeof(AND_AC_ANDRO_T) + sizeof(AND_AC_SV5_T); const bAC = g_ROM_INFO.m_SEC_CTRL.m_secro_ac_en; secroimg = NULL; /* ---------------------- */ /* check status */ /* ---------------------- */ if(FALSE == seclib_sec_usbdl_enabled(TRUE)) { SMSG("[%s] Don't read\n",MOD); return ; } /* ---------------------- */ /* read secro image */ /* ---------------------- */ if(SEC_OK != (err = seclib_secroimg_read (buf, buf_len, ac_offset, ac_len, bAC))) { SMSG("[%s] read secroimg fail '0x%x'\n",MOD,err); ASSERT (0); } else { secroimg = (AND_SECROIMG_T*) buf; SMSG("[%s] secroimg '0x%x'\n",MOD, secroimg->m_andro.magic_number); SMSG("[%s] secroimg '0x%x'\n",MOD, secroimg->m_sv5.magic_number); /* ---------------------- */ /* if valid SECRO format */ /* ---------------------- */ if (AC_SV5_MAGIC == secroimg->m_sv5.magic_number) { /* ---------------------- */ /* check forbidden mode */ /* ---------------------- */ if(FALSE == factory_mode_valid()) { /* ---------------------- */ /* set magic number */ /* ---------------------- */ bootarg.sec_limit.magic_num = SEC_LIMIT_MAGIC; bootarg.sec_limit.forbid_mode = F_FACTORY_MODE; } } } #endif }