blob: 6e6fe8dce4ca807aee3f16a747a7ec3540b62f23 [file] [log] [blame]
#include <stdio.h>
#include "lynq_misc.h"
#include "log/log.h"
#undef LOG_TAG
#define LOG_TAG "MISC"
int lynq_get_security_boot_flag(int * enabled_flag)
{
int value, ret;
if (enabled_flag == NULL)
{
RLOGE("input param is null ptr");
return -1;
}
*enabled_flag = 0;
FILE *pfile=fopen("/proc/device-tree/chosen/atag,devinfo", "r");
if (pfile == NULL)
{
RLOGE("open devinfo fail");
return -1;
}
ret = fseek(pfile, 0x428, 0);
if (ret != 0)
{
RLOGE("seek file fail");
fclose(pfile);
return -1;
}
ret = fread(&value, sizeof (value), 1, pfile);
if (ret != 1)
{
RLOGE("read file fail");
fclose(pfile);
return -1;
}
fclose(pfile);
// the third bit of 32bits at 0x428 (index start with 0?), 1 for enabled, 0 not enabled
*enabled_flag = (value & 0x8) == 0 ? 0 : 1;
return 0;
}