mirror of
https://github.com/google/cpu_features.git
synced 2025-07-01 13:21:13 +02:00
Added RPI zero with its features HALF, THUMB, FASTMULT, EDSP, JAVA and TLS (#75)
This commit is contained in:

committed by
Guillaume Chatelet

parent
367bc42116
commit
6482bad213
@ -21,11 +21,17 @@
|
||||
CPU_FEATURES_START_CPP_NAMESPACE
|
||||
|
||||
typedef struct {
|
||||
int half : 1; // Half-word loads and stores
|
||||
int thumb : 1; // Thumb (16-bit instruction set)
|
||||
int fastmult : 1; // 32x32->64-bit multiplication
|
||||
int vfp : 1; // Vector Floating Point.
|
||||
int edsp : 1; // DSP extensions (the 'e' variant of the ARM9 CPUs, and all others above)
|
||||
int java : 1; // Jazelle (Java bytecode accelerator)
|
||||
int iwmmxt : 1; // Intel Wireless MMX Technology.
|
||||
int neon : 1; // Advanced SIMD.
|
||||
int vfpv3 : 1; // VFP version 3
|
||||
int vfpv3d16 : 1; // VFP version 3 with 16 D-registers
|
||||
int tls : 1; // TLS register
|
||||
int vfpv4 : 1; // VFP version 4 with fast context switching
|
||||
int idiva : 1; // SDIV and UDIV hardware division in ARM mode.
|
||||
int idivt : 1; // SDIV and UDIV hardware division in Thumb mode.
|
||||
@ -59,11 +65,17 @@ uint32_t GetArmCpuId(const ArmInfo* const info);
|
||||
// Introspection functions
|
||||
|
||||
typedef enum {
|
||||
ARM_HALF,
|
||||
ARM_THUMB,
|
||||
ARM_FASTMULT,
|
||||
ARM_VFP,
|
||||
ARM_EDSP,
|
||||
ARM_JAVA,
|
||||
ARM_IWMMXT,
|
||||
ARM_NEON,
|
||||
ARM_VFPV3,
|
||||
ARM_VFPV3D16,
|
||||
ARM_TLS,
|
||||
ARM_VFPV4,
|
||||
ARM_IDIVA,
|
||||
ARM_IDIVT,
|
||||
|
@ -35,11 +35,17 @@ CPU_FEATURES_START_CPP_NAMESPACE
|
||||
#define AARCH64_HWCAP_CRC32 (1UL << 7)
|
||||
|
||||
// http://elixir.free-electrons.com/linux/latest/source/arch/arm/include/uapi/asm/hwcap.h
|
||||
#define ARM_HWCAP_HALF (1UL << 1)
|
||||
#define ARM_HWCAP_THUMB (1UL << 2)
|
||||
#define ARM_HWCAP_FAST_MULT (1UL << 4)
|
||||
#define ARM_HWCAP_VFP (1UL << 6)
|
||||
#define ARM_HWCAP_EDSP (1UL << 7)
|
||||
#define ARM_HWCAP_JAVA (1UL << 8)
|
||||
#define ARM_HWCAP_IWMMXT (1UL << 9)
|
||||
#define ARM_HWCAP_NEON (1UL << 12)
|
||||
#define ARM_HWCAP_VFPV3 (1UL << 13)
|
||||
#define ARM_HWCAP_VFPV3D16 (1UL << 14)
|
||||
#define ARM_HWCAP_TLS (1UL << 15)
|
||||
#define ARM_HWCAP_VFPV4 (1UL << 16)
|
||||
#define ARM_HWCAP_IDIVA (1UL << 17)
|
||||
#define ARM_HWCAP_IDIVT (1UL << 18)
|
||||
|
Reference in New Issue
Block a user