foobar2000 SDK  2015-01-14
Enumerations | Functions
cpu-features.h File Reference

Go to the source code of this file.

Enumerations

enum  {
  ANDROID_CPU_ARM_FEATURE_ARMv7 = (1 << 0), ANDROID_CPU_ARM_FEATURE_VFPv3 = (1 << 1), ANDROID_CPU_ARM_FEATURE_NEON = (1 << 2), ANDROID_CPU_ARM_FEATURE_LDREX_STREX = (1 << 3),
  ANDROID_CPU_ARM_FEATURE_VFPv2 = (1 << 4), ANDROID_CPU_ARM_FEATURE_VFP_D32 = (1 << 5), ANDROID_CPU_ARM_FEATURE_VFP_FP16 = (1 << 6), ANDROID_CPU_ARM_FEATURE_VFP_FMA = (1 << 7),
  ANDROID_CPU_ARM_FEATURE_NEON_FMA = (1 << 8), ANDROID_CPU_ARM_FEATURE_IDIV_ARM = (1 << 9), ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2 = (1 << 10), ANDROID_CPU_ARM_FEATURE_iWMMXt = (1 << 11)
}
 
enum  { ANDROID_CPU_X86_FEATURE_SSSE3 = (1 << 0), ANDROID_CPU_X86_FEATURE_POPCNT = (1 << 1), ANDROID_CPU_X86_FEATURE_MOVBE = (1 << 2) }
 
enum  AndroidCpuFamily {
  ANDROID_CPU_FAMILY_UNKNOWN = 0, ANDROID_CPU_FAMILY_ARM, ANDROID_CPU_FAMILY_X86, ANDROID_CPU_FAMILY_MIPS,
  ANDROID_CPU_FAMILY_ARM64, ANDROID_CPU_FAMILY_X86_64, ANDROID_CPU_FAMILY_MIPS64, ANDROID_CPU_FAMILY_MAX
}
 

Functions

int android_getCpuCount (void)
 
AndroidCpuFamily android_getCpuFamily (void)
 
uint64_t android_getCpuFeatures (void)
 
uint32_t android_getCpuIdArm (void)
 
int android_setCpu (int cpu_count, uint64_t cpu_features)
 
int android_setCpuArm (int cpu_count, uint64_t cpu_features, uint32_t cpu_id)
 

Enumeration Type Documentation

anonymous enum
Enumerator
ANDROID_CPU_ARM_FEATURE_ARMv7 
ANDROID_CPU_ARM_FEATURE_VFPv3 
ANDROID_CPU_ARM_FEATURE_NEON 
ANDROID_CPU_ARM_FEATURE_LDREX_STREX 
ANDROID_CPU_ARM_FEATURE_VFPv2 
ANDROID_CPU_ARM_FEATURE_VFP_D32 
ANDROID_CPU_ARM_FEATURE_VFP_FP16 
ANDROID_CPU_ARM_FEATURE_VFP_FMA 
ANDROID_CPU_ARM_FEATURE_NEON_FMA 
ANDROID_CPU_ARM_FEATURE_IDIV_ARM 
ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2 
ANDROID_CPU_ARM_FEATURE_iWMMXt 

Definition at line 189 of file cpu-features.h.

anonymous enum
Enumerator
ANDROID_CPU_X86_FEATURE_SSSE3 
ANDROID_CPU_X86_FEATURE_POPCNT 
ANDROID_CPU_X86_FEATURE_MOVBE 

Definition at line 207 of file cpu-features.h.

Enumerator
ANDROID_CPU_FAMILY_UNKNOWN 
ANDROID_CPU_FAMILY_ARM 
ANDROID_CPU_FAMILY_X86 
ANDROID_CPU_FAMILY_MIPS 
ANDROID_CPU_FAMILY_ARM64 
ANDROID_CPU_FAMILY_X86_64 
ANDROID_CPU_FAMILY_MIPS64 
ANDROID_CPU_FAMILY_MAX 

Definition at line 39 of file cpu-features.h.

Function Documentation

int android_getCpuCount ( void  )

Definition at line 935 of file cpu-features.c.

936 {
937  pthread_once(&g_once, android_cpuInit);
938  return g_cpuCount;
939 }
static pthread_once_t g_once
Definition: cpu-features.c:79
static int g_cpuCount
Definition: cpu-features.c:83
static void android_cpuInit(void)
Definition: cpu-features.c:627
AndroidCpuFamily android_getCpuFamily ( void  )

Definition at line 919 of file cpu-features.c.

920 {
921  pthread_once(&g_once, android_cpuInit);
922  return g_cpuFamily;
923 }
static pthread_once_t g_once
Definition: cpu-features.c:79
static AndroidCpuFamily g_cpuFamily
Definition: cpu-features.c:81
static void android_cpuInit(void)
Definition: cpu-features.c:627
uint64_t android_getCpuFeatures ( void  )

Definition at line 927 of file cpu-features.c.

928 {
929  pthread_once(&g_once, android_cpuInit);
930  return g_cpuFeatures;
931 }
static pthread_once_t g_once
Definition: cpu-features.c:79
static uint64_t g_cpuFeatures
Definition: cpu-features.c:82
static void android_cpuInit(void)
Definition: cpu-features.c:627
uint32_t android_getCpuIdArm ( void  )

Definition at line 964 of file cpu-features.c.

965 {
966  pthread_once(&g_once, android_cpuInit);
967  return g_cpuIdArm;
968 }
static pthread_once_t g_once
Definition: cpu-features.c:79
static void android_cpuInit(void)
Definition: cpu-features.c:627
static uint32_t g_cpuIdArm
Definition: cpu-features.c:86
int android_setCpu ( int  cpu_count,
uint64_t  cpu_features 
)

Definition at line 948 of file cpu-features.c.

949 {
950  /* Fail if the library was already initialized. */
951  if (g_inited)
952  return 0;
953 
955  g_cpuCount = (cpu_count <= 0 ? 1 : cpu_count);
956  g_cpuFeatures = cpu_features;
957  pthread_once(&g_once, android_cpuInitDummy);
958 
959  return 1;
960 }
static pthread_once_t g_once
Definition: cpu-features.c:79
static uint64_t g_cpuFeatures
Definition: cpu-features.c:82
static void android_cpuInitFamily(void)
Definition: cpu-features.c:606
static int g_cpuCount
Definition: cpu-features.c:83
static int g_inited
Definition: cpu-features.c:80
static void android_cpuInitDummy(void)
Definition: cpu-features.c:942
int android_setCpuArm ( int  cpu_count,
uint64_t  cpu_features,
uint32_t  cpu_id 
)

Definition at line 971 of file cpu-features.c.

972 {
973  if (!android_setCpu(cpu_count, cpu_features))
974  return 0;
975 
976  g_cpuIdArm = cpu_id;
977  return 1;
978 }
int android_setCpu(int cpu_count, uint64_t cpu_features)
Definition: cpu-features.c:948
static uint32_t g_cpuIdArm
Definition: cpu-features.c:86