ASSERT_OK(ret, "ret");
ASSERT_OK(opts.retval, "retval");
-#if !defined(__x86_64__)
+#if !defined(__x86_64__) && !defined(__s390x__)
ASSERT_TRUE(1, "Timed may_goto unsupported, skip.");
if (i == 0) {
ret = bpf_prog_stream_read(prog_fd, 2, buf, sizeof(buf), &ropts);
SEC("raw_tp")
__description("may_goto 0")
__arch_x86_64
+__arch_s390x
__xlated("0: r0 = 1")
__xlated("1: exit")
__success
SEC("raw_tp")
__description("batch 2 of may_goto 0")
__arch_x86_64
+__arch_s390x
__xlated("0: r0 = 1")
__xlated("1: exit")
__success
SEC("raw_tp")
__description("may_goto batch with offsets 2/1/0")
__arch_x86_64
+__arch_s390x
__xlated("0: r0 = 1")
__xlated("1: exit")
__success
}
SEC("raw_tp")
-__description("may_goto batch with offsets 2/0 - x86_64")
+__description("may_goto batch with offsets 2/0 - x86_64 and s390x")
__arch_x86_64
+__arch_s390x
__xlated("0: *(u64 *)(r10 -16) = 65535")
__xlated("1: *(u64 *)(r10 -8) = 0")
__xlated("2: r11 = *(u64 *)(r10 -16)")
__xlated("10: r0 = 2")
__xlated("11: exit")
__success
-__naked void may_goto_batch_2_x86_64(void)
+__naked void may_goto_batch_2_x86_64_s390x(void)
{
asm volatile (
".8byte %[may_goto1];"