1
0
mirror of https://github.com/google/cpu_features.git synced 2025-04-28 07:23:37 +02:00

Different approach for -1 & true compliance

This commit is contained in:
fuzun 2018-09-08 05:56:35 +03:00
parent f189298f4f
commit 58a232c560
2 changed files with 12 additions and 8 deletions

View File

@ -22,8 +22,11 @@
CPU_FEATURES_START_CPP_NAMESPACE
inline static bool IsBitSet(uint32_t reg, uint32_t bit) {
return (reg >> bit) & 0x1;
#define TRUE -1
// #define FALSE 0
inline static int IsBitSet(uint32_t reg, uint32_t bit) {
return ((reg >> bit) & 0x1) ? TRUE : false;
}
inline static uint32_t ExtractBitRange(uint32_t reg, uint32_t msb,

View File

@ -127,7 +127,7 @@ static void FixErrors(ArmInfo* const info,
// slightly updated.
if (info->architecture >= 7 &&
proc_cpu_info_data->hardware_reports_goldfish) {
info->features.idiva = true;
info->features.idiva = TRUE;
}
break;
case 0x511004D0:
@ -138,15 +138,16 @@ static void FixErrors(ArmInfo* const info,
case 0x510006F3:
// The Nexus 4 (Qualcomm Krait) kernel configuration forgets to report
// IDIV support.
info->features.idiva = true;
info->features.idivt = true;
info->features.idiva = TRUE;
info->features.idivt = TRUE;
break;
}
// Propagate cpu features.
if (info->features.vfpv4) info->features.vfpv3 = true;
if (info->features.neon) info->features.vfpv3 = true;
if (info->features.vfpv3) info->features.vfp = true;
if (info->features.vfpv4) info->features.vfpv3 = TRUE;
if (info->features.neon) info->features.vfpv3 = TRUE;
if (info->features.vfpv3) info->features.vfp = TRUE;
}
static void FillProcCpuInfoData(ArmInfo* const info,