1
0
mirror of https://github.com/google/cpu_features.git synced 2025-04-29 07:53: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 CPU_FEATURES_START_CPP_NAMESPACE
inline static bool IsBitSet(uint32_t reg, uint32_t bit) { #define TRUE -1
return (reg >> bit) & 0x1; // #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, 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. // slightly updated.
if (info->architecture >= 7 && if (info->architecture >= 7 &&
proc_cpu_info_data->hardware_reports_goldfish) { proc_cpu_info_data->hardware_reports_goldfish) {
info->features.idiva = true; info->features.idiva = TRUE;
} }
break; break;
case 0x511004D0: case 0x511004D0:
@ -138,15 +138,16 @@ static void FixErrors(ArmInfo* const info,
case 0x510006F3: case 0x510006F3:
// The Nexus 4 (Qualcomm Krait) kernel configuration forgets to report // The Nexus 4 (Qualcomm Krait) kernel configuration forgets to report
// IDIV support. // IDIV support.
info->features.idiva = true; info->features.idiva = TRUE;
info->features.idivt = true; info->features.idivt = TRUE;
break; break;
} }
// Propagate cpu features. // Propagate cpu features.
if (info->features.vfpv4) info->features.vfpv3 = true; if (info->features.vfpv4) info->features.vfpv3 = TRUE;
if (info->features.neon) info->features.vfpv3 = true; if (info->features.neon) info->features.vfpv3 = TRUE;
if (info->features.vfpv3) info->features.vfp = true; if (info->features.vfpv3) info->features.vfp = TRUE;
} }
static void FillProcCpuInfoData(ArmInfo* const info, static void FillProcCpuInfoData(ArmInfo* const info,