aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bpf/testutils.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/bpf/testutils.inc')
-rw-r--r--sim/testsuite/bpf/testutils.inc38
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