Cortex-A53-CPU als ARMv7?

Ich habe ein gebrauchtes Samsung Galaxy Core Prime , das von MetroPCS in den USA angeboten wird, zum Testen abgeholt . Das Gerät wird mit Android 5.1.1 betrieben. Testanforderungen sind ein 64-Bit-ARM-Prozessor, aber ich bin mir nicht sicher, ob ich die Anforderungen erfüllt habe.

Gemäß cat /proc/cpuinfo(siehe unten) sehe ich Qualcomm Technologies, Inc MSM8916. Das ist ein Cortex-A53 , also eine ARMv8a/64-Bit-Architektur. Aber ich sehe auch ARMv7 aufgelistet, was eine 32-Bit-Architektur ist.

Kann mir jemand erklären, warum ich widersprüchliche Ergebnisse sehe?


$ adb shell cat /proc/cpuinfo
processor   : 0
model name  : ARMv7 Processor rev 0 (v7l)
BogoMIPS    : 38.40
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 0

processor   : 1
model name  : ARMv7 Processor rev 0 (v7l)
BogoMIPS    : 38.40
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 0

processor   : 2
model name  : ARMv7 Processor rev 0 (v7l)
BogoMIPS    : 38.40
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 0

processor   : 3
model name  : ARMv7 Processor rev 0 (v7l)
BogoMIPS    : 38.40
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 0

Hardware    : Qualcomm Technologies, Inc MSM8916
Revision    : 0006
Serial      : 000009f200000001
Processor   : ARMv7 Processor rev 0 (v7l)

Antworten (1)

Einige weitere Tests zeigen Folgendes. Ich habe diese Prozedur Hunderte Male durchgeführt, daher weiß ich, dass die Ergebnisse ein ominöses Zeichen sind.

Ich vermute, es ist ein Cortex-A53/ARM-v8a-Prozessor, aber er ist im 32-Bit-Modus konfiguriert.


$ aarch64-linux-android-readelf -h ./cryptest.exe | grep -i 'class\|machine'
  Class:                             ELF64
  Machine:                           AArch64
$ aarch64-linux-android-readelf -h ./libcryptopp.so | grep -i 'class\|machine'
  Class:                             ELF64
  Machine:                           AArch64

[Push test program to /data/local/tmp, open a remote shell]

shell@cprimeltemtr:/ $ cd /data/local/tmp
shell@cprimeltemtr:/data/local/tmp $ LD_LIBRARY_PATH=./; ./cryptest.exe v
/system/bin/sh: ./cryptest.exe: not executable: 64-bit ELF file