aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMarat Dukhan <marat@fb.com>2018-05-13 14:24:05 -0700
committerMarat Dukhan <marat@fb.com>2018-05-13 14:24:05 -0700
commit702f89c9dc7512dfb44f28d7f552787c56745eb0 (patch)
tree7b035ffa56bda0ac3d81ccd8e9dc32407d5d8d2d /test
parente111dee25c18ba632f5a2fe1a2e1f1a60842713b (diff)
downloadcpuinfo-702f89c9dc7512dfb44f28d7f552787c56745eb0.tar.gz
Unit test for cache on MediaTek MT8173/MT8173C
Diffstat (limited to 'test')
-rw-r--r--test/arm-cache.cc75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/arm-cache.cc b/test/arm-cache.cc
index 4be8816..3789a34 100644
--- a/test/arm-cache.cc
+++ b/test/arm-cache.cc
@@ -925,6 +925,81 @@ TEST(SAMSUNG, exynos_9810) {
EXPECT_EQ(0, little_l3.size);
}
+TEST(MEDIATEK, mediatek_mt8173) {
+ const struct cpuinfo_arm_chipset chipset = {
+ .vendor = cpuinfo_arm_chipset_vendor_mediatek,
+ .series = cpuinfo_arm_chipset_series_mediatek_mt,
+ .model = 8173,
+ };
+
+ struct cpuinfo_cache big_l1i = { 0 };
+ struct cpuinfo_cache big_l1d = { 0 };
+ struct cpuinfo_cache big_l2 = { 0 };
+ struct cpuinfo_cache big_l3 = { 0 };
+ cpuinfo_arm_decode_cache(
+ cpuinfo_uarch_cortex_a72, 2, UINT32_C(0x410FD080),
+ &chipset, 0, 4,
+ &big_l1i, &big_l1d, &big_l2, &big_l3);
+
+ struct cpuinfo_cache little_l1i = { 0 };
+ struct cpuinfo_cache little_l1d = { 0 };
+ struct cpuinfo_cache little_l2 = { 0 };
+ struct cpuinfo_cache little_l3 = { 0 };
+ cpuinfo_arm_decode_cache(
+ cpuinfo_uarch_cortex_a53, 2, UINT32_C(0x410FD032),
+ &chipset, 1, 4,
+ &little_l1i, &little_l1d, &little_l2, &little_l3);
+
+ EXPECT_EQ(48 * 1024, big_l1i.size);
+ EXPECT_EQ(32 * 1024, big_l1d.size);
+ EXPECT_EQ(1024 * 1024, big_l2.size);
+ EXPECT_EQ(0, big_l3.size);
+
+ EXPECT_EQ(32 * 1024, little_l1i.size);
+ EXPECT_EQ(32 * 1024, little_l1d.size);
+ EXPECT_EQ(512 * 1024, little_l2.size);
+ EXPECT_EQ(0, little_l3.size);
+}
+
+TEST(MEDIATEK, mediatek_mt8173c) {
+ const struct cpuinfo_arm_chipset chipset = {
+ .vendor = cpuinfo_arm_chipset_vendor_mediatek,
+ .series = cpuinfo_arm_chipset_series_mediatek_mt,
+ .model = 8173,
+ .suffix = {
+ [0] = 'C',
+ },
+ };
+
+ struct cpuinfo_cache big_l1i = { 0 };
+ struct cpuinfo_cache big_l1d = { 0 };
+ struct cpuinfo_cache big_l2 = { 0 };
+ struct cpuinfo_cache big_l3 = { 0 };
+ cpuinfo_arm_decode_cache(
+ cpuinfo_uarch_cortex_a72, 2, UINT32_C(0x410FD080),
+ &chipset, 0, 4,
+ &big_l1i, &big_l1d, &big_l2, &big_l3);
+
+ struct cpuinfo_cache little_l1i = { 0 };
+ struct cpuinfo_cache little_l1d = { 0 };
+ struct cpuinfo_cache little_l2 = { 0 };
+ struct cpuinfo_cache little_l3 = { 0 };
+ cpuinfo_arm_decode_cache(
+ cpuinfo_uarch_cortex_a53, 2, UINT32_C(0x410FD032),
+ &chipset, 1, 4,
+ &little_l1i, &little_l1d, &little_l2, &little_l3);
+
+ EXPECT_EQ(48 * 1024, big_l1i.size);
+ EXPECT_EQ(32 * 1024, big_l1d.size);
+ EXPECT_EQ(1024 * 1024, big_l2.size);
+ EXPECT_EQ(0, big_l3.size);
+
+ EXPECT_EQ(32 * 1024, little_l1i.size);
+ EXPECT_EQ(32 * 1024, little_l1d.size);
+ EXPECT_EQ(512 * 1024, little_l2.size);
+ EXPECT_EQ(0, little_l3.size);
+}
+
TEST(HISILICON, kirin_650) {
const struct cpuinfo_arm_chipset chipset = {
.vendor = cpuinfo_arm_chipset_vendor_hisilicon,