Tweak perf_counters tests to fit in TCM
Change-Id: I8c9103a7ad2db5716e3d933acd0a597939157e71
diff --git a/tests/kelvin_isa/BUILD b/tests/kelvin_isa/BUILD
index dabb7d2..def4d11 100644
--- a/tests/kelvin_isa/BUILD
+++ b/tests/kelvin_isa/BUILD
@@ -33,7 +33,10 @@
deps = [
":kelvin_test",
],
- tags = ["tcm-incompatible"],
+ copts = select({
+ "//:link_tcm_config": ["-DLINK_TCM"],
+ "//conditions:default": [],
+ }),
)
kelvin_test(
diff --git a/tests/kelvin_isa/perf_counters.cc b/tests/kelvin_isa/perf_counters.cc
index 5c79d92..a42a2c3 100644
--- a/tests/kelvin_isa/perf_counters.cc
+++ b/tests/kelvin_isa/perf_counters.cc
@@ -66,11 +66,15 @@
cycle_hi = cycle >> 32;
cycle2_hi = cycle2 >> 32;
if (cycle2_hi == cycle_hi) {
+#if !defined(LINK_TCM)
printf("mcycleh did not increment\r\n");
+#endif
exit(-1);
}
if (cycle2_lo > cycle_lo) {
+#if !defined(LINK_TCM)
printf("mcycle did not wrap\r\n");
+#endif
exit(-1);
}
@@ -90,11 +94,15 @@
instret_hi = instret >> 32;
instret2_hi = instret2 >> 32;
if (instret2_hi == instret_hi) {
+#if !defined(LINK_TCM)
printf("minstreth did not increment\r\n");
+#endif
exit(-1);
}
if (instret2_lo > instret_lo) {
+#if !defined(LINK_TCM)
printf("minstret did not wrap\r\n");
+#endif
exit(-1);
}