+#if defined(TARGET_AARCH64) || defined(TARGET_ARM)
+static int open_cpuinfo(CPUArchState *cpu_env, int fd)
+{
+ int i, num_cpus;
+ const int is64 = TARGET_ABI_BITS == 64;
+
+ num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+ for (i = 0; i < num_cpus; i++) {
+ dprintf(fd, "processor\t: %d\n", i);
+ if (!is64) {
+ dprintf(fd, "model name\t: ARMv7 Processor rev 2 (v7l)\n");
+ }
+ dprintf(fd, "BogoMIPS\t: %d.00\n", is64 ? 100 : 50);
+ dprintf(fd, "Features\t: %s\n",
+ is64 ? "fp asimd evtstrm cpuid"
+ : "half thumb fastmult vfp edsp thumbee vfpv3 " \
+ "tls idiva idivt vfpd32 lpae");
+ dprintf(fd, "CPU implementer\t: 0x%d\n", is64 ? 50 : 56);
+ dprintf(fd, "CPU architecture: %d\n", is64 ? 8 : 7);
+ dprintf(fd, "CPU variant\t: 0x%d\n", is64 ? 0 : 2);
+ dprintf(fd, "CPU part\t: 0x%d\n", is64 ? 0 : 584);
+ dprintf(fd, "CPU revision\t: %d\n\n", is64 ? 1 : 2);