diff options
Diffstat (limited to 'sim/testsuite/bpf/testutils.inc')
-rw-r--r-- | sim/testsuite/bpf/testutils.inc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sim/testsuite/bpf/testutils.inc b/sim/testsuite/bpf/testutils.inc new file mode 100644 index 0000000..d3d6b17 --- /dev/null +++ b/sim/testsuite/bpf/testutils.inc @@ -0,0 +1,38 @@ + + ;; Print "pass\n" and 'exit 0' + .macro pass + .data +mpass: + .string "pass\n" + .text +_pass: + mov %r1, mpass ; point to "pass\n" string + mov %r2, 5 ; strlen mpass + call 7 ; printk + mov %r0, 0 ; + exit ; exit 0 + .endm + +;;; MACRO fail +;;; Exit with status 1 + .macro fail + mov %r0, 1 + exit + .endm + +;;; MACRO fail_ne32 +;;; Exit with status 1 if \reg32 != \val + .macro fail_ne32 reg val + jeq32 \reg, \val, 2 + mov %r0, 1 + exit + .endm + +;;; MACRO fail_ne +;;; Exit with status1 if \reg ne \val + .macro fail_ne reg val + lddw %r0, \val + jeq \reg, %r0, 2 + mov %r0, 1 + exit + .endm |