GUEST_PRINTF
GUEST_PRINTF("ICC_SRE_EL1 write not trapping (OK)\n");
GUEST_PRINTF("ICC_SRE_EL1 read not trapping (OK)\n");
GUEST_PRINTF("Handling Guest SEA\n");
GUEST_PRINTF("ESR_EL1=%#lx, FAR_EL1=%#lx\n", esr, far);
GUEST_PRINTF("Guest observed garbage value in FAR\n");
GUEST_PRINTF("%s", test_str);
GUEST_PRINTF(PRINTF_FMT_##ext, vals.a, vals.b); \
GUEST_PRINTF("assert csr_perfcntr3 > 0 && csr_perfcntr3 < UPPER_BOUND\n");
GUEST_PRINTF("Get PMU interrupt\n");
GUEST_PRINTF("csr_perfcntr0 is %lx\n", cnt);
GUEST_PRINTF("PMU interrupt test success\n");
GUEST_PRINTF("CPUCFG6 = 0x%x\n", cfg6);
GUEST_PRINTF("PMP enabled: %s\n", (cfg6 & 0x1) ? "YES" : "NO");
GUEST_PRINTF("Number of counters (PMNUM): %x\n", pmnum + 1);
GUEST_PRINTF("Clean csr_perfcntr0-3\n");
GUEST_PRINTF("Set csr_perfctrl0 for cycles event\n");
GUEST_PRINTF("Set csr_perfctrl1 for instr_retired event\n");
GUEST_PRINTF("Set csr_perfctrl2 for branch_instructions event\n");
GUEST_PRINTF("Set csr_perfctrl3 for branch_misses event\n");
GUEST_PRINTF("csr_perfcntr0 is %lx\n", cnt[0]);
GUEST_PRINTF("csr_perfcntr1 is %lx\n", cnt[1]);
GUEST_PRINTF("csr_perfcntr2 is %lx\n", cnt[2]);
GUEST_PRINTF("csr_perfcntr3 is %lx\n", cnt[3]);
GUEST_PRINTF("assert csr_perfcntr0 >EXPECTED_CYCLES_MIN && csr_perfcntr0 < UPPER_BOUND\n");
GUEST_PRINTF("assert csr_perfcntr1 > EXPECTED_INSTR_MIN && csr_perfcntr1 < UPPER_BOUND\n");
GUEST_PRINTF("assert csr_perfcntr2 > 0 && csr_perfcntr2 < UPPER_BOUND\n");