OnePlus 5 mock test
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8235b44..8ea4168 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -522,6 +522,11 @@
     TARGET_LINK_LIBRARIES(oneplus-3t-test PRIVATE cpuinfo_mock gtest)
     ADD_TEST(oneplus-3t-test oneplus-3t-test)
 
+    ADD_EXECUTABLE(oneplus-5-test test/mock/oneplus-5.cc)
+    TARGET_INCLUDE_DIRECTORIES(oneplus-5-test PRIVATE test/mock)
+    TARGET_LINK_LIBRARIES(oneplus-5-test PRIVATE cpuinfo_mock gtest)
+    ADD_TEST(oneplus-5-test oneplus-5-test)
+
     ADD_EXECUTABLE(oppo-a37-test test/mock/oppo-a37.cc)
     TARGET_INCLUDE_DIRECTORIES(oppo-a37-test PRIVATE test/mock)
     TARGET_LINK_LIBRARIES(oppo-a37-test PRIVATE cpuinfo_mock gtest)
diff --git a/jni/Android.mk b/jni/Android.mk
index 62b9118..e800612 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -606,6 +606,13 @@
 include $(BUILD_EXECUTABLE)
 
 include $(CLEAR_VARS)
+LOCAL_MODULE := oneplus-5-test
+LOCAL_SRC_FILES := $(LOCAL_PATH)/test/mock/oneplus-5.cc
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/test/mock
+LOCAL_STATIC_LIBRARIES := cpuinfo_mock gtest
+include $(BUILD_EXECUTABLE)
+
+include $(CLEAR_VARS)
 LOCAL_MODULE := oppo-a37-test
 LOCAL_SRC_FILES := $(LOCAL_PATH)/test/mock/oppo-a37.cc
 LOCAL_C_INCLUDES := $(LOCAL_PATH)/test/mock
diff --git a/scripts/android-arm64-mock.sh b/scripts/android-arm64-mock.sh
index 9871309..fc1c604 100755
--- a/scripts/android-arm64-mock.sh
+++ b/scripts/android-arm64-mock.sh
@@ -22,6 +22,7 @@
 adb push libs/arm64-v8a/nexus6p-test /data/local/tmp/nexus6p-test
 adb push libs/arm64-v8a/nexus9-test /data/local/tmp/nexus9-test
 adb push libs/arm64-v8a/oneplus-3t-test /data/local/tmp/oneplus-3t-test
+adb push libs/arm64-v8a/oneplus-5-test /data/local/tmp/oneplus-5-test
 adb push libs/arm64-v8a/oppo-a37-test /data/local/tmp/oppo-a37-test
 adb push libs/arm64-v8a/oppo-r9-test /data/local/tmp/oppo-r9-test
 adb push libs/arm64-v8a/pixel-c-test /data/local/tmp/pixel-c-test
@@ -53,6 +54,7 @@
 adb shell "/data/local/tmp/nexus6p-test --gtest_color=yes"
 adb shell "/data/local/tmp/nexus9-test --gtest_color=yes"
 adb shell "/data/local/tmp/oneplus-3t-test --gtest_color=yes"
+adb shell "/data/local/tmp/oneplus-5-test --gtest_color=yes"
 adb shell "/data/local/tmp/oppo-a37-test --gtest_color=yes"
 adb shell "/data/local/tmp/oppo-r9-test --gtest_color=yes"
 adb shell "/data/local/tmp/pixel-c-test --gtest_color=yes"
diff --git a/scripts/android-armv7-mock.sh b/scripts/android-armv7-mock.sh
index ced0984..88c4a8b 100755
--- a/scripts/android-armv7-mock.sh
+++ b/scripts/android-armv7-mock.sh
@@ -51,6 +51,8 @@
 adb push libs/armeabi-v7a/nexus6p-test /data/local/tmp/nexus6p-test
 adb push libs/armeabi-v7a/nexus9-test /data/local/tmp/nexus9-test
 adb push libs/armeabi-v7a/nexus10-test /data/local/tmp/nexus10-test
+adb push libs/armeabi-v7a/oneplus-3t-test /data/local/tmp/oneplus-3t-test
+adb push libs/armeabi-v7a/oneplus-5-test /data/local/tmp/oneplus-5-test
 adb push libs/armeabi-v7a/oppo-a37-test /data/local/tmp/oppo-a37-test
 adb push libs/armeabi-v7a/oppo-r9-test /data/local/tmp/oppo-r9-test
 adb push libs/armeabi-v7a/padcod-10.1-test /data/local/tmp/padcod-10.1-test
@@ -114,6 +116,8 @@
 adb shell "/data/local/tmp/nexus6p-test --gtest_color=yes"
 adb shell "/data/local/tmp/nexus9-test --gtest_color=yes"
 adb shell "/data/local/tmp/nexus10-test --gtest_color=yes"
+adb shell "/data/local/tmp/oneplus-3t-test --gtest_color=yes"
+adb shell "/data/local/tmp/oneplus-5-test --gtest_color=yes"
 adb shell "/data/local/tmp/oppo-a37-test --gtest_color=yes"
 adb shell "/data/local/tmp/oppo-r9-test --gtest_color=yes"
 adb shell "/data/local/tmp/padcod-10.1-test --gtest_color=yes"
diff --git a/test/cpuinfo/oneplus-5.log b/test/cpuinfo/oneplus-5.log
new file mode 100644
index 0000000..11c88b1
--- /dev/null
+++ b/test/cpuinfo/oneplus-5.log
@@ -0,0 +1,74 @@
+Processor	: AArch64 Processor rev 4 (aarch64)
+processor	: 0
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x801
+CPU revision	: 4
+
+processor	: 1
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x801
+CPU revision	: 4
+
+processor	: 2
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x801
+CPU revision	: 4
+
+processor	: 3
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x801
+CPU revision	: 4
+
+processor	: 4
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x800
+CPU revision	: 1
+
+processor	: 5
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x800
+CPU revision	: 1
+
+processor	: 6
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x800
+CPU revision	: 1
+
+processor	: 7
+BogoMIPS	: 38.40
+Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
+CPU implementer	: 0x51
+CPU architecture: 8
+CPU variant	: 0xa
+CPU part	: 0x800
+CPU revision	: 1
+
+Hardware	: Qualcomm Technologies, Inc MSM8998
diff --git a/test/mock/oneplus-5.cc b/test/mock/oneplus-5.cc
new file mode 100644
index 0000000..774296d
--- /dev/null
+++ b/test/mock/oneplus-5.cc
@@ -0,0 +1,620 @@
+#include <gtest/gtest.h>
+
+#include <cpuinfo.h>
+#include <cpuinfo-mock.h>
+
+
+TEST(PROCESSORS, count) {
+	ASSERT_EQ(8, cpuinfo_get_processors_count());
+}
+
+TEST(PROCESSORS, non_null) {
+	ASSERT_TRUE(cpuinfo_get_processors());
+}
+
+TEST(PROCESSORS, smt_id) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_EQ(0, cpuinfo_get_processor(i)->smt_id);
+	}
+}
+
+TEST(PROCESSORS, core) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_core(i), cpuinfo_get_processor(i)->core);
+	}
+}
+
+TEST(PROCESSORS, package) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_package(0), cpuinfo_get_processor(i)->package);
+	}
+}
+
+TEST(PROCESSORS, linux_id) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(i + 4, cpuinfo_get_processor(i)->linux_id);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(i - 4, cpuinfo_get_processor(i)->linux_id);
+				break;
+		}
+	}
+}
+
+TEST(PROCESSORS, l1i) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_l1i_cache(i), cpuinfo_get_processor(i)->cache.l1i);
+	}
+}
+
+TEST(PROCESSORS, l1d) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_l1d_cache(i), cpuinfo_get_processor(i)->cache.l1d);
+	}
+}
+
+TEST(PROCESSORS, l2) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(cpuinfo_get_l2_cache(0), cpuinfo_get_processor(i)->cache.l2);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(cpuinfo_get_l2_cache(1), cpuinfo_get_processor(i)->cache.l2);
+				break;
+		}
+	}
+}
+
+TEST(PROCESSORS, l3) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_FALSE(cpuinfo_get_processor(i)->cache.l3);
+	}
+}
+
+TEST(PROCESSORS, l4) {
+	for (uint32_t i = 0; i < cpuinfo_get_processors_count(); i++) {
+		ASSERT_FALSE(cpuinfo_get_processor(i)->cache.l4);
+	}
+}
+
+TEST(CORES, count) {
+	ASSERT_EQ(8, cpuinfo_get_cores_count());
+}
+
+TEST(CORES, non_null) {
+	ASSERT_TRUE(cpuinfo_get_cores());
+}
+
+TEST(CORES, processor_start) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		ASSERT_EQ(i, cpuinfo_get_core(i)->processor_start);
+	}
+}
+
+TEST(CORES, processor_count) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		ASSERT_EQ(1, cpuinfo_get_core(i)->processor_count);
+	}
+}
+
+TEST(CORES, core_id) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		ASSERT_EQ(i, cpuinfo_get_core(i)->core_id);
+	}
+}
+
+TEST(CORES, package) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_package(0), cpuinfo_get_core(i)->package);
+	}
+}
+
+TEST(CORES, vendor) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_get_core(i)->vendor);
+	}
+}
+
+TEST(CORES, uarch) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(cpuinfo_uarch_cortex_a73, cpuinfo_get_core(i)->uarch);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_get_core(i)->uarch);
+				break;
+		}
+	}
+}
+
+TEST(CORES, midr) {
+	for (uint32_t i = 0; i < cpuinfo_get_cores_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(UINT32_C(0x51AF8001), cpuinfo_get_core(i)->midr);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(UINT32_C(0x51AF8014), cpuinfo_get_core(i)->midr);
+				break;
+		}
+	}
+}
+
+TEST(PACKAGES, count) {
+	ASSERT_EQ(1, cpuinfo_get_packages_count());
+}
+
+TEST(PACKAGES, name) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ("Qualcomm MSM8998",
+			std::string(cpuinfo_get_package(i)->name,
+				strnlen(cpuinfo_get_package(i)->name, CPUINFO_PACKAGE_NAME_MAX)));
+	}
+}
+
+TEST(PACKAGES, gpu_name) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ("Qualcomm Adreno 540",
+			std::string(cpuinfo_get_package(i)->gpu_name,
+				strnlen(cpuinfo_get_package(i)->gpu_name, CPUINFO_GPU_NAME_MAX)));
+	}
+}
+
+TEST(PACKAGES, processor_start) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ(0, cpuinfo_get_package(i)->processor_start);
+	}
+}
+
+TEST(PACKAGES, processor_count) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ(8, cpuinfo_get_package(i)->processor_count);
+	}
+}
+
+TEST(PACKAGES, core_start) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ(0, cpuinfo_get_package(i)->core_start);
+	}
+}
+
+TEST(PACKAGES, core_count) {
+	for (uint32_t i = 0; i < cpuinfo_get_packages_count(); i++) {
+		ASSERT_EQ(8, cpuinfo_get_package(i)->core_count);
+	}
+}
+
+TEST(ISA, thumb) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_thumb());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_thumb());
+	#endif
+}
+
+TEST(ISA, thumb2) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_thumb2());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_thumb2());
+	#endif
+}
+
+TEST(ISA, armv5e) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_v5e());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_v5e());
+	#endif
+}
+
+TEST(ISA, armv6) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_v6());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_v6());
+	#endif
+}
+
+TEST(ISA, armv6k) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_v6k());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_v6k());
+	#endif
+}
+
+TEST(ISA, armv7) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_v7());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_v7());
+	#endif
+}
+
+TEST(ISA, armv7mp) {
+	#if CPUINFO_ARCH_ARM
+		ASSERT_TRUE(cpuinfo_has_arm_v7mp());
+	#elif CPUINFO_ARCH_ARM64
+		ASSERT_FALSE(cpuinfo_has_arm_v7mp());
+	#endif
+}
+
+TEST(ISA, idiv) {
+	ASSERT_TRUE(cpuinfo_has_arm_idiv());
+}
+
+TEST(ISA, vfpv2) {
+	ASSERT_FALSE(cpuinfo_has_arm_vfpv2());
+}
+
+TEST(ISA, vfpv3) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv3());
+}
+
+TEST(ISA, vfpv3_d32) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv3_d32());
+}
+
+TEST(ISA, vfpv3_fp16) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv3_fp16());
+}
+
+TEST(ISA, vfpv3_fp16_d32) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv3_fp16_d32());
+}
+
+TEST(ISA, vfpv4) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv4());
+}
+
+TEST(ISA, vfpv4_d32) {
+	ASSERT_TRUE(cpuinfo_has_arm_vfpv4_d32());
+}
+
+TEST(ISA, wmmx) {
+	ASSERT_FALSE(cpuinfo_has_arm_wmmx());
+}
+
+TEST(ISA, wmmx2) {
+	ASSERT_FALSE(cpuinfo_has_arm_wmmx2());
+}
+
+TEST(ISA, neon) {
+	ASSERT_TRUE(cpuinfo_has_arm_neon());
+}
+
+TEST(ISA, neon_fp16) {
+	ASSERT_TRUE(cpuinfo_has_arm_neon_fp16());
+}
+
+TEST(ISA, neon_fma) {
+	ASSERT_TRUE(cpuinfo_has_arm_neon_fma());
+}
+
+TEST(ISA, atomics) {
+	ASSERT_FALSE(cpuinfo_has_arm_atomics());
+}
+
+TEST(ISA, neon_rdm) {
+	ASSERT_FALSE(cpuinfo_has_arm_neon_rdm());
+}
+
+TEST(ISA, fp16_arith) {
+	ASSERT_FALSE(cpuinfo_has_arm_fp16_arith());
+}
+
+TEST(ISA, jscvt) {
+	ASSERT_FALSE(cpuinfo_has_arm_jscvt());
+}
+
+TEST(ISA, fcma) {
+	ASSERT_FALSE(cpuinfo_has_arm_fcma());
+}
+
+TEST(ISA, aes) {
+	ASSERT_TRUE(cpuinfo_has_arm_aes());
+}
+
+TEST(ISA, sha1) {
+	ASSERT_TRUE(cpuinfo_has_arm_sha1());
+}
+
+TEST(ISA, sha2) {
+	ASSERT_TRUE(cpuinfo_has_arm_sha2());
+}
+
+TEST(ISA, pmull) {
+	ASSERT_TRUE(cpuinfo_has_arm_pmull());
+}
+
+TEST(ISA, crc32) {
+	ASSERT_TRUE(cpuinfo_has_arm_crc32());
+}
+
+TEST(L1I, count) {
+	ASSERT_EQ(8, cpuinfo_get_l1i_caches_count());
+}
+
+TEST(L1I, non_null) {
+	ASSERT_TRUE(cpuinfo_get_l1i_caches());
+}
+
+TEST(L1I, size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(64 * 1024, cpuinfo_get_l1i_cache(i)->size);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(32 * 1024, cpuinfo_get_l1i_cache(i)->size);
+				break;
+		}
+	}
+}
+
+TEST(L1I, associativity) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(4, cpuinfo_get_l1i_cache(i)->associativity);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(2, cpuinfo_get_l1i_cache(i)->associativity);
+				break;
+		}
+	}
+}
+
+TEST(L1I, sets) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_l1i_cache(i)->size,
+			cpuinfo_get_l1i_cache(i)->sets * cpuinfo_get_l1i_cache(i)->line_size * cpuinfo_get_l1i_cache(i)->partitions * cpuinfo_get_l1i_cache(i)->associativity);
+	}
+}
+
+TEST(L1I, partitions) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		ASSERT_EQ(1, cpuinfo_get_l1i_cache(i)->partitions);
+	}
+}
+
+TEST(L1I, line_size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		ASSERT_EQ(64, cpuinfo_get_l1i_cache(i)->line_size);
+	}
+}
+
+TEST(L1I, flags) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		ASSERT_EQ(0, cpuinfo_get_l1i_cache(i)->flags);
+	}
+}
+
+TEST(L1I, processors) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1i_caches_count(); i++) {
+		ASSERT_EQ(i, cpuinfo_get_l1i_cache(i)->processor_start);
+		ASSERT_EQ(1, cpuinfo_get_l1i_cache(i)->processor_count);
+	}
+}
+
+TEST(L1D, count) {
+	ASSERT_EQ(8, cpuinfo_get_l1d_caches_count());
+}
+
+TEST(L1D, non_null) {
+	ASSERT_TRUE(cpuinfo_get_l1d_caches());
+}
+
+TEST(L1D, size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(64 * 1024, cpuinfo_get_l1d_cache(i)->size);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(32 * 1024, cpuinfo_get_l1d_cache(i)->size);
+				break;
+		}
+	}
+}
+
+TEST(L1D, associativity) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		switch (i) {
+			case 0:
+			case 1:
+			case 2:
+			case 3:
+				ASSERT_EQ(16, cpuinfo_get_l1d_cache(i)->associativity);
+				break;
+			case 4:
+			case 5:
+			case 6:
+			case 7:
+				ASSERT_EQ(4, cpuinfo_get_l1d_cache(i)->associativity);
+				break;
+		}
+	}
+}
+
+TEST(L1D, sets) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_l1d_cache(i)->size,
+			cpuinfo_get_l1d_cache(i)->sets * cpuinfo_get_l1d_cache(i)->line_size * cpuinfo_get_l1d_cache(i)->partitions * cpuinfo_get_l1d_cache(i)->associativity);
+	}
+}
+
+TEST(L1D, partitions) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		ASSERT_EQ(1, cpuinfo_get_l1d_cache(i)->partitions);
+	}
+}
+
+TEST(L1D, line_size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		ASSERT_EQ(64, cpuinfo_get_l1d_cache(i)->line_size);
+	}
+}
+
+TEST(L1D, flags) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		ASSERT_EQ(0, cpuinfo_get_l1d_cache(i)->flags);
+	}
+}
+
+TEST(L1D, processors) {
+	for (uint32_t i = 0; i < cpuinfo_get_l1d_caches_count(); i++) {
+		ASSERT_EQ(i, cpuinfo_get_l1d_cache(i)->processor_start);
+		ASSERT_EQ(1, cpuinfo_get_l1d_cache(i)->processor_count);
+	}
+}
+
+TEST(L2, count) {
+	ASSERT_EQ(2, cpuinfo_get_l2_caches_count());
+}
+
+TEST(L2, non_null) {
+	ASSERT_TRUE(cpuinfo_get_l2_caches());
+}
+
+TEST(L2, size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		switch (i) {
+			case 0:
+				ASSERT_EQ(2 * 1024 * 1024, cpuinfo_get_l2_cache(i)->size);
+				break;
+			case 1:
+				ASSERT_EQ(1 * 1024 * 1024, cpuinfo_get_l2_cache(i)->size);
+				break;
+		}
+	}
+}
+
+TEST(L2, associativity) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		ASSERT_EQ(16, cpuinfo_get_l2_cache(i)->associativity);
+	}
+}
+
+TEST(L2, sets) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		ASSERT_EQ(cpuinfo_get_l2_cache(i)->size,
+			cpuinfo_get_l2_cache(i)->sets * cpuinfo_get_l2_cache(i)->line_size * cpuinfo_get_l2_cache(i)->partitions * cpuinfo_get_l2_cache(i)->associativity);
+	}
+}
+
+TEST(L2, partitions) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		ASSERT_EQ(1, cpuinfo_get_l2_cache(i)->partitions);
+	}
+}
+
+TEST(L2, line_size) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		ASSERT_EQ(64, cpuinfo_get_l2_cache(i)->line_size);
+	}
+}
+
+TEST(L2, flags) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		switch (i) {
+			case 0:
+				ASSERT_EQ(CPUINFO_CACHE_INCLUSIVE, cpuinfo_get_l2_cache(i)->flags);
+				break;
+			case 1:
+				ASSERT_EQ(0, cpuinfo_get_l2_cache(i)->flags);
+				break;
+		}
+	}
+}
+
+TEST(L2, processors) {
+	for (uint32_t i = 0; i < cpuinfo_get_l2_caches_count(); i++) {
+		switch (i) {
+			case 0:
+				ASSERT_EQ(0, cpuinfo_get_l2_cache(i)->processor_start);
+				ASSERT_EQ(4, cpuinfo_get_l2_cache(i)->processor_count);
+				break;
+			case 1:
+				ASSERT_EQ(4, cpuinfo_get_l2_cache(i)->processor_start);
+				ASSERT_EQ(4, cpuinfo_get_l2_cache(i)->processor_count);
+				break;
+		}
+	}
+}
+
+TEST(L3, none) {
+	ASSERT_EQ(0, cpuinfo_get_l3_caches_count());
+	ASSERT_FALSE(cpuinfo_get_l3_caches());
+}
+
+TEST(L4, none) {
+	ASSERT_EQ(0, cpuinfo_get_l4_caches_count());
+	ASSERT_FALSE(cpuinfo_get_l4_caches());
+}
+
+#include <oneplus-5.h>
+
+int main(int argc, char* argv[]) {
+#if CPUINFO_ARCH_ARM
+	cpuinfo_set_hwcap(UINT32_C(0x0037B0D6));
+	cpuinfo_set_hwcap2(UINT32_C(0x0000001F));
+#elif CPUINFO_ARCH_ARM64
+	cpuinfo_set_hwcap(UINT32_C(0x000000FF));
+#endif
+	cpuinfo_mock_filesystem(filesystem);
+#ifdef __ANDROID__
+	cpuinfo_mock_android_properties(properties);
+	cpuinfo_mock_gl_renderer("Adreno (TM) 540");
+#endif
+	cpuinfo_initialize();
+	::testing::InitGoogleTest(&argc, argv);
+	return RUN_ALL_TESTS();
+}
diff --git a/test/mock/oneplus-5.h b/test/mock/oneplus-5.h
new file mode 100644
index 0000000..735b691
--- /dev/null
+++ b/test/mock/oneplus-5.h
@@ -0,0 +1,4815 @@
+struct cpuinfo_mock_file filesystem[] = {
+	{
+		.path = "/proc/cpuinfo",
+		.size = 1540,
+		.content =
+			"Processor\t: AArch64 Processor rev 4 (aarch64)\n"
+			"processor\t: 0\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x801\n"
+			"CPU revision\t: 4\n"
+			"\n"
+			"processor\t: 1\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x801\n"
+			"CPU revision\t: 4\n"
+			"\n"
+			"processor\t: 2\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x801\n"
+			"CPU revision\t: 4\n"
+			"\n"
+			"processor\t: 3\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x801\n"
+			"CPU revision\t: 4\n"
+			"\n"
+			"processor\t: 4\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x800\n"
+			"CPU revision\t: 1\n"
+			"\n"
+			"processor\t: 5\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x800\n"
+			"CPU revision\t: 1\n"
+			"\n"
+			"processor\t: 6\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x800\n"
+			"CPU revision\t: 1\n"
+			"\n"
+			"processor\t: 7\n"
+			"BogoMIPS\t: 38.40\n"
+			"Features\t: fp asimd evtstrm aes pmull sha1 sha2 crc32\n"
+			"CPU implementer\t: 0x51\n"
+			"CPU architecture: 8\n"
+			"CPU variant\t: 0xa\n"
+			"CPU part\t: 0x800\n"
+			"CPU revision\t: 1\n"
+			"\n"
+			"Hardware\t: Qualcomm Technologies, Inc MSM8998\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/kernel_max",
+		.size = 2,
+		.content = "7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/possible",
+		.size = 4,
+		.content = "0-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/present",
+		.size = 4,
+		.content = "0-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/online",
+		.size = 4,
+		.content = "0-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/offline",
+		.size = 1,
+		.content = "\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/modalias",
+		.size = 66,
+		.content = "cpu:type:aarch64:feature:,0000,0001,0002,0003,0004,0005,0006,0007\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpuidle/current_driver",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpuidle/current_governor_ro",
+		.size = 5,
+		.content = "qcom\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/related_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies",
+		.size = 167,
+		.content = "300000 364800 441600 518400 595200 672000 748800 825600 883200 960000 1036800 1094400 1171200 1248000 1324800 1401600 1478400 1555200 1670400 1747200 1824000 1900800 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state",
+		.size = 253,
+		.content =
+			"300000 0\n"
+			"364800 0\n"
+			"441600 0\n"
+			"518400 18840\n"
+			"595200 204\n"
+			"672000 175\n"
+			"748800 167\n"
+			"825600 159\n"
+			"883200 125\n"
+			"960000 247\n"
+			"1036800 284\n"
+			"1094400 193\n"
+			"1171200 291\n"
+			"1248000 2329\n"
+			"1324800 645\n"
+			"1401600 608\n"
+			"1478400 790\n"
+			"1555200 684\n"
+			"1670400 712\n"
+			"1747200 540\n"
+			"1824000 1847\n"
+			"1900800 9479\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "5077\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/core_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/core_siblings",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/core_siblings_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/physical_package_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/thread_siblings",
+		.size = 3,
+		.content = "01\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/topology/thread_siblings_list",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/number_of_sets",
+		.size = 4,
+		.content = "128\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "01\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "01\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "1024\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/size",
+		.size = 6,
+		.content = "1024K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu0/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/related_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies",
+		.size = 167,
+		.content = "300000 364800 441600 518400 595200 672000 748800 825600 883200 960000 1036800 1094400 1171200 1248000 1324800 1401600 1478400 1555200 1670400 1747200 1824000 1900800 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/stats/time_in_state",
+		.size = 253,
+		.content =
+			"300000 0\n"
+			"364800 0\n"
+			"441600 0\n"
+			"518400 19063\n"
+			"595200 204\n"
+			"672000 175\n"
+			"748800 167\n"
+			"825600 159\n"
+			"883200 125\n"
+			"960000 247\n"
+			"1036800 284\n"
+			"1094400 193\n"
+			"1171200 293\n"
+			"1248000 2347\n"
+			"1324800 645\n"
+			"1401600 608\n"
+			"1478400 790\n"
+			"1555200 684\n"
+			"1670400 712\n"
+			"1747200 540\n"
+			"1824000 1847\n"
+			"1900800 9479\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "5096\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/core_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/core_siblings",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/core_siblings_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/physical_package_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/thread_siblings",
+		.size = 3,
+		.content = "02\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/topology/thread_siblings_list",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/number_of_sets",
+		.size = 4,
+		.content = "128\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "02\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "02\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "1024\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/size",
+		.size = 6,
+		.content = "1024K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu1/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/related_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_available_frequencies",
+		.size = 167,
+		.content = "300000 364800 441600 518400 595200 672000 748800 825600 883200 960000 1036800 1094400 1171200 1248000 1324800 1401600 1478400 1555200 1670400 1747200 1824000 1900800 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/stats/time_in_state",
+		.size = 253,
+		.content =
+			"300000 0\n"
+			"364800 0\n"
+			"441600 0\n"
+			"518400 19286\n"
+			"595200 204\n"
+			"672000 175\n"
+			"748800 167\n"
+			"825600 159\n"
+			"883200 125\n"
+			"960000 247\n"
+			"1036800 284\n"
+			"1094400 193\n"
+			"1171200 293\n"
+			"1248000 2363\n"
+			"1324800 645\n"
+			"1401600 608\n"
+			"1478400 790\n"
+			"1555200 684\n"
+			"1670400 712\n"
+			"1747200 540\n"
+			"1824000 1847\n"
+			"1900800 9479\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "5112\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/core_id",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/core_siblings",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/core_siblings_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/physical_package_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/thread_siblings",
+		.size = 3,
+		.content = "04\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/topology/thread_siblings_list",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/number_of_sets",
+		.size = 4,
+		.content = "128\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "04\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "04\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "1024\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/size",
+		.size = 6,
+		.content = "1024K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu2/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/related_cpus",
+		.size = 8,
+		.content = "0 1 2 3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_frequencies",
+		.size = 167,
+		.content = "300000 364800 441600 518400 595200 672000 748800 825600 883200 960000 1036800 1094400 1171200 1248000 1324800 1401600 1478400 1555200 1670400 1747200 1824000 1900800 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "1900800\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "518400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/stats/time_in_state",
+		.size = 253,
+		.content =
+			"300000 0\n"
+			"364800 0\n"
+			"441600 0\n"
+			"518400 19509\n"
+			"595200 204\n"
+			"672000 177\n"
+			"748800 167\n"
+			"825600 159\n"
+			"883200 125\n"
+			"960000 247\n"
+			"1036800 284\n"
+			"1094400 193\n"
+			"1171200 293\n"
+			"1248000 2384\n"
+			"1324800 645\n"
+			"1401600 610\n"
+			"1478400 790\n"
+			"1555200 684\n"
+			"1670400 712\n"
+			"1747200 540\n"
+			"1824000 1847\n"
+			"1900800 9479\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "5132\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/core_id",
+		.size = 2,
+		.content = "3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/core_siblings",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/core_siblings_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/physical_package_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/thread_siblings",
+		.size = 3,
+		.content = "08\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/topology/thread_siblings_list",
+		.size = 2,
+		.content = "3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/number_of_sets",
+		.size = 4,
+		.content = "128\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "08\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "08\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/size",
+		.size = 4,
+		.content = "32K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "1024\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "0-3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "0f\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/size",
+		.size = 6,
+		.content = "1024K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu3/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "2457600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/related_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies",
+		.size = 239,
+		.content = "300000 345600 422400 499200 576000 652800 729600 806400 902400 979200 1056000 1132800 1190400 1267200 1344000 1420800 1497600 1574400 1651200 1728000 1804800 1881600 1958400 2035200 2112000 2208000 2265600 2323200 2342400 2361600 2457600 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "2361600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state",
+		.size = 332,
+		.content =
+			"300000 0\n"
+			"345600 0\n"
+			"422400 0\n"
+			"499200 0\n"
+			"576000 0\n"
+			"652800 0\n"
+			"729600 0\n"
+			"806400 33474\n"
+			"902400 46\n"
+			"979200 53\n"
+			"1056000 57\n"
+			"1132800 45\n"
+			"1190400 25\n"
+			"1267200 33\n"
+			"1344000 27\n"
+			"1420800 51\n"
+			"1497600 65\n"
+			"1574400 614\n"
+			"1651200 31\n"
+			"1728000 27\n"
+			"1804800 46\n"
+			"1881600 36\n"
+			"1958400 116\n"
+			"2035200 61\n"
+			"2112000 32\n"
+			"2208000 34\n"
+			"2265600 155\n"
+			"2323200 24\n"
+			"2342400 6\n"
+			"2361600 3329\n"
+			"2457600 907\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "1071\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/core_id",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/core_siblings",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/core_siblings_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/physical_package_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/thread_siblings",
+		.size = 3,
+		.content = "10\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/topology/thread_siblings_list",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/number_of_sets",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "10\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "10\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "2048\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/size",
+		.size = 6,
+		.content = "2048K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu4/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "2457600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/related_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_available_frequencies",
+		.size = 239,
+		.content = "300000 345600 422400 499200 576000 652800 729600 806400 902400 979200 1056000 1132800 1190400 1267200 1344000 1420800 1497600 1574400 1651200 1728000 1804800 1881600 1958400 2035200 2112000 2208000 2265600 2323200 2342400 2361600 2457600 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "2361600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/stats/time_in_state",
+		.size = 332,
+		.content =
+			"300000 0\n"
+			"345600 0\n"
+			"422400 0\n"
+			"499200 0\n"
+			"576000 0\n"
+			"652800 0\n"
+			"729600 0\n"
+			"806400 33731\n"
+			"902400 46\n"
+			"979200 53\n"
+			"1056000 57\n"
+			"1132800 45\n"
+			"1190400 25\n"
+			"1267200 33\n"
+			"1344000 27\n"
+			"1420800 51\n"
+			"1497600 65\n"
+			"1574400 614\n"
+			"1651200 31\n"
+			"1728000 27\n"
+			"1804800 46\n"
+			"1881600 36\n"
+			"1958400 116\n"
+			"2035200 61\n"
+			"2112000 32\n"
+			"2208000 34\n"
+			"2265600 155\n"
+			"2323200 24\n"
+			"2342400 6\n"
+			"2361600 3329\n"
+			"2457600 907\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "1071\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/core_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/core_siblings",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/core_siblings_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/physical_package_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/thread_siblings",
+		.size = 3,
+		.content = "20\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/topology/thread_siblings_list",
+		.size = 2,
+		.content = "5\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/number_of_sets",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "5\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "20\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "5\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "20\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "2048\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/size",
+		.size = 6,
+		.content = "2048K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu5/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "2457600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/related_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_available_frequencies",
+		.size = 239,
+		.content = "300000 345600 422400 499200 576000 652800 729600 806400 902400 979200 1056000 1132800 1190400 1267200 1344000 1420800 1497600 1574400 1651200 1728000 1804800 1881600 1958400 2035200 2112000 2208000 2265600 2323200 2342400 2361600 2457600 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "2361600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/stats/time_in_state",
+		.size = 332,
+		.content =
+			"300000 0\n"
+			"345600 0\n"
+			"422400 0\n"
+			"499200 0\n"
+			"576000 0\n"
+			"652800 0\n"
+			"729600 0\n"
+			"806400 33975\n"
+			"902400 46\n"
+			"979200 53\n"
+			"1056000 57\n"
+			"1132800 45\n"
+			"1190400 25\n"
+			"1267200 33\n"
+			"1344000 27\n"
+			"1420800 51\n"
+			"1497600 65\n"
+			"1574400 614\n"
+			"1651200 31\n"
+			"1728000 27\n"
+			"1804800 46\n"
+			"1881600 36\n"
+			"1958400 116\n"
+			"2035200 61\n"
+			"2112000 32\n"
+			"2208000 34\n"
+			"2265600 155\n"
+			"2323200 24\n"
+			"2342400 6\n"
+			"2361600 3329\n"
+			"2457600 907\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "1071\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/core_id",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/core_siblings",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/core_siblings_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/physical_package_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/thread_siblings",
+		.size = 3,
+		.content = "40\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/topology/thread_siblings_list",
+		.size = 2,
+		.content = "6\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/number_of_sets",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "6\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "40\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "6\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "40\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "2048\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/size",
+		.size = 6,
+		.content = "2048K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu6/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpuidle/driver/name",
+		.size = 9,
+		.content = "msm_idle\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/affected_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_max_freq",
+		.size = 8,
+		.content = "2457600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_min_freq",
+		.size = 7,
+		.content = "300000\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_transition_latency",
+		.size = 2,
+		.content = "0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/related_cpus",
+		.size = 8,
+		.content = "4 5 6 7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_available_frequencies",
+		.size = 239,
+		.content = "300000 345600 422400 499200 576000 652800 729600 806400 902400 979200 1056000 1132800 1190400 1267200 1344000 1420800 1497600 1574400 1651200 1728000 1804800 1881600 1958400 2035200 2112000 2208000 2265600 2323200 2342400 2361600 2457600 \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_available_governors",
+		.size = 67,
+		.content = "interactive conservative ondemand userspace powersave performance \n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_driver",
+		.size = 4,
+		.content = "msm\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_governor",
+		.size = 12,
+		.content = "interactive\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
+		.size = 8,
+		.content = "2361600\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq",
+		.size = 7,
+		.content = "806400\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/stats/time_in_state",
+		.size = 332,
+		.content =
+			"300000 0\n"
+			"345600 0\n"
+			"422400 0\n"
+			"499200 0\n"
+			"576000 0\n"
+			"652800 0\n"
+			"729600 0\n"
+			"806400 34225\n"
+			"902400 46\n"
+			"979200 53\n"
+			"1056000 57\n"
+			"1132800 45\n"
+			"1190400 25\n"
+			"1267200 33\n"
+			"1344000 27\n"
+			"1420800 51\n"
+			"1497600 65\n"
+			"1574400 614\n"
+			"1651200 31\n"
+			"1728000 27\n"
+			"1804800 46\n"
+			"1881600 36\n"
+			"1958400 116\n"
+			"2035200 61\n"
+			"2112000 32\n"
+			"2208000 34\n"
+			"2265600 155\n"
+			"2323200 24\n"
+			"2342400 6\n"
+			"2361600 3329\n"
+			"2457600 907\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cpufreq/stats/total_trans",
+		.size = 5,
+		.content = "1071\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/core_id",
+		.size = 2,
+		.content = "3\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/core_siblings",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/core_siblings_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/physical_package_id",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/thread_siblings",
+		.size = 3,
+		.content = "80\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/topology/thread_siblings_list",
+		.size = 2,
+		.content = "7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/number_of_sets",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/shared_cpu_list",
+		.size = 2,
+		.content = "7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/shared_cpu_map",
+		.size = 3,
+		.content = "80\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/type",
+		.size = 5,
+		.content = "Data\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index0/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/allocation_policy",
+		.size = 13,
+		.content = "ReadAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/level",
+		.size = 2,
+		.content = "1\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/number_of_sets",
+		.size = 4,
+		.content = "256\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/shared_cpu_list",
+		.size = 2,
+		.content = "7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/shared_cpu_map",
+		.size = 3,
+		.content = "80\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/size",
+		.size = 4,
+		.content = "64K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/type",
+		.size = 12,
+		.content = "Instruction\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index1/ways_of_associativity",
+		.size = 2,
+		.content = "4\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/allocation_policy",
+		.size = 18,
+		.content = "ReadWriteAllocate\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/coherency_line_size",
+		.size = 3,
+		.content = "64\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/level",
+		.size = 2,
+		.content = "2\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/number_of_sets",
+		.size = 5,
+		.content = "2048\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_list",
+		.size = 4,
+		.content = "4-7\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map",
+		.size = 3,
+		.content = "f0\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/size",
+		.size = 6,
+		.content = "2048K\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/type",
+		.size = 8,
+		.content = "Unified\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/ways_of_associativity",
+		.size = 3,
+		.content = "16\n",
+	},
+	{
+		.path = "/sys/devices/system/cpu/cpu7/cache/index2/write_policy",
+		.size = 10,
+		.content = "WriteBack\n",
+	},
+	{ NULL },
+};
+#ifdef __ANDROID__
+struct cpuinfo_mock_property properties[] = {
+	{
+		.key = "DEVICE_PROVISIONED",
+		.value = "1",
+	},
+	{
+		.key = "af.fast_track_multiplier",
+		.value = "2",
+	},
+	{
+		.key = "audio.cts.media",
+		.value = "false",
+	},
+	{
+		.key = "audio.deep_buffer.media",
+		.value = "true",
+	},
+	{
+		.key = "audio.offload.min.duration.secs",
+		.value = "30",
+	},
+	{
+		.key = "audio.offload.video",
+		.value = "true",
+	},
+	{
+		.key = "bt.max.hfpclient.connections",
+		.value = "1",
+	},
+	{
+		.key = "dalvik.vm.appimageformat",
+		.value = "lz4",
+	},
+	{
+		.key = "dalvik.vm.dex2oat-Xms",
+		.value = "64m",
+	},
+	{
+		.key = "dalvik.vm.dex2oat-Xmx",
+		.value = "512m",
+	},
+	{
+		.key = "dalvik.vm.dexopt.secondary",
+		.value = "true",
+	},
+	{
+		.key = "dalvik.vm.heapgrowthlimit",
+		.value = "256m",
+	},
+	{
+		.key = "dalvik.vm.heapmaxfree",
+		.value = "8m",
+	},
+	{
+		.key = "dalvik.vm.heapminfree",
+		.value = "512k",
+	},
+	{
+		.key = "dalvik.vm.heapsize",
+		.value = "512m",
+	},
+	{
+		.key = "dalvik.vm.heapstartsize",
+		.value = "8m",
+	},
+	{
+		.key = "dalvik.vm.heaptargetutilization",
+		.value = "0.75",
+	},
+	{
+		.key = "dalvik.vm.image-dex2oat-Xms",
+		.value = "64m",
+	},
+	{
+		.key = "dalvik.vm.image-dex2oat-Xmx",
+		.value = "64m",
+	},
+	{
+		.key = "dalvik.vm.isa.arm.features",
+		.value = "default",
+	},
+	{
+		.key = "dalvik.vm.isa.arm.variant",
+		.value = "cortex-a9",
+	},
+	{
+		.key = "dalvik.vm.isa.arm64.features",
+		.value = "default",
+	},
+	{
+		.key = "dalvik.vm.isa.arm64.variant",
+		.value = "generic",
+	},
+	{
+		.key = "dalvik.vm.stack-trace-file",
+		.value = "/data/anr/traces.txt",
+	},
+	{
+		.key = "dalvik.vm.usejit",
+		.value = "true",
+	},
+	{
+		.key = "dalvik.vm.usejitprofiles",
+		.value = "true",
+	},
+	{
+		.key = "debug.atrace.tags.enableflags",
+		.value = "0",
+	},
+	{
+		.key = "debug.force_rtl",
+		.value = "0",
+	},
+	{
+		.key = "debug.gralloc.enable_fb_ubwc",
+		.value = "1",
+	},
+	{
+		.key = "debug.gralloc.gfx_ubwc_disable",
+		.value = "0",
+	},
+	{
+		.key = "debug.sf.dump",
+		.value = "0",
+	},
+	{
+		.key = "debug.sf.dump.enable",
+		.value = "true",
+	},
+	{
+		.key = "debug.sf.dump.external",
+		.value = "true",
+	},
+	{
+		.key = "debug.sf.dump.primary",
+		.value = "true",
+	},
+	{
+		.key = "debug.sf.enable_hwc_vds",
+		.value = "1",
+	},
+	{
+		.key = "debug.sf.hw",
+		.value = "1",
+	},
+	{
+		.key = "debug.sf.latch_unsignaled",
+		.value = "1",
+	},
+	{
+		.key = "dev.bootcomplete",
+		.value = "1",
+	},
+	{
+		.key = "dev.pm.dyn_samplingrate",
+		.value = "1",
+	},
+	{
+		.key = "drm.service.enabled",
+		.value = "true",
+	},
+	{
+		.key = "gsm.current.phone-type",
+		.value = "1,1",
+	},
+	{
+		.key = "gsm.network.type",
+		.value = "Unknown,Unknown",
+	},
+	{
+		.key = "gsm.operator.alpha",
+		.value = "",
+	},
+	{
+		.key = "gsm.operator.iso-country",
+		.value = "",
+	},
+	{
+		.key = "gsm.operator.isroaming",
+		.value = "false,false",
+	},
+	{
+		.key = "gsm.operator.numeric",
+		.value = "",
+	},
+	{
+		.key = "gsm.sim.operator.alpha",
+		.value = ",",
+	},
+	{
+		.key = "gsm.sim.operator.iso-country",
+		.value = ",",
+	},
+	{
+		.key = "gsm.sim.operator.numeric",
+		.value = ",",
+	},
+	{
+		.key = "gsm.sim.state",
+		.value = "ABSENT,ABSENT",
+	},
+	{
+		.key = "gsm.version.baseband",
+		.value = "MPSS.AT.2.0.c4.7-00070-8998_GEN_PACK-2.130961.1.131284.2",
+	},
+	{
+		.key = "gsm.version.baseband1",
+		.value = "MPSS.AT.2.0.c4.7-00070-8998_GEN_PACK-2.130961.1.131284.2",
+	},
+	{
+		.key = "gsm.version.ril-impl",
+		.value = "Qualcomm RIL 1.0",
+	},
+	{
+		.key = "hwservicemanager.ready",
+		.value = "true",
+	},
+	{
+		.key = "init.svc.OPNetlinkService",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.adbd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.adsprpcd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.audio-hal-2-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.audioserver",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.bluetooth-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.bootanim",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.camera-provider-2-4",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.cameraserver",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.cnd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.cnss-daemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.configstore-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.crashdata-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.dashd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.display-color-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.dpmQmiMgr",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.dpmd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.drm",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.drm-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.drm-widevine-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.energy-awareness",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.faceulnative",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.filebuilderd",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.flash_recovery",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.fps_hal",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.gatekeeper-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.gatekeeperd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.gralloc-2-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.health-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.healthd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.hidl_memory",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.hostapd",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.hostapd_dual",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.hvdcp_opti",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.hwcomposer-2-1",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.hwservicemanager",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ifaadaemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.imsdatadaemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.imsqmidaemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.installd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ipacm",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ipacm-diag",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.irsc_util",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.keymaster-3-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.keystore",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.light-hal-2-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.lmkd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.loc_launcher",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.logd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.logd-reinit",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.media",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.mediacodec",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.mediadrm",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.mediaextractor",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.mediametrics",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.memtrack-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.mlid",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.netd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.netmgrd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.oem_audio_device",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.oemlogkit",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.pd_mapper",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.per_mgr",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.per_proxy",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.perf-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.port-bridge",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.power-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ppd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qcom-c_core-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.qcom-c_main-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.qcom-post-boot",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.qcom-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.qcom-usb-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.qdutils_disp-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qseecomd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qteeconnector-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qti",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qti_esepowermanager_service",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qti_gnss_service",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qvop-daemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.qvrd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ril-daemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ril-daemon2",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.rmt_storage",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.self-init",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.sensor-sh",
+		.value = "stopped",
+	},
+	{
+		.key = "init.svc.sensors",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.sensors-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.servicemanager",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.smartadjust",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.storaged",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.surfaceflinger",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.tftp_server",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.thermal-engine",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.thermal-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.time_daemon",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.tombstoned",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.tui_comm-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.ueventd",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.usb-hal-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.vendor.msm_irqbalance",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.vibrator-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.vndservicemanager",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.vold",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.vr-1-0",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.webview_zygote32",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.wifi_hal_legacy",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.wificond",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.wpa_supplicant",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.zygote",
+		.value = "running",
+	},
+	{
+		.key = "init.svc.zygote_secondary",
+		.value = "running",
+	},
+	{
+		.key = "keyguard.no_require_sim",
+		.value = "true",
+	},
+	{
+		.key = "log.tag.BeamManager",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BeamShareActivity",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothHidDev",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothHidHost",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothMap",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothOpp",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothPan",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothPbap",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothPbapVcardManager",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothPeripheralHandover",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothSap",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.BluetoothSocket",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.DockService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.FlpHardwareProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.FlpServiceProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.ForegroundUtils",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.FusedLocationProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GNPProxy",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GeoFenceKeeper",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GeoFenceService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GeofenceManager",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GeofenceServiceProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GmsNetworkLocationProvi",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GnssLocationProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GpsXtraDownloader",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.GpsXtraDownloader-Q",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.HandoverClient",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.HandoverServer",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.Handsfree",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IZatManager",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.InPostcard",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IzatProviderBase",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IzatProviderEngine",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IzatService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IzatServiceBase",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.IzatSettingsInjector",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LBSSystemMonitorService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_ApiV02",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_EngAdapter",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_LBSApiBase",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_LBSApiV02",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_LBSProxy",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_LocUlpProxy",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_NiA",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_NiH",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_afw",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_api_v02",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_eng",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_ext",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_java",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_jni",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_launcher",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocSvc_libulp",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocationManagerService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocationServiceReceiver",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocationSettings",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.LocationSettingsBase",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.MQClient",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NFC",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NetworkLocationProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NetworkLocationService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NfcDispatcher",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NfcHandover",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NlpProxy",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NlpProxyProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.NpProxy",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.OsAgent",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.PosMgr",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.QCALOG",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.RilInfoMonitor",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.SapRilReceiver",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.SettingsInjector",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.SnepClient",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.SnepMessenger",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.SnepServer",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.UlpEngine",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.UlpService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.UnifiedLocationProvider",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.UnifiedLocationService",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.Wiper",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTActivity",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTBroadcastReceiver",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTSettingInjectorSrv",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTSrv",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTWiFiLP",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTWiFiOS",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.XTWiFiZpp",
+		.value = "INFO",
+	},
+	{
+		.key = "log.tag.gpsone_dmn",
+		.value = "INFO",
+	},
+	{
+		.key = "media.aac_51_output_enabled",
+		.value = "true",
+	},
+	{
+		.key = "media.settings.xml",
+		.value = "/vendor/etc/media_profiles_vendor.xml",
+	},
+	{
+		.key = "media.stagefright.enable-aac",
+		.value = "true",
+	},
+	{
+		.key = "media.stagefright.enable-http",
+		.value = "true",
+	},
+	{
+		.key = "media.stagefright.enable-player",
+		.value = "true",
+	},
+	{
+		.key = "media.stagefright.enable-qcp",
+		.value = "true",
+	},
+	{
+		.key = "media.stagefright.enable-scan",
+		.value = "true",
+	},
+	{
+		.key = "mm.enable.qcom_parser",
+		.value = "16760831",
+	},
+	{
+		.key = "mm.enable.smoothstreaming",
+		.value = "true",
+	},
+	{
+		.key = "mmp.enable.3g2",
+		.value = "true",
+	},
+	{
+		.key = "net.bt.name",
+		.value = "Android",
+	},
+	{
+		.key = "net.hostname",
+		.value = "OnePlus_5",
+	},
+	{
+		.key = "net.lte.ims.data.enabled2147483643",
+		.value = "true",
+	},
+	{
+		.key = "net.lte.ims.data.enabled2147483644",
+		.value = "true",
+	},
+	{
+		.key = "net.qtaguid_enabled",
+		.value = "1",
+	},
+	{
+		.key = "net.tcp.2g_init_rwnd",
+		.value = "10",
+	},
+	{
+		.key = "net.tcp.buffersize.default",
+		.value = "4096,87380,524288,4096,16384,110208",
+	},
+	{
+		.key = "net.tcp.buffersize.edge",
+		.value = "4093,26280,35040,4096,16384,35040",
+	},
+	{
+		.key = "net.tcp.buffersize.evdo",
+		.value = "4094,87380,524288,4096,16384,262144",
+	},
+	{
+		.key = "net.tcp.buffersize.gprs",
+		.value = "4092,8760,11680,4096,8760,11680",
+	},
+	{
+		.key = "net.tcp.buffersize.hsdpa",
+		.value = "4094,87380,1220608,4096,16384,1220608",
+	},
+	{
+		.key = "net.tcp.buffersize.hspa",
+		.value = "4094,87380,1220608,4096,16384,1220608",
+	},
+	{
+		.key = "net.tcp.buffersize.hspap",
+		.value = "4094,87380,1220608,4096,16384,1220608",
+	},
+	{
+		.key = "net.tcp.buffersize.hsupa",
+		.value = "4094,87380,1220608,4096,16384,1220608",
+	},
+	{
+		.key = "net.tcp.buffersize.lte",
+		.value = "2097152,4194304,8388608,262144,524288,1048576",
+	},
+	{
+		.key = "net.tcp.buffersize.umts",
+		.value = "4094,87380,110208,4096,16384,110208",
+	},
+	{
+		.key = "net.tcp.buffersize.wifi",
+		.value = "524288,2097152,4194304,262144,524288,1048576",
+	},
+	{
+		.key = "net.tcp.default_init_rwnd",
+		.value = "60",
+	},
+	{
+		.key = "nfc.app_log_level",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_dnld",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_extns",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_global",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_hal",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_nci",
+		.value = "1",
+	},
+	{
+		.key = "nfc.nxp_log_level_tml",
+		.value = "1",
+	},
+	{
+		.key = "nxpWechatDebugEnable",
+		.value = "1",
+	},
+	{
+		.key = "oem.device.imeicache",
+		.value = "864630032745548",
+	},
+	{
+		.key = "oplib.oneplus_sdk_utils",
+		.value = "0.1.2",
+	},
+	{
+		.key = "oplib.oneplus_sdk_wrapper",
+		.value = "0.1.0",
+	},
+	{
+		.key = "persist.backup.ntpServer",
+		.value = "\"0.pool.ntp.org\"",
+	},
+	{
+		.key = "persist.cne.feature",
+		.value = "1",
+	},
+	{
+		.key = "persist.data.df.agg.dl_pkt",
+		.value = "10",
+	},
+	{
+		.key = "persist.data.df.agg.dl_size",
+		.value = "4096",
+	},
+	{
+		.key = "persist.data.df.dev_name",
+		.value = "rmnet_usb0",
+	},
+	{
+		.key = "persist.data.df.dl_mode",
+		.value = "5",
+	},
+	{
+		.key = "persist.data.df.iwlan_mux",
+		.value = "9",
+	},
+	{
+		.key = "persist.data.df.mux_count",
+		.value = "8",
+	},
+	{
+		.key = "persist.data.df.ul_mode",
+		.value = "5",
+	},
+	{
+		.key = "persist.data.iwlan.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.data.mode",
+		.value = "concurrent",
+	},
+	{
+		.key = "persist.data.netmgrd.qos.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.data.wda.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.debug.coresight.config",
+		.value = "none",
+	},
+	{
+		.key = "persist.debug.wfd.enable",
+		.value = "1",
+	},
+	{
+		.key = "persist.demo.hdmirotationlock",
+		.value = "false",
+	},
+	{
+		.key = "persist.dirac.acs.controller",
+		.value = "qem",
+	},
+	{
+		.key = "persist.fuse_sdcard",
+		.value = "true",
+	},
+	{
+		.key = "persist.hwc.enable_vds",
+		.value = "1",
+	},
+	{
+		.key = "persist.mm.enable.prefetch",
+		.value = "true",
+	},
+	{
+		.key = "persist.nfc.smartcard.config",
+		.value = "SIM1,eSE1",
+	},
+	{
+		.key = "persist.oem.dump",
+		.value = "0",
+	},
+	{
+		.key = "persist.qua.op",
+		.value = "1656754",
+	},
+	{
+		.key = "persist.radio.apm_sim_not_pwdn",
+		.value = "1",
+	},
+	{
+		.key = "persist.radio.apns_ver_xml",
+		.value = "8",
+	},
+	{
+		.key = "persist.radio.enhance_ecall",
+		.value = "true",
+	},
+	{
+		.key = "persist.radio.force_on_dc",
+		.value = "true",
+	},
+	{
+		.key = "persist.radio.hw_mbn_update",
+		.value = "0",
+	},
+	{
+		.key = "persist.radio.multisim.config",
+		.value = "dsds",
+	},
+	{
+		.key = "persist.radio.serialno",
+		.value = "edd859e0",
+	},
+	{
+		.key = "persist.radio.start_ota_daemon",
+		.value = "0",
+	},
+	{
+		.key = "persist.radio.sw_mbn_update",
+		.value = "0",
+	},
+	{
+		.key = "persist.rild.nitz_long_ons_0",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_long_ons_1",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_long_ons_2",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_long_ons_3",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_plmn",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_short_ons_0",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_short_ons_1",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_short_ons_2",
+		.value = "",
+	},
+	{
+		.key = "persist.rild.nitz_short_ons_3",
+		.value = "",
+	},
+	{
+		.key = "persist.rmnet.data.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.sys.assert.enable",
+		.value = "false",
+	},
+	{
+		.key = "persist.sys.assert.panic",
+		.value = "false",
+	},
+	{
+		.key = "persist.sys.bootloader",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.cfu_auto",
+		.value = "1",
+	},
+	{
+		.key = "persist.sys.crash",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.dalvik.vm.lib.2",
+		.value = "libart.so",
+	},
+	{
+		.key = "persist.sys.device_first_boot",
+		.value = "0",
+	},
+	{
+		.key = "persist.sys.diag.max.size",
+		.value = "200",
+	},
+	{
+		.key = "persist.sys.embryo.rename",
+		.value = "0",
+	},
+	{
+		.key = "persist.sys.event",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.font",
+		.value = "2",
+	},
+	{
+		.key = "persist.sys.force_sw_gles",
+		.value = "0",
+	},
+	{
+		.key = "persist.sys.idle.soff",
+		.value = "91,2803220",
+	},
+	{
+		.key = "persist.sys.kernel",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.launcher.set",
+		.value = "true",
+	},
+	{
+		.key = "persist.sys.locale",
+		.value = "en-US",
+	},
+	{
+		.key = "persist.sys.main",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.oem.region",
+		.value = "OverSeas",
+	},
+	{
+		.key = "persist.sys.oem_smooth",
+		.value = "1",
+	},
+	{
+		.key = "persist.sys.pre_bootloader",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.preloads.file_cache_expired",
+		.value = "1",
+	},
+	{
+		.key = "persist.sys.profiler_ms",
+		.value = "0",
+	},
+	{
+		.key = "persist.sys.public.type",
+		.value = "daily",
+	},
+	{
+		.key = "persist.sys.qsee",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.qxdm",
+		.value = "no",
+	},
+	{
+		.key = "persist.sys.radio",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.system",
+		.value = "yes",
+	},
+	{
+		.key = "persist.sys.theme_first_launch",
+		.value = "false",
+	},
+	{
+		.key = "persist.sys.theme_version",
+		.value = "OnePlus5Oxygen_23.X.06_GLO_006_1801292021",
+	},
+	{
+		.key = "persist.sys.timezone",
+		.value = "America/New_York",
+	},
+	{
+		.key = "persist.sys.usb.config",
+		.value = "adb",
+	},
+	{
+		.key = "persist.sys.usb.config.extra",
+		.value = "none",
+	},
+	{
+		.key = "persist.sys.usb.ffbm-00.func",
+		.value = "diag",
+	},
+	{
+		.key = "persist.sys.usb.ffbm-01.func",
+		.value = "diag",
+	},
+	{
+		.key = "persist.sys.usb.ffbm-02.func",
+		.value = "diag",
+	},
+	{
+		.key = "persist.sys.version.lastota",
+		.value = "OnePlus5Oxygen_23.O.28_GLO_028_1801031502",
+	},
+	{
+		.key = "persist.sys.version.ota",
+		.value = "OnePlus5Oxygen_23.X.06_GLO_006_1801292021",
+	},
+	{
+		.key = "persist.sys.webview.vmsize",
+		.value = "114785072",
+	},
+	{
+		.key = "persist.sys.wfd.virtual",
+		.value = "0",
+	},
+	{
+		.key = "persist.timed.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.ts.rtmakeup",
+		.value = "false",
+	},
+	{
+		.key = "persist.vendor.audio.aanc.enable",
+		.value = "true",
+	},
+	{
+		.key = "persist.vendor.audio.fluence.speaker",
+		.value = "true",
+	},
+	{
+		.key = "persist.vendor.audio.fluence.voicecall",
+		.value = "true",
+	},
+	{
+		.key = "persist.vendor.audio.fluence.voicerec",
+		.value = "true",
+	},
+	{
+		.key = "persist.vendor.audio.ras.enabled",
+		.value = "false",
+	},
+	{
+		.key = "persist.vendor.bt.a2dp_offload_cap",
+		.value = "false",
+	},
+	{
+		.key = "persist.vendor.bt.enable.splita2dp",
+		.value = "false",
+	},
+	{
+		.key = "persist.vendor.dpm.feature",
+		.value = "11",
+	},
+	{
+		.key = "persist.vendor.dpm.tcm",
+		.value = "2",
+	},
+	{
+		.key = "persist.vendor.radio.adb_log_on",
+		.value = "0",
+	},
+	{
+		.key = "persist.vendor.radio.custom_ecc",
+		.value = "1",
+	},
+	{
+		.key = "persist.vendor.radio.data_con_rprt",
+		.value = "1",
+	},
+	{
+		.key = "persist.vendor.radio.data_ltd_sys_ind",
+		.value = "1",
+	},
+	{
+		.key = "persist.vendor.radio.eons.enabled",
+		.value = "false",
+	},
+	{
+		.key = "persist.vendor.radio.force_on_dc",
+		.value = "true",
+	},
+	{
+		.key = "persist.vendor.radio.ignore_dom_time",
+		.value = "10",
+	},
+	{
+		.key = "persist.vendor.radio.msim.stackid_0",
+		.value = "0",
+	},
+	{
+		.key = "persist.vendor.radio.msim.stackid_1",
+		.value = "1",
+	},
+	{
+		.key = "persist.vendor.radio.rat_on",
+		.value = "combine",
+	},
+	{
+		.key = "persist.vendor.radio.ril_payload_on",
+		.value = "0",
+	},
+	{
+		.key = "persist.vendor.radio.sglte_target",
+		.value = "0",
+	},
+	{
+		.key = "persist.vendor.radio.sib16_support",
+		.value = "1",
+	},
+	{
+		.key = "persist.vendor.radio.stack_id_0",
+		.value = "0",
+	},
+	{
+		.key = "persist.vendor.radio.stack_id_1",
+		.value = "1",
+	},
+	{
+		.key = "pm.dexopt.ab-ota",
+		.value = "speed-profile",
+	},
+	{
+		.key = "pm.dexopt.bg-dexopt",
+		.value = "speed-profile",
+	},
+	{
+		.key = "pm.dexopt.boot",
+		.value = "verify",
+	},
+	{
+		.key = "pm.dexopt.first-boot",
+		.value = "quicken",
+	},
+	{
+		.key = "pm.dexopt.install",
+		.value = "quicken",
+	},
+	{
+		.key = "qcom.bluetooth.soc",
+		.value = "cherokee",
+	},
+	{
+		.key = "ril.ecclist",
+		.value = "911,112,*911,#911,000,08,110,999,118,119",
+	},
+	{
+		.key = "ril.ecclist1",
+		.value = "911,112,*911,#911,000,08,110,999,118,119",
+	},
+	{
+		.key = "ril.qcril_pre_init_lock_held",
+		.value = "0",
+	},
+	{
+		.key = "ril.subscription.types",
+		.value = "NV,RUIM",
+	},
+	{
+		.key = "rild.libpath",
+		.value = "/vendor/lib64/libril-qc-qmi-1.so",
+	},
+	{
+		.key = "ro.adb.secure",
+		.value = "1",
+	},
+	{
+		.key = "ro.allow.mock.location",
+		.value = "0",
+	},
+	{
+		.key = "ro.baseband",
+		.value = "msm",
+	},
+	{
+		.key = "ro.board.platform",
+		.value = "msm8998",
+	},
+	{
+		.key = "ro.boot.angela",
+		.value = "disabled",
+	},
+	{
+		.key = "ro.boot.baseband",
+		.value = "msm",
+	},
+	{
+		.key = "ro.boot.battery.absent",
+		.value = "false",
+	},
+	{
+		.key = "ro.boot.bootdevice",
+		.value = "1da4000.ufshc",
+	},
+	{
+		.key = "ro.boot.console",
+		.value = "ttyMSM0",
+	},
+	{
+		.key = "ro.boot.enable_dm_verity",
+		.value = "1",
+	},
+	{
+		.key = "ro.boot.flash.locked",
+		.value = "1",
+	},
+	{
+		.key = "ro.boot.hardware",
+		.value = "qcom",
+	},
+	{
+		.key = "ro.boot.hw_version",
+		.value = "23",
+	},
+	{
+		.key = "ro.boot.keymaster",
+		.value = "1",
+	},
+	{
+		.key = "ro.boot.mode",
+		.value = "normal",
+	},
+	{
+		.key = "ro.boot.pcba_number",
+		.value = "001685907619032200018894",
+	},
+	{
+		.key = "ro.boot.project_name",
+		.value = "16859",
+	},
+	{
+		.key = "ro.boot.rf_version",
+		.value = "53",
+	},
+	{
+		.key = "ro.boot.rpmb_enable",
+		.value = "true",
+	},
+	{
+		.key = "ro.boot.secboot",
+		.value = "enabled",
+	},
+	{
+		.key = "ro.boot.serialno",
+		.value = "edd859e0",
+	},
+	{
+		.key = "ro.boot.startupmode",
+		.value = "pwrkey",
+	},
+	{
+		.key = "ro.boot.verifiedbootstate",
+		.value = "green",
+	},
+	{
+		.key = "ro.boot.veritymode",
+		.value = "enforcing",
+	},
+	{
+		.key = "ro.bootimage.build.date",
+		.value = "Mon Jan 29 20:17:27 CST 2018",
+	},
+	{
+		.key = "ro.bootimage.build.date.utc",
+		.value = "1517228247",
+	},
+	{
+		.key = "ro.bootimage.build.fingerprint",
+		.value = "OnePlus/OnePlus5/OnePlus5:8.0.0/OPR6.170623.013/01132342:user/release-keys",
+	},
+	{
+		.key = "ro.bootloader",
+		.value = "unknown",
+	},
+	{
+		.key = "ro.bootmode",
+		.value = "normal",
+	},
+	{
+		.key = "ro.build.beta",
+		.value = "1",
+	},
+	{
+		.key = "ro.build.characteristics",
+		.value = "nosdcard",
+	},
+	{
+		.key = "ro.build.date",
+		.value = "Mon Jan 29 20:17:27 CST 2018",
+	},
+	{
+		.key = "ro.build.date.Ymd",
+		.value = "180129",
+	},
+	{
+		.key = "ro.build.date.YmdHM",
+		.value = "201801292021",
+	},
+	{
+		.key = "ro.build.date.utc",
+		.value = "1517228247",
+	},
+	{
+		.key = "ro.build.date.ymd",
+		.value = "180129",
+	},
+	{
+		.key = "ro.build.description",
+		.value = "OnePlus5-user 8.0.0 OPR6.170623.013 74 release-keys",
+	},
+	{
+		.key = "ro.build.display.full_id",
+		.value = "ONEPLUS A5000_23_X.06_180129",
+	},
+	{
+		.key = "ro.build.display.id",
+		.value = "ONEPLUS A5000_23_180129",
+	},
+	{
+		.key = "ro.build.fingerprint",
+		.value = "OnePlus/OnePlus5/OnePlus5:8.0.0/OPR6.170623.013/01132342:user/release-keys",
+	},
+	{
+		.key = "ro.build.flavor",
+		.value = "OnePlus5-user",
+	},
+	{
+		.key = "ro.build.host",
+		.value = "ubuntu-152",
+	},
+	{
+		.key = "ro.build.id",
+		.value = "OPR6.170623.013",
+	},
+	{
+		.key = "ro.build.id.hardware",
+		.value = "ONEPLUS A5000_23_",
+	},
+	{
+		.key = "ro.build.kernel.id",
+		.value = "4.4-G1801292021",
+	},
+	{
+		.key = "ro.build.oemfingerprint",
+		.value = "8.0.0/OPR6.170623.013/01132342:user/release-keys",
+	},
+	{
+		.key = "ro.build.ota.versionname",
+		.value = "OnePlus5Oxygen_23_1801292021",
+	},
+	{
+		.key = "ro.build.product",
+		.value = "OnePlus5",
+	},
+	{
+		.key = "ro.build.release_type",
+		.value = "release",
+	},
+	{
+		.key = "ro.build.shutdown_timeout",
+		.value = "0",
+	},
+	{
+		.key = "ro.build.soft.majorversion",
+		.value = "A",
+	},
+	{
+		.key = "ro.build.soft.version",
+		.value = "X.06",
+	},
+	{
+		.key = "ro.build.tags",
+		.value = "release-keys",
+	},
+	{
+		.key = "ro.build.type",
+		.value = "user",
+	},
+	{
+		.key = "ro.build.user",
+		.value = "OnePlus",
+	},
+	{
+		.key = "ro.build.version.all_codenames",
+		.value = "REL",
+	},
+	{
+		.key = "ro.build.version.base_os",
+		.value = "",
+	},
+	{
+		.key = "ro.build.version.codename",
+		.value = "REL",
+	},
+	{
+		.key = "ro.build.version.incremental",
+		.value = "74",
+	},
+	{
+		.key = "ro.build.version.ota",
+		.value = "OnePlus5Oxygen_23.X.06_GLO_006_1801292021",
+	},
+	{
+		.key = "ro.build.version.preview_sdk",
+		.value = "0",
+	},
+	{
+		.key = "ro.build.version.release",
+		.value = "8.0.0",
+	},
+	{
+		.key = "ro.build.version.sdk",
+		.value = "26",
+	},
+	{
+		.key = "ro.build.version.security_patch",
+		.value = "2017-12-01",
+	},
+	{
+		.key = "ro.carrier",
+		.value = "unknown",
+	},
+	{
+		.key = "ro.com.android.dataroaming",
+		.value = "true",
+	},
+	{
+		.key = "ro.com.google.gmsversion",
+		.value = "8.0_r4",
+	},
+	{
+		.key = "ro.common.soft",
+		.value = "OnePlus5",
+	},
+	{
+		.key = "ro.config.alarm_alert",
+		.value = "spring.ogg",
+	},
+	{
+		.key = "ro.config.mms_notification",
+		.value = "free.ogg",
+	},
+	{
+		.key = "ro.config.notification_sound",
+		.value = "meet.ogg",
+	},
+	{
+		.key = "ro.config.ringtone",
+		.value = "oneplus_tune.ogg",
+	},
+	{
+		.key = "ro.control_privapp_permissions",
+		.value = "log",
+	},
+	{
+		.key = "ro.crypto.state",
+		.value = "encrypted",
+	},
+	{
+		.key = "ro.crypto.type",
+		.value = "file",
+	},
+	{
+		.key = "ro.dalvik.vm.native.bridge",
+		.value = "0",
+	},
+	{
+		.key = "ro.debuggable",
+		.value = "0",
+	},
+	{
+		.key = "ro.device_owner",
+		.value = "false",
+	},
+	{
+		.key = "ro.dirac.acs.storeSettings",
+		.value = "1",
+	},
+	{
+		.key = "ro.dirac.ignore_error",
+		.value = "1",
+	},
+	{
+		.key = "ro.display.series",
+		.value = "OnePlus 5",
+	},
+	{
+		.key = "ro.expect.recovery_id",
+		.value = "0x699e65d267c82251bdc00fc64b13df35db46d074000000000000000000000000",
+	},
+	{
+		.key = "ro.frp.pst",
+		.value = "/dev/block/bootdevice/by-name/config",
+	},
+	{
+		.key = "ro.hardware",
+		.value = "qcom",
+	},
+	{
+		.key = "ro.hardware.nfc_nci",
+		.value = "nqx.default",
+	},
+	{
+		.key = "ro.hwui.drop_shadow_cache_size",
+		.value = "6",
+	},
+	{
+		.key = "ro.hwui.gradient_cache_size",
+		.value = "1",
+	},
+	{
+		.key = "ro.hwui.layer_cache_size",
+		.value = "48",
+	},
+	{
+		.key = "ro.hwui.path_cache_size",
+		.value = "32",
+	},
+	{
+		.key = "ro.hwui.r_buffer_cache_size",
+		.value = "8",
+	},
+	{
+		.key = "ro.hwui.text_large_cache_height",
+		.value = "4096",
+	},
+	{
+		.key = "ro.hwui.text_large_cache_width",
+		.value = "2048",
+	},
+	{
+		.key = "ro.hwui.text_small_cache_height",
+		.value = "1024",
+	},
+	{
+		.key = "ro.hwui.text_small_cache_width",
+		.value = "1024",
+	},
+	{
+		.key = "ro.hwui.texture_cache_flushrate",
+		.value = "0.4",
+	},
+	{
+		.key = "ro.hwui.texture_cache_size",
+		.value = "72",
+	},
+	{
+		.key = "ro.nfc.port",
+		.value = "I2C",
+	},
+	{
+		.key = "ro.oem_unlock_supported",
+		.value = "true",
+	},
+	{
+		.key = "ro.oxygen.version",
+		.value = "OP5_O2_Open_5",
+	},
+	{
+		.key = "ro.product.board",
+		.value = "msm8998",
+	},
+	{
+		.key = "ro.product.brand",
+		.value = "OnePlus",
+	},
+	{
+		.key = "ro.product.cpu.abi",
+		.value = "arm64-v8a",
+	},
+	{
+		.key = "ro.product.cpu.abilist",
+		.value = "arm64-v8a,armeabi-v7a,armeabi",
+	},
+	{
+		.key = "ro.product.cpu.abilist32",
+		.value = "armeabi-v7a,armeabi",
+	},
+	{
+		.key = "ro.product.cpu.abilist64",
+		.value = "arm64-v8a",
+	},
+	{
+		.key = "ro.product.device",
+		.value = "OnePlus5",
+	},
+	{
+		.key = "ro.product.first_api_level",
+		.value = "23",
+	},
+	{
+		.key = "ro.product.locale",
+		.value = "en-US",
+	},
+	{
+		.key = "ro.product.manufacturer",
+		.value = "OnePlus",
+	},
+	{
+		.key = "ro.product.model",
+		.value = "ONEPLUS A5000",
+	},
+	{
+		.key = "ro.product.name",
+		.value = "OnePlus5",
+	},
+	{
+		.key = "ro.property_service.version",
+		.value = "2",
+	},
+	{
+		.key = "ro.qualcomm.cabl",
+		.value = "0",
+	},
+	{
+		.key = "ro.remount.time",
+		.value = "0",
+	},
+	{
+		.key = "ro.revision",
+		.value = "0",
+	},
+	{
+		.key = "ro.rf_version",
+		.value = "TDD_FDD_All",
+	},
+	{
+		.key = "ro.ril.supportLTE",
+		.value = "1",
+	},
+	{
+		.key = "ro.secure",
+		.value = "1",
+	},
+	{
+		.key = "ro.serialno",
+		.value = "edd859e0",
+	},
+	{
+		.key = "ro.setupwizard.mode",
+		.value = "OPTIONAL",
+	},
+	{
+		.key = "ro.sf.lcd_density",
+		.value = "420",
+	},
+	{
+		.key = "ro.sys.sdcardfs",
+		.value = "true",
+	},
+	{
+		.key = "ro.telephony.call_ring.multiple",
+		.value = "false",
+	},
+	{
+		.key = "ro.telephony.default_network",
+		.value = "22,20",
+	},
+	{
+		.key = "ro.treble.enabled",
+		.value = "false",
+	},
+	{
+		.key = "ro.use_data_netmgrd",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.at_library",
+		.value = "libqti-at.so",
+	},
+	{
+		.key = "ro.vendor.audio.sdk.fluencetype",
+		.value = "fluencepro",
+	},
+	{
+		.key = "ro.vendor.audio.sdk.ssr",
+		.value = "false",
+	},
+	{
+		.key = "ro.vendor.extension_library",
+		.value = "libqti-perfd-client.so",
+	},
+	{
+		.key = "ro.vendor.gt_library",
+		.value = "libqti-gt.so",
+	},
+	{
+		.key = "ro.vendor.qti.core_ctl_max_cpu",
+		.value = "4",
+	},
+	{
+		.key = "ro.vendor.qti.core_ctl_min_cpu",
+		.value = "2",
+	},
+	{
+		.key = "ro.vendor.qti.sys.fw.bg_apps_limit",
+		.value = "32",
+	},
+	{
+		.key = "ro.vendor.qti.sys.fw.bservice_age",
+		.value = "5000",
+	},
+	{
+		.key = "ro.vendor.qti.sys.fw.bservice_enable",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.qti.sys.fw.bservice_limit",
+		.value = "5",
+	},
+	{
+		.key = "ro.vendor.ril.svdo",
+		.value = "false",
+	},
+	{
+		.key = "ro.vendor.ril.svlte1x",
+		.value = "false",
+	},
+	{
+		.key = "ro.vendor.sensors.dev_ori",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.sensors.dpc",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.sensors.mot_detect",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.sensors.multishake",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.sensors.pmd",
+		.value = "true",
+	},
+	{
+		.key = "ro.vendor.sensors.sta_detect",
+		.value = "true",
+	},
+	{
+		.key = "ro.wifi.channels",
+		.value = "",
+	},
+	{
+		.key = "ro.xxversion",
+		.value = "v0.5",
+	},
+	{
+		.key = "ro.zygote",
+		.value = "zygote64_32",
+	},
+	{
+		.key = "sched.colocate.enable",
+		.value = "1",
+	},
+	{
+		.key = "sdm.debug.disable_skip_validate",
+		.value = "1",
+	},
+	{
+		.key = "sdm.perf_hint_window",
+		.value = "0",
+	},
+	{
+		.key = "security.perf_harden",
+		.value = "1",
+	},
+	{
+		.key = "selinux.restorecon_recursive",
+		.value = "/data/misc_ce/0",
+	},
+	{
+		.key = "service.bootanim.exit",
+		.value = "1",
+	},
+	{
+		.key = "service.sf.present_timestamp",
+		.value = "1",
+	},
+	{
+		.key = "sys.automode",
+		.value = "0",
+	},
+	{
+		.key = "sys.boot_completed",
+		.value = "1",
+	},
+	{
+		.key = "sys.cgroup.active",
+		.value = "0",
+	},
+	{
+		.key = "sys.cgroup.version",
+		.value = "v15112601",
+	},
+	{
+		.key = "sys.dci3p",
+		.value = "1",
+	},
+	{
+		.key = "sys.games.gt.prof",
+		.value = "1",
+	},
+	{
+		.key = "sys.listeners.registered",
+		.value = "true",
+	},
+	{
+		.key = "sys.logbootcomplete",
+		.value = "1",
+	},
+	{
+		.key = "sys.oem_unlock_allowed",
+		.value = "0",
+	},
+	{
+		.key = "sys.post_boot.parsed",
+		.value = "1",
+	},
+	{
+		.key = "sys.radio.mcc",
+		.value = "310",
+	},
+	{
+		.key = "sys.rescue_boot_count",
+		.value = "1",
+	},
+	{
+		.key = "sys.sysctl.extra_free_kbytes",
+		.value = "24300",
+	},
+	{
+		.key = "sys.sysctl.tcp_def_init_rwnd",
+		.value = "60",
+	},
+	{
+		.key = "sys.usb.config",
+		.value = "adb",
+	},
+	{
+		.key = "sys.usb.ffs.ready",
+		.value = "1",
+	},
+	{
+		.key = "sys.usb.rmnet.func.name",
+		.value = "gsi",
+	},
+	{
+		.key = "sys.usb.rndis.func.name",
+		.value = "gsi",
+	},
+	{
+		.key = "sys.usb.rps_mask",
+		.value = "0",
+	},
+	{
+		.key = "sys.usb.state",
+		.value = "adb",
+	},
+	{
+		.key = "sys.vendor.shutdown.waittime",
+		.value = "500",
+	},
+	{
+		.key = "sys.wifitracing.started",
+		.value = "1",
+	},
+	{
+		.key = "telephony.lteOnCdmaDevice",
+		.value = "1,1",
+	},
+	{
+		.key = "vendor.audio.dolby.ds2.enabled",
+		.value = "false",
+	},
+	{
+		.key = "vendor.audio.dolby.ds2.hardbypass",
+		.value = "false",
+	},
+	{
+		.key = "vendor.audio.flac.sw.decoder.24bit",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.hw.aac.encoder",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.noisy.broadcast.delay",
+		.value = "600",
+	},
+	{
+		.key = "vendor.audio.offload.buffer.size.kb",
+		.value = "32",
+	},
+	{
+		.key = "vendor.audio.offload.gapless.enabled",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.offload.multiaac.enable",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.offload.multiple.enabled",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.offload.passthrough",
+		.value = "false",
+	},
+	{
+		.key = "vendor.audio.offload.track.enable",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.parser.ip.buffer.size",
+		.value = "0",
+	},
+	{
+		.key = "vendor.audio.safx.pbe.enabled",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.tunnel.encode",
+		.value = "false",
+	},
+	{
+		.key = "vendor.audio.use.sw.alac.decoder",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio.use.sw.ape.decoder",
+		.value = "true",
+	},
+	{
+		.key = "vendor.audio_hal.period_size",
+		.value = "192",
+	},
+	{
+		.key = "vendor.camera.aux.packagelist",
+		.value = "org.codeaurora.snapcam,com.oneplus.camera,com.oneplus.factorymode",
+	},
+	{
+		.key = "vendor.display.enable_default_color_mode",
+		.value = "0",
+	},
+	{
+		.key = "vendor.fm.a2dp.conc.disabled",
+		.value = "true",
+	},
+	{
+		.key = "vendor.voice.path.for.pcm.voip",
+		.value = "true",
+	},
+	{
+		.key = "vidc.enc.dcvs.extra-buff-count",
+		.value = "2",
+	},
+	{
+		.key = "vold.datafs.type",
+		.value = "EXT4",
+	},
+	{
+		.key = "vold.emulated.ready",
+		.value = "1",
+	},
+	{
+		.key = "vold.fbe.decrypted",
+		.value = "1",
+	},
+	{
+		.key = "vold.has_adoptable",
+		.value = "0",
+	},
+	{
+		.key = "vold.internalSD.mount",
+		.value = "1",
+	},
+	{
+		.key = "vold.internalSD.startcopy",
+		.value = "1",
+	},
+	{
+		.key = "vold.post_fs_data_done",
+		.value = "1",
+	},
+	{
+		.key = "wifi.interface",
+		.value = "wlan0",
+	},
+	{ NULL },
+};
+#endif /* __ANDROID__ */